A graph container is essentially an adjacency list graph representation [?? The Bad name comes from it being implemented with containers... ugh]
:vertex-class → # | :directed-edge-class → # |
---|---|
:undirected-edge-class → # | :initial-size → # |
basic-graph | This is the root class for all graphs in CL-Graph. |
---|---|
container-uses-nodes-mixin | |
initial-contents-mixin | |
iteratable-container-mixin | |
non-associative-container-mixin | A non associative container should implement at least empty-p, |
dot-graph |
---|
contains-directed-edge-p | Returns true if graph contains at least one directed edge. [?? Not sure if this is really keep up-to-date.] Accessors:contains-directed-edge-p. |
---|---|
contains-undirected-edge-p | Returns true if graph contains at least one undirected edge. [?? Not sure if this is really keep up-to-date.] Accessors:contains-undirected-edge-p. |
default-edge-class | The default edge class for the graph. Initargs::default-edge-class; Reader:default-edge-class. |
default-edge-type | The default edge type for the graph. This should be one of :undirected or :directed. Initargs::default-edge-type; Reader:default-edge-type. |
directed-edge-class | The class used to create directed edges in the graph. This must extend the base-class for edges of the graph type and directed-edge-mixin. E.g., the directed-edge-class of a graph-container must extend graph-container-edge and directed-edge-mixin. Initform:(quote basic-directed-edge), Initargs::directed-edge-class; Reader:directed-edge-class. |
edge-key | Initform:(function identity), Initargs::edge-key; Reader:edge-key. |
edge-test | Initform:(function eq), Initargs::edge-test; Reader:edge-test. |
graph-edges | Initargs::graph-edges; Reader:graph-edges. |
graph-vertexes | Initargs::graph-vertexes; Reader:graph-vertexes. |
largest-edge-id | Initform:0; Reader:largest-edge-id. |
largest-vertex-id | Initform:0; Reader:largest-vertex-id. |
test | Initform:(function equal), Initargs::test. |
undirected-edge-class | The class used to create undirected edges in the graph. This must extend the base-class for edges of the graph type. E.g., all edges of a graph-container must extend graph-container-edge Initform:(quote basic-edge), Initargs::undirected-edge-class; Reader:undirected-edge-class. |
vertex-class | The class of the vertexes in the graph. This must extend the base-class for vertexes of the graph type. E.g., all vertexes of a graph-container must extend graph-container-vertex. Initform:(quote basic-vertex), Initargs::vertex-class; Reader:vertex-class. |
vertex-key | Initform:(function identity), Initargs::vertex-key; Reader:vertex-key. |
vertex-pair->edge | Initform:(make-container (quote simple-associative-container) test (function equal)); Reader:vertex-pair->edge. |
vertex-test | Initform:(function eq), Initargs::vertex-test; Reader:vertex-test. |
add-edge | Add-edge adds an existing edge to a graph. As |
---|---|
delete-all-edges | Delete all edges from `graph'. Returns the graph.. |
delete-edge | Delete the |
dfs-visit | |
edge-count | Returns the number of edges attached to |
empty! | Removes all items from the container and returns nil. |
find-edge | Search |
find-edge-between-vertexes | Searches |
find-edge-between-vertexes-if | Finds and returns an edge between value-or-vertex-1 |
iterate-edges | Calls |
make-edge-container | Make-edge-container is called during graph creation |
make-node-for-container | |
make-vertex-container | Make-vertex-container is called during graph |
%operate-after-finding | |
---|---|
add-edge-between-vertexes | Adds an edge between two vertexes and returns it. |
add-edges-to-graph | |
add-initial-contents | |
add-vertex | Adds a vertex to a graph. If called with a vertex, |
adjacentp | Return true if vertex-1 and vertex-2 are connected |
any-undirected-cycle-p | Returns true if there are any undirected cycles in |
assign-level | Sets the depth of |
best-item | Returns the item in items with the 'best' value of function where |
breadth-first-search-graph | |
breadth-first-visitor | |
collect-elements | Returns a possibly filtered and possibly transformed list of the elements in a container. If the ... |
collect-elements-stably | |
collect-nodes | Returns a possibly filtered and possibly transformed list |
complete-links | Add edges between vertexes in the new-graph for |
connected-component-count | Returns the number of connected-components of |
connected-components | Returns a union-find-container representing the |
connected-graph-p | Returns true if graph is a connected graph and nil otherwise. |
count-elements | |
count-elements-if | |
count-items | |
delete-edge-between-vertexes | Finds an edge in the graph between the two |
delete-element | |
delete-item | |
delete-item-if | |
delete-list | Deletes each item in the list from the container. |
delete-vertex | Remove a vertex from a graph. The 'vertex-or-value' |
depth | Returns the maximum depth of the vertexes in graph |
dfs | |
edges | Returns a list of the edges of |
element-position | Returns the position of element in container using test and |
every-element-p | |
every-item-p | Returns true if every item in the container satisfies the |
find-connected-components | Returns a list of sub-graphs of |
find-edge-if | Returns the first edge in |
find-edges-if | Returns a list of edges in |
find-element | For now, compare find-item. |
find-item | Find item in container using the container's test |
find-vertex | Search 'graph' for a vertex with element |
find-vertex-if | Returns the first vertex in |
find-vertexes-if | Returns a list of vertexes in |
first-element | |
force-undirected | Ensures that the graph is undirected (possibly by |
generate-directed-free-tree | Returns a version of graph which is a directed free |
graph->dot | Generates a description of |
graph->dot-external | |
graph-roots | Returns a list of the roots of graph. A root is |
in-cycle-p | Returns true if |
in-undirected-cycle-p | Return true if-and-only-if an undirected cycle in |
initialize-vertex-data | |
insert-initial-contents-p | Returns true if this container type should rely on the default behavior of basic-initial-contents... |
insert-item | Adds item to the container |
insert-list | Adds each item in the list to the container in an |
insert-new-item | Adds item to the container unless it is already there |
insert-sequence | Adds each item in the sequence to the container in an |
iteratable-p | Returns true if thing knows how to iterate-nodes. |
iterate-elements | |
iterate-nodes | Applies function to each node in the container. If the container doesn't have nodes, then this is... |
iterate-vertexes | Calls |
make-edge-for-graph | It should not usually necessary to call this in |
make-filtered-graph | Takes a GRAPH and a TEST-FN (a single argument |
make-vertex-for-graph | Creates a new vertex for graph |
map-over-all-combinations-of-k-edges | |
map-over-all-combinations-of-k-vertexes | |
minimum-spanning-tree | Returns a minimum spanning tree of graph if one exists and nil otherwise. |
nth-element | Returns the nth element in the container's 'natural' order. |
predecessor | Return the item that comes before item in the container. Only makes sense for sorted containers... |
print-container | Prints the contents of container (using PRINT). Returns the container. |
project-bipartite-graph | Creates the unimodal bipartite projects of |
reduce-container | |
reduce-elements | |
reduce-nodes | |
remove-items-if | Removes items from a container that satisfy the test. The |
renumber-edges | Assign a number to each edge in a graph in some |
renumber-vertexes | Assign a number to each vertex in a graph in some |
replace-vertex | Replace vertex |
search-for-element | |
search-for-item | Hunt for the item in the container. Key and Test |
search-for-match | Hunt for an item in the container that satisfies |
search-for-matching-node | |
search-for-node | |
search-for-node* | |
search-for-vertex | Search 'graph' for a vertex with element |
setffirst-element | |
size | Returns the number of items currently in the container. |
some-element-p | |
some-item-p | Returns the first item in the container for which predicate |
subgraph-containing | Returns a new graph that is a subset of |
successor | Return the item that comes after item in the container. Only makes sense for sorted containers. R... |
tag-all-edges | Sets the |
topological-sort | Returns a list of vertexes sorted by the depth from |
traverse-elements | WIP |
unique-elements | |
unique-nodes | |
untag-all-edges | Sets the |
vertex-count | Returns the number of vertexes in |
vertexes | Returns a list of the vertexes of |