Package Cl-Graph - external symbols

Part of:

asdf-system cl-graph
See internal symbols too

CL-Graph is a Common Lisp library for manipulating graphs and running graph algorithms.

Package Cl-Graph uses the packages Common-Lisp, Metabang.Cl-Containers and Metabang.Utilities. It is also known as Metabang.Graph. It has 386 total symbols and 154 external ones.

Variable

*dot-graph-attributes*

Function

get-transitive-closure

Given a list of vertices, returns a combined list of all of the nodes
in the transitive closure(s...

map-paths

Apply fn to each path that starts at start-vertex and is of exactly length
length

map-shortest-paths

Apply fn to each shortest path starting at start-vertex of depth depth. The filter predicat...

print-dot-key-value

Generic-Function

add-edge

Add-edge adds an existing edge to a graph. As
add-edge-between-vertexes is generally more natur...

add-edge-between-vertexes

Adds an edge between two vertexes and returns it.
If force-new? is true, the edge is added even i...

add-vertex

Adds a vertex to a graph. If called with a vertex,
then this vertex is added. If called with a ...

adjacentp

Return true if vertex-1 and vertex-2 are connected
by an edge. [?? compare with vertices-share-...

any-undirected-cycle-p

Returns true if there are any undirected cycles in graph.

child-vertexes

Returns a list of the vertexes to which vertex is
connected by an edge and for which vertex i...

connected-component-count

Returns the number of connected-components of
graph.

connected-components

Returns a union-find-container representing the
connected-components of graph.

connected-graph-p

Returns true if graph is a connected graph and nil otherwise.

delete-all-edges

Delete all edges from `graph'. Returns the graph..

delete-edge

Delete the edge' from the graph' and returns it.

delete-edge-between-vertexes

Finds an edge in the graph between the two
specified vertexes. If values (i.e., non-vertexes) a...

delete-vertex

Remove a vertex from a graph. The 'vertex-or-value'
argument can be a vertex of the graph or a 'v...

depth

Returns the maximum depth of the vertexes in graph
assuming that the roots are of depth 0 and t...

dfs
dfs-back-edge-p
dfs-edge-type
dfs-tree-edge-p
directed-edge-p

Returns true if-and-only-if edge is directed

dot-attribute-value
edge->dot

Used by graph->dot to output edge formatting for
edge onto the stream. The function can ass...

edge-count

Returns the number of edges attached to
vertex. Compare with the more flexible `vertex-degree...

edge-lessp-by-direction

Returns true if and only if edge-1 is undirected and edge-2 is directed.

edge-lessp-by-weight

Returns true if the weight of edge-1 is strictly less than the weight of edge-2.

edges

Returns a list of the edges of thing.

find-connected-components

Returns a list of sub-graphs of graph where each
sub-graph is a different connected component...

find-edge

Search graph for an edge whose vertexes match
edge. This means that vertex-1 of the edge ...

find-edge-between-vertexes

Searches graph for an edge that connects vertex-1
and vertex-2. [?? Ignores error-if-not-fou...

find-edge-between-vertexes-if

Finds and returns an edge between value-or-vertex-1
and value-or-vertex-2 if one exists. Unless...

find-edge-if

Returns the first edge in thing for which the
predicate function returns non-nil. If the `k...

find-edges-if

Returns a list of edges in thing for which the
predicate returns non-nil. [?? why no key fu...

find-vertex

Search 'graph' for a vertex with element
'value'. The search is fast but inflexible because it ...

find-vertex-if

Returns the first vertex in thing for which the
predicate function returns non-nil. If the ...

find-vertexes-if

Returns a list of vertexes in thing for which the predicate returns non-nil. [?? why no key f...

force-undirected

Ensures that the graph is undirected (possibly by
calling change-class on the edges).

generate-directed-free-tree

Returns a version of graph which is a directed free
tree rooted at root.

graph->dot

Generates a description of graph in DOT file format. The
formatting can be altered using `gr...

graph->dot-external
graph->dot-properties

Unless a different graph-formatter is specified,
this method is called by graph->dot to output ...

graph-roots

Returns a list of the roots of graph. A root is
defined as a vertex with no source edges (i.e.,...

has-children-p

In a directed graph, returns true if vertex has any
edges that point from vertex to some other
...

has-parent-p

In a directed graph, returns true if vertex has any
edges that point from some other vertex to ...

height-in-pixels
in-cycle-p

Returns true if start-vertex is in some cycle in
graph. This uses child-vertexes to generat...

in-undirected-cycle-p

Return true if-and-only-if an undirected cycle in
graph is reachable from start-vertex.

iterate-edges

Calls fn on each edge of graph or vertex.

iterate-neighbors

Calls fn on every vertex adjecent to vertex See
also iterate-children and iterate-parents.

iterate-parents

Calls fn on every vertex that is either connected
to vertex by an undirected edge or is at the ...

iterate-source-edges

In a directed graph, calls fn on each edge of a
vertex that begins at vertex. In an undirecte...

iterate-target-edges

In a directed graph, calls fn on each edge of a
vertex that ends at vertex. In an undirected ...

iterate-vertexes

Calls fn on each of the vertexes of thing.

make-filtered-graph

Takes a GRAPH and a TEST-FN (a single argument
function returning NIL or non-NIL), and filters th...

make-graph

Create a new graph of type `graph-type'. Graph type
can be a symbol naming a sub-class of basic-g...

make-graph-from-vertexes

Create a new graph given a list of vertexes (which
are assumed to be from the same graph). The ...

make-vertex-edges-container

Called during the initialization of a vertex to
create the create the container used to store t...

make-vertex-for-graph

Creates a new vertex for graph graph. The keyword
arguments include:

* vertex-class : specif...

minimum-spanning-tree

Returns a minimum spanning tree of graph if one exists and nil otherwise.

neighbor-vertexes

Returns a list of the vertexes to which vertex is
connected by an edge disregarding edge dire...

number-of-neighbors

Returns the number of neighbors of
vertex (cf. neighbor-vertexes). [?? could be a defun]

other-vertex

Assuming that the value-or-vertex corresponds to
one of the vertexes for edge, this method re...

out-edge-for-vertex-p

Returns true if the edge is connected to vertex and
is either an undirected edge or a directed ...

parent-vertexes

Returns a list of the vertexes to which vertex is
connected by an edge and for which vertex...

project-bipartite-graph

Creates the unimodal bipartite projects of
existing-graph with vertexes for each vertex of existi...

renumber-edges

Assign a number to each edge in a graph in some
unspecified order. [?? internal]

renumber-vertexes

Assign a number to each vertex in a graph in some
unspecified order. [?? internal]

replace-vertex

Replace vertex old in graph graph with vertex
new. The edge structure of the graph is mai...

rootp

Returns true if vertex is a root vertex (i.e.,
it has no incoming (source) edges).

search-for-vertex

Search 'graph' for a vertex with element
'value'. The 'key' function is applied to each element...

source-edge-count

Returns the number of source edges of
vertex (cf. source-edges). [?? could be a defun]

source-edges

Returns a list of the source edges of
vertex. I.e., the edges that begin at vertex.

source-vertex

Returns the source-vertex of a directed
edge. Compare with vertex-1.

subgraph-containing

Returns a new graph that is a subset of graph
that contains vertex and all of the other verte...

tag-all-edges

Sets the tag of all the edges of thing to
true. [?? why does this exist?]

tagged-edge-p

Returns true if-and-only-if edge's tag slot is t

target-edge-count

Returns the number of target edges of
vertex (cf. target-edges). [?? could be a defun]

target-edges

Returns a list of the target edges of vertex.
I.e., the edges that end at vertex.

target-vertex

Returns the target-vertex of a directed
edge. Compare with vertex-2.

topological-sort

Returns a list of vertexes sorted by the depth from
the roots of the graph. See also assign-lev...

undirected-edge-p

Returns true if-and-only-if edge is undirected

untag-all-edges

Sets the tag of all the edges of thing to nil.
[?? why does this exist?]

untagged-edge-p

Returns true if-and-only-if edge's tage slot is nil

vertex->dot

Unless a different vertex-formatter is specified
with a keyword argument, this is used by graph...

vertex-count

Returns the number of vertexes in graph. [??
could be a defun]

vertexes

Returns a list of the vertexes of thing.

vertices-share-edge-p

Return true if vertex-1 and vertex-2 are connected
by an edge. [?? Compare adjacentp]

width-in-pixels

Macro

with-changing-vertex

This is used to maintain consistency when changing the value of vertex elements while iterating o...