Contents

Indexes:

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 |

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 |