The cl-graph Reference Manual

This is the cl-graph Reference Manual, version 0.10.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:18:06 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-graph

Graph manipulation utilities for Common Lisp

Maintainer

Gary Warren King <>

Author

Gary Warren King <>

License

MIT Style License

Version

0.10.2

Dependencies
  • metatilities-base (system)., at least version "0.6.0"
  • cl-containers (system)., at least version "0.12.0"
  • metabang-bind (system).
Source

cl-graph.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-graph/dev

Source

cl-graph.asd.

Parent Component

cl-graph (system).

Child Components

3.2 cl-graph/dev/graphviz

Dependency

graph.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Child Component

graphviz-support.lisp (file).


3.3 cl-graph/website

Source

cl-graph.asd.

Parent Component

cl-graph (system).

Child Component

source (module).


3.4 cl-graph/website/source

Source

cl-graph.asd.

Parent Component

website (module).

Child Component

index.mmd (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl-graph/cl-graph.asd

Source

cl-graph.asd.

Parent Component

cl-graph (system).

ASDF Systems

cl-graph.


4.1.2 cl-graph/dev/package.lisp

Source

cl-graph.asd.

Parent Component

dev (module).

Packages

cl-graph.


4.1.3 cl-graph/dev/api.lisp

Dependency

package.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.4 cl-graph/dev/macros.lisp

Dependency

package.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface

with-changing-vertex (macro).


4.1.5 cl-graph/dev/graph.lisp

Dependencies
Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.6 cl-graph/dev/graph-container.lisp

Dependency

graph.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.7 cl-graph/dev/graph-matrix.lisp

Dependency

graph.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.8 cl-graph/dev/graph-algorithms.lisp

Dependency

graph.lisp (file).

Source

cl-graph.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.9 cl-graph/dev/graphviz/graphviz-support.lisp

Source

cl-graph.asd.

Parent Component

graphviz (module).

Public Interface
Internals

4.2 Static


4.2.1 cl-graph/COPYING

Source

cl-graph.asd.

Parent Component

cl-graph (system).


4.2.2 cl-graph/dev/notes.text

Source

cl-graph.asd.

Parent Component

dev (module).


4.2.3 cl-graph/website/source/index.mmd

Source

cl-graph.asd.

Parent Component

source (module).


5 Packages

Packages are listed by definition order.


5.1 cl-graph

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

Source

package.lisp.

Nickname

metabang.graph

Use List
  • common-lisp.
  • metabang.bind.
  • metabang.cl-containers.
  • metabang.utilities.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *dot-graph-attributes*
Package

cl-graph.

Source

graphviz-support.lisp.


6.1.2 Macros

Macro: with-changing-vertex ((vertex) &body body)

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

Package

cl-graph.

Source

macros.lisp.


6.1.3 Compiler macros

Compiler Macro: vertex-count (&rest args)
Package

cl-graph.

Source

graph.lisp.


6.1.4 Ordinary functions

Function: get-transitive-closure (vertex-list &optional depth)

Given a list of vertices, returns a combined list of all of the nodes in the transitive closure(s) of each of the vertices in the list (without duplicates). Optional DEPTH limits the depth (in _both_ the child and parent directions) to which the closure is gathered; default nil gathers the entire closure(s).

Package

cl-graph.

Source

graph.lisp.

Function: map-paths (graph start-vertex length fn &key filter)

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

Package

cl-graph.

Source

graph.lisp.

Function: map-shortest-paths (graph start-vertex depth fn &key filter)

Apply fn to each shortest path starting at ‘start-vertex‘ of depth ‘depth‘. The ‘filter‘ predicate is used to remove vertexes from consideration.

Package

cl-graph.

Source

graph.lisp.

Function: print-dot-key-value (key value dot-attributes stream)
Package

cl-graph.

Source

graphviz-support.lisp.


6.1.5 Generic functions

Generic Function: add-edge (graph edge &rest args &key force-new?)

Add-edge adds an existing edge to a graph. As add-edge-between-vertexes is generally more natural to use, this method is rarely called.

Package

cl-graph.

Source

api.lisp.

Methods
Method: add-edge ((graph graph-container) (edge graph-container-edge) &key force-new?)
Source

graph-container.lisp.

Method: add-edge :before ((graph basic-graph) (edge basic-edge) &key force-new?)
Source

graph.lisp.

Generic Function: add-edge-between-vertexes (graph value-or-vertex-1 value-or-vertex-2 &rest args &key if-duplicate-do edge-type value edge-class &allow-other-keys)

Adds an edge between two vertexes and returns it.
If force-new? is true, the edge is added even if one already exists. If the vertexes are not found in the graph, they will be added (unless :error-if-not-found? is true). The class of the edge can be specified using :edge-class or :edge-type. If :edge-type is used, it can be either :directed or :undirected; the actual class of the edge will be determined by using the edge-types of the graph. If neither :edge-type nor :edge-class is specified, then a directed edge will be created.

If-duplicate-do is used when the ’same’ edge is added more than once. It can be either a function on one variable or :ignore
or :force. If it is :ignore, then the previously added edge is returned; if it is :force, then another edge is added between the two vertexes; if it is a function, then this function will be called with the previous edge.

Package

cl-graph.

Source

api.lisp.

Methods
Method: add-edge-between-vertexes ((graph basic-graph) (v-1 basic-vertex) (v-2 basic-vertex) &rest args &key value if-duplicate-do edge-type edge-class &allow-other-keys)
Source

graph.lisp.

Method: add-edge-between-vertexes ((graph basic-graph) value-1 value-2 &rest args &key if-duplicate-do &allow-other-keys)
Source

graph.lisp.

Generic Function: add-vertex (graph value-or-vertex &key if-duplicate-do &allow-other-keys)

Adds a vertex to a graph. If called with a vertex,
then this vertex is added. If called with a value, then a new vertex is created to hold the value. If-duplicate-do can be one
of :ignore, :force, :replace, :replace-value, :error, or a function. The default is :ignore.

Package

cl-graph.

Source

api.lisp.

Methods
Method: add-vertex :before ((graph basic-graph) (vertex basic-vertex) &key &allow-other-keys)
Source

graph.lisp.

Method: add-vertex ((graph basic-graph) value &rest args &key if-duplicate-do &allow-other-keys)
Source

graph.lisp.

Method: add-vertex ((graph basic-graph) (value basic-vertex) &key if-duplicate-do)
Source

graph.lisp.

Generic Function: adjacentp (graph vertex-1 vertex-2)

Return true if vertex-1 and vertex-2 are connected
by an edge. [?? compare with vertices-share-edge-p and remove one or maybe call one directed-adjacentp]

Package

cl-graph.

Source

api.lisp.

Methods
Method: adjacentp ((graph basic-graph) (vertex-1 basic-vertex) (vertex-2 basic-vertex))
Source

graph.lisp.

Method: adjacentp ((graph basic-graph) vertex-1 vertex-2)
Source

graph.lisp.

Generic Function: any-undirected-cycle-p (graph)

Returns true if there are any undirected cycles in ‘graph‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: any-undirected-cycle-p ((graph basic-graph))
Source

graph.lisp.

Generic Function: assortativity-coefficient (mixing-matrix)

An assortative graph is one where vertexes of the
same type are more likely to have edges between them. The (discrete) assortativity-coefficient measures how assortative a graph is based on its mixing matrix. The definition we use is from Mixing Patterns in Networks by Mark Newman. See the citation ’newman200-mixing’ in moab or the URL ’http://arxiv.org/abs/cond-mat/0209450’.

Package

cl-graph.

Source

api.lisp.

Generic Function: child-vertexes (vertex &optional filter)

Returns a list of the vertexes to which ‘vertex‘ is
connected by an edge and for which ‘vertex‘ is the source vertex. If the connecting edge is undirected, then the vertex is always counted as a source. [?? Could be a defun].

Package

cl-graph.

Source

api.lisp.

Methods
Method: child-vertexes (vertex &optional filter)
Source

graph.lisp.

Generic Reader: color (object)
Generic Writer: (setf color) (object)
Package

cl-graph.

Methods
Reader Method: color ((basic-edge basic-edge))
Writer Method: (setf color) ((basic-edge basic-edge))

The ‘color‘ is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]

Source

graph.lisp.

Target Slot

color.

Reader Method: color ((basic-vertex basic-vertex))
Writer Method: (setf color) ((basic-vertex basic-vertex))

The ‘color‘ slot is used by some algorithms for bookkeeping.

Source

graph.lisp.

Target Slot

color.

Generic Function: connected-component-count (graph)

Returns the number of connected-components of graph.

Package

cl-graph.

Source

api.lisp.

Methods
Method: connected-component-count ((graph basic-graph))
Source

graph-algorithms.lisp.

Generic Function: connected-components (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: connected-components ((graph basic-graph))
Source

graph-algorithms.lisp.

Generic Function: connected-graph-p (graph &key edge-sorter)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: connected-graph-p ((graph basic-graph) &key edge-sorter)
Source

graph-algorithms.lisp.

Generic Reader: contains-directed-edge-p (object)
Generic Writer: (setf contains-directed-edge-p) (object)
Package

cl-graph.

Methods
Reader Method: contains-directed-edge-p ((basic-graph basic-graph))
Writer Method: (setf contains-directed-edge-p) ((basic-graph basic-graph))

Returns true if graph contains at least one directed edge. [?? Not sure if this is really kept up-to-date.]

Source

graph.lisp.

Target Slot

contains-directed-edge-p.

Generic Reader: contains-undirected-edge-p (object)
Generic Writer: (setf contains-undirected-edge-p) (object)
Package

cl-graph.

Methods
Reader Method: contains-undirected-edge-p ((basic-graph basic-graph))
Writer Method: (setf contains-undirected-edge-p) ((basic-graph basic-graph))

Returns true if graph contains at least one undirected edge. [?? Not sure if this is really kept up-to-date.]

Source

graph.lisp.

Target Slot

contains-undirected-edge-p.

Generic Reader: default-edge-class (object)
Package

cl-graph.

Methods
Reader Method: default-edge-class ((basic-graph basic-graph))

The default edge class for the graph.

Source

graph.lisp.

Target Slot

default-edge-class.

Generic Reader: default-edge-type (object)
Package

cl-graph.

Methods
Reader Method: default-edge-type ((basic-graph basic-graph))

The default edge type for the graph. This should be one of :undirected or :directed.

Source

graph.lisp.

Target Slot

default-edge-type.

Generic Function: delete-all-edges (graph)

Delete all edges from ‘graph’. Returns the graph..

Package

cl-graph.

Source

api.lisp.

Methods
Method: delete-all-edges ((graph graph-container))
Source

graph-container.lisp.

Method: delete-all-edges :after ((graph basic-graph))
Source

graph.lisp.

Generic Function: delete-edge (graph edge)

Delete the ‘edge’ from the ‘graph’ and returns it.

Package

cl-graph.

Source

api.lisp.

Methods
Method: delete-edge ((graph graph-container) (edge graph-container-edge))
Source

graph-container.lisp.

Method: delete-edge :after ((graph basic-graph) (edge basic-edge))
Source

graph.lisp.

Generic Function: delete-edge-between-vertexes (graph value-or-vertex-1 value-or-vertex-2 &rest args)

Finds an edge in the graph between the two
specified vertexes. If values (i.e., non-vertexes) are passed in, then the graph will be searched for matching vertexes.

Package

cl-graph.

Source

api.lisp.

Methods
Method: delete-edge-between-vertexes ((graph basic-graph) value-or-vertex-1 value-or-vertex-2 &rest args)
Source

graph.lisp.

Generic Function: delete-vertex (graph value-or-vertex)

Remove a vertex from a graph. The ’vertex-or-value’
argument can be a vertex of the graph or a ’value’ that will find a vertex via a call to find-vertex. A graph-vertex-not-found-error will be raised if the vertex is not found or is not part of the graph.

Package

cl-graph.

Source

api.lisp.

Methods
Method: delete-vertex :after ((graph basic-graph) (vertex basic-vertex))
Source

graph.lisp.

Method: delete-vertex ((graph basic-graph) (vertex basic-vertex))
Source

graph.lisp.

Method: delete-vertex ((graph basic-graph) value-or-vertex)
Source

graph.lisp.

Generic Function: depth (graph)

Returns the maximum depth of the vertexes in graph
assuming that the roots are of depth 0 and that each edge distance from the roots increments the depth by one.

Package

cl-graph.

Source

api.lisp.

Methods
Method: depth ((graph basic-graph))
Source

graph.lisp.

Generic Reader: depth-level (object)
Generic Writer: (setf depth-level) (object)
Package

cl-graph.

Methods
Reader Method: depth-level ((basic-vertex basic-vertex))
Writer Method: (setf depth-level) ((basic-vertex basic-vertex))

‘Depth-level‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

depth-level.

Generic Function: dfs (graph root fn &key out-edge-sorter)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs ((graph basic-graph) (root basic-vertex) fn &key out-edge-sorter)
Source

graph-algorithms.lisp.

Method: dfs ((graph basic-graph) root fn &key out-edge-sorter)
Source

graph-algorithms.lisp.

Generic Function: dfs-back-edge-p (edge)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-back-edge-p ((edge graph-container-edge))
Source

graph-algorithms.lisp.

Generic Function: dfs-edge-type (edge)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-edge-type ((edge graph-container-edge))
Source

graph-algorithms.lisp.

Generic Function: dfs-tree-edge-p (edge)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-tree-edge-p ((edge graph-container-edge))
Source

graph-algorithms.lisp.

Generic Reader: directed-edge-class (object)
Package

cl-graph.

Methods
Reader Method: directed-edge-class ((basic-graph basic-graph))

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.

Source

graph.lisp.

Target Slot

directed-edge-class.

Generic Function: directed-edge-p (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: directed-edge-p ((edge basic-edge))
Source

graph.lisp.

Generic Reader: discovery-time (object)
Generic Writer: (setf discovery-time) (object)
Package

cl-graph.

Methods
Reader Method: discovery-time ((basic-vertex basic-vertex))
Writer Method: (setf discovery-time) ((basic-vertex basic-vertex))

‘Discovery-time‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

discovery-time.

Generic Function: dot-attribute-value (attribute thing)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dot-attribute-value ((attr symbol) (thing dot-attributes-mixin))
Source

graphviz-support.lisp.

Generic Function: (setf dot-attribute-value) (attribute thing)
Package

cl-graph.

Source

api.lisp.

Methods
Method: (setf dot-attribute-value) ((attr symbol) (thing dot-attributes-mixin))
Source

graphviz-support.lisp.

Method: (setf dot-attribute-value) :before ((attr symbol) (thing dot-attributes-mixin))
Source

graphviz-support.lisp.

Generic Reader: dot-attributes (object)
Package

cl-graph.

Methods
Reader Method: dot-attributes ((dot-attributes-mixin dot-attributes-mixin))

automatically generated reader method

Source

graphviz-support.lisp.

Target Slot

dot-attributes.

Generic Writer: (setf dot-attributes) (object)
Package

cl-graph.

Methods
Writer Method: (setf dot-attributes) ((dot-attributes-mixin dot-attributes-mixin))

automatically generated writer method

Source

graphviz-support.lisp.

Target Slot

dot-attributes.

Generic Reader: edge (condition)
Package

cl-graph.

Methods
Reader Method: edge ((condition edge-error))
Source

graph.lisp.

Target Slot

edge.

Generic Function: edge->dot (edge stream)

Used by graph->dot to output edge formatting for
‘edge‘ onto the ‘stream‘. The function can assume that openning and closing square brackets and label have already been taken care of.

Package

cl-graph.

Source

api.lisp.

Methods
Method: edge->dot ((edge dot-edge-mixin) stream)
Source

graphviz-support.lisp.

Method: edge->dot ((v basic-edge) (stream stream))
Source

graphviz-support.lisp.

Generic Function: edge-count (vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: edge-count ((graph graph-container))
Source

graph-container.lisp.

Method: edge-count ((vertex basic-vertex))
Source

graph.lisp.

Method: edge-count ((graph basic-graph))
Source

graph.lisp.

Generic Reader: edge-id (object)
Generic Writer: (setf edge-id) (object)
Package

cl-graph.

Methods
Reader Method: edge-id ((basic-edge basic-edge))
Writer Method: (setf edge-id) ((basic-edge basic-edge))

The ‘edge-id‘ is used internally by CL-Graph for bookkeeping.

Source

graph.lisp.

Target Slot

edge-id.

Generic Function: edge-lessp-by-direction (edge-1 edge-2)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: edge-lessp-by-direction ((e1 basic-edge) (e2 basic-edge))
Source

graph-algorithms.lisp.

Generic Function: edge-lessp-by-weight (edge-1 edge-2)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: edge-lessp-by-weight ((e1 basic-edge) (e2 basic-edge))
Source

graph-algorithms.lisp.

Generic Function: edges (thing)

Returns a list of the edges of ‘thing‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: edges ((vertex basic-vertex))
Source

graph.lisp.

Method: edges ((graph basic-graph))
Source

graph.lisp.

Generic Function: find-connected-components (graph)

Returns a list of sub-graphs of ‘graph‘ where each
sub-graph is a different connected component of graph. Compare with connected-components and connected-component-count.

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-connected-components ((graph basic-graph))
Source

graph-algorithms.lisp.

Generic Function: find-edge (graph edge &optional error-if-not-found?)

Search ‘graph‘ for an edge whose vertexes match
‘edge‘. This means that ‘vertex-1‘ of the edge in the graph must match ‘vertex-1‘ of ‘edge‘ and so forth. Wil signal an error of type ‘graph-edge-not-found-error‘ unless ‘error-if-not-found?‘ is nil. [?? Unused. Remove?]

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-edge ((graph graph-container) (edge graph-container-edge) &optional error-if-not-found?)
Source

graph-container.lisp.

Generic Function: find-edge-between-vertexes (graph value-or-vertex-1 value-or-vertex-2 &key error-if-not-found?)

Searches ‘graph‘ for an edge that connects vertex-1
and vertex-2. [?? Ignores error-if-not-found? Does directedness matter? need test]

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-edge-between-vertexes ((graph graph-container) (vertex-1 graph-container-vertex) (vertex-2 graph-container-vertex) &key error-if-not-found?)
Source

graph-container.lisp.

Method: find-edge-between-vertexes ((graph basic-graph) value-1 value-2 &key error-if-not-found?)
Source

graph.lisp.

Generic Function: find-edge-between-vertexes-if (graph value-or-vertex-1 value-or-vertex-2 fn &key error-if-not-found?)

Finds and returns an edge between value-or-vertex-1
and value-or-vertex-2 which returns true (as a generalized boolean) when evaluated by ‘fn‘. Unless error-if-not-found? is nil, then a error will be signaled. [?? IS error really signaled? need a test.]

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-edge-between-vertexes-if ((graph graph-container) value-1 value-2 fn &key error-if-not-found?)
Source

graph-container.lisp.

Method: find-edge-between-vertexes-if ((graph graph-container) (vertex-1 graph-container-vertex) (vertex-2 graph-container-vertex) fn &key error-if-not-found?)
Source

graph-container.lisp.

Generic Function: find-edge-if (graph fn &key key)

Returns the first edge in ‘thing‘ for which the
‘predicate‘ function returns non-nil. If the ‘key‘ is supplied, then it is applied to the edge before the predicate is.

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-edge-if ((graph basic-graph) fn &key key)
Source

graph.lisp.

Generic Function: find-edges-if (thing predicate)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-edges-if ((graph basic-graph) fn)
Source

graph.lisp.

Generic Function: find-vertex (graph value &optional error-if-not-found?)

Search ’graph’ for a vertex with element
’value’. The search is fast but inflexible because it uses an associative-container. If you need more flexibity, see search-for-vertex.

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-vertex ((edge basic-edge) value &optional error-if-not-found?)
Source

graph.lisp.

Method: find-vertex ((graph basic-graph) (vertex basic-vertex) &optional error-if-not-found?)
Source

graph.lisp.

Method: find-vertex ((graph basic-graph) value &optional error-if-not-found?)
Source

graph.lisp.

Generic Function: find-vertex-if (thing predicate &key key)

Returns the first vertex in ‘thing‘ for which the
‘predicate‘ function returns non-nil. If the ‘key‘ is supplied, then it is applied to the vertex before the predicate is.

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-vertex-if ((edge basic-edge) fn &key key)
Source

graph.lisp.

Method: find-vertex-if ((graph basic-graph) fn &key key)
Source

graph.lisp.

Generic Function: find-vertexes-if (thing predicate)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: find-vertexes-if ((graph basic-graph) fn)
Source

graph.lisp.

Generic Reader: finish-time (object)
Generic Writer: (setf finish-time) (object)
Package

cl-graph.

Methods
Reader Method: finish-time ((basic-vertex basic-vertex))
Writer Method: (setf finish-time) ((basic-vertex basic-vertex))

‘Finish-time‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

finish-time.

Generic Function: force-undirected (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: force-undirected ((graph basic-graph))
Source

graph.lisp.

Generic Function: generate-directed-free-tree (graph root)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: generate-directed-free-tree ((graph basic-graph) root)
Source

graph.lisp.

Generic Reader: graph (object)
Generic Writer: (setf graph) (object)
Package

cl-graph.

Methods
Reader Method: graph ((basic-vertex basic-vertex))
Writer Method: (setf graph) ((basic-vertex basic-vertex))

The graph in which this vertex is contained.

Source

graph.lisp.

Target Slot

graph.

Reader Method: graph ((basic-edge basic-edge))

The ‘graph‘ of which this edge is a part.

Source

graph.lisp.

Target Slot

graph.

Reader Method: graph ((condition graph-error))
Source

graph.lisp.

Target Slot

graph.

Generic Function: graph->dot (graph output &key graph-formatter vertex-key vertex-labeler vertex-formatter edge-labeler edge-formatter &allow-other-keys)

Generates a description of ‘graph‘ in DOT file format. The
formatting can be altered using ‘graph->dot-properties,‘ ‘vertex->dot,‘ and ‘edge->dot‘ as well as ‘edge-formatter,‘ ‘vertex-formatter,‘ ‘vertex-labeler,‘ and ‘edge-labeler‘. These can
be specified directly in the call to ‘graph->dot‘ or by creating subclasses of basic-graph, basic-vertex and basic-edge.

The output can be a stream or pathname or one of the values ‘nil‘ or
‘t‘. If output is ‘nil‘, then graph->dot returns a string containing
the DOT description. If it is ‘t‘, then the DOT description is written
to \*standard-output\*.

Here is an example;

(let ((g (make-container ’graph-container :default-edge-type :directed))) (loop for (a b) in ’((a b) (b c) (b d) (d e) (e f) (d f)) do (add-edge-between-vertexes g a b))
(graph->dot g nil))

"digraph G {
E []
C []
B []
A []
D []
F []
E->F []
B->C []
B->D []
A->B []
D->E []
D->F []
}"

For more information about DOT file format, search the web for ’DOTTY’ and ’GRAPHVIZ’.

Package

cl-graph.

Source

api.lisp.

Methods
Method: graph->dot ((g basic-graph) (stream pathname) &rest args &key &allow-other-keys)
Source

graphviz-support.lisp.

Method: graph->dot ((g basic-graph) (stream string) &rest args &key &allow-other-keys)
Source

graphviz-support.lisp.

Method: graph->dot ((g basic-graph) (stream (eql t)) &rest args &key &allow-other-keys)
Source

graphviz-support.lisp.

Method: graph->dot ((g basic-graph) (stream (eql nil)) &rest args &key &allow-other-keys)
Source

graphviz-support.lisp.

Method: graph->dot ((g basic-graph) (stream stream) &key graph-formatter vertex-key vertex-labeler vertex-formatter edge-labeler edge-formatter &allow-other-keys)
Source

graphviz-support.lisp.

Generic Function: graph->dot-external (graph file-name &key type &allow-other-keys)
Package

cl-graph.

Source

api.lisp.

Methods
Method: graph->dot-external ((g basic-graph) file-name &rest args &key type &allow-other-keys)

Generate an external represenation of a graph to a file, by running the program in *dot-path*.

Source

graphviz-support.lisp.

Generic Function: graph->dot-properties (g stream)

Unless a different graph-formatter is specified,
this method is called by graph->dot to output graph-properties onto a stream. The function can assume that the openning and closing brackets will be taken care of by the graph->dot.

Package

cl-graph.

Source

api.lisp.

Methods
Method: graph->dot-properties ((graph dot-graph-mixin) stream)
Source

graphviz-support.lisp.

Method: graph->dot-properties (g stream)
Source

graphviz-support.lisp.

Generic Function: graph-edge-mixture-matrix (graph vertex-classifier &key edge-weight)

Return the ‘mixing-matrix‘ of graph based on the
classifier and the edge-weight function. The mixing matrix is a matrix whose runs and columns represent each class of vertex in the graph. The entries of the matrix show the total number of edges between vertexes of the two kinds. [?? Edge-weight is not used; also compare with graph-mixture-matrix.]

Package

cl-graph.

Source

api.lisp.

Generic Reader: graph-edges (object)
Package

cl-graph.

Methods
Reader Method: graph-edges ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

graph-edges.

Generic Function: graph-mixing-matrix (graph vertex-classifier &key edge-weight)

Return the ‘mixing-matrix‘ of graph based on the
classifier and the edge-weight function. The mixing matrix is a matrix whose runs and columns represent each class of vertex in the graph. The entries of the matrix show the total number of edges between vertexes of the two kinds. [?? Edge-weight is not used; also compare with graph-edge-mixture-matrix.]

Package

cl-graph.

Source

api.lisp.

Generic Function: graph-roots (graph)

Returns a list of the roots of graph. A root is
defined as a vertex with no source edges (i.e., all of the edges are out-going). (cf. rootp) [?? could be a defun]

Package

cl-graph.

Source

api.lisp.

Methods
Method: graph-roots ((graph basic-graph))
Source

graph.lisp.

Generic Reader: graph-vertexes (object)
Package

cl-graph.

Methods
Reader Method: graph-vertexes ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

graph-vertexes.

Generic Function: has-children-p (vertex)

In a directed graph, returns true if vertex has any
edges that point from vertex to some other
vertex (cf. iterate-source-edges). In an undirected graph, ‘has-children-p‘ is testing only whether or not the vertex has any edges.

Package

cl-graph.

Source

api.lisp.

Methods
Method: has-children-p ((vertex graph-container-vertex))
Source

graph-container.lisp.

Generic Function: has-parent-p (vertex)

In a directed graph, returns true if vertex has any
edges that point from some other vertex to this
vertex (cf. iterate-target-edges). In an undirected graph, ‘has-parent-p‘ is testing only whether or not the vertex has any edges.

Package

cl-graph.

Source

api.lisp.

Methods
Method: has-parent-p ((vertex graph-container-vertex))
Source

graph-container.lisp.

Generic Function: height-in-pixels (thing)
Package

cl-graph.

Methods
Method: height-in-pixels ((thing dot-vertex-mixin))

Return the attribute in pixels assuming 72 dpi

Source

graphviz-support.lisp.

Generic Function: (setf height-in-pixels) (thing)
Package

cl-graph.

Methods
Method: (setf height-in-pixels) ((thing dot-vertex-mixin))

Set the attribute in pixels assuming 72 dpi

Source

graphviz-support.lisp.

Generic Function: in-cycle-p (graph start-vertex)

Returns true if ‘start-vertex‘ is in some cycle in
‘graph‘. This uses child-vertexes to generate the vertexes adjacent to a vertex.

Package

cl-graph.

Source

api.lisp.

Methods
Method: in-cycle-p ((graph basic-graph) (start-vertex basic-vertex))
Source

graph.lisp.

Method: in-cycle-p ((graph basic-graph) vertex)
Source

graph.lisp.

Generic Function: in-undirected-cycle-p (graph start-vertex &optional marked previous)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: in-undirected-cycle-p ((graph basic-graph) (current basic-vertex) &optional marked previous)
Source

graph.lisp.

Generic Function: iterate-edges (graph-or-vertex fn)

Calls ‘fn‘ on each edge of graph or vertex.

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-edges ((vertex graph-container-vertex) fn)
Source

graph-container.lisp.

Method: iterate-edges ((graph graph-container) fn)
Source

graph-container.lisp.

Generic Function: iterate-neighbors (vertex fn)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-neighbors ((vertex graph-container-vertex) fn)
Source

graph-container.lisp.

Generic Function: iterate-parents (vertex fn)

Calls fn on every vertex that is either connected
to vertex by an undirected edge or is at the source end of a directed edge.

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-parents ((vertex graph-container-vertex) fn)
Source

graph-container.lisp.

Generic Function: iterate-source-edges (vertex fn)

In a directed graph, calls ‘fn‘ on each edge of a
vertex that begins at vertex. In an undirected graph, this is equivalent to ‘iterate-edges‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-source-edges ((vertex graph-container-vertex) fn)
Source

graph-container.lisp.

Generic Function: iterate-target-edges (vertex fn)

In a directed graph, calls ‘fn‘ on each edge of a
vertex that ends at vertex. In an undirected graph, this is equivalent to ‘iterate-edges‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-target-edges ((vertex graph-container-vertex) fn)
Source

graph-container.lisp.

Generic Function: iterate-vertexes (thing fn)

Calls ‘fn‘ on each of the vertexes of ‘thing‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: iterate-vertexes ((edge basic-edge) fn)
Source

graph.lisp.

Method: iterate-vertexes ((graph basic-graph) fn)
Source

graph.lisp.

Generic Function: make-filtered-graph (old-graph test-fn &key graph-completion-method depth new-graph)

Takes a GRAPH and a TEST-FN (a single argument
function returning NIL or non-NIL), and filters the graph nodes according to the test-fn (those that return non-NIL are accepted), returning a new graph with only nodes corresponding to those in the original graph that satisfy the test (the nodes in the new graph are new, but their values and name point to the same contents of the original graph). There are four options for how the new graph is filled-out, depending on the following keywords passed to the optional GRAPH-COMPLETION-METHOD argument:

* NIL (default)

New graph has only nodes that correspond to those in the original graph that pass the test. NO LINKS are reproduced.

* :COMPLETE-LINKS

New graph has only nodes that pass, but reproduces corresponding links between passing nodes in the original graph.

* :COMPLETE-CLOSURE-NODES-ONLY

New graph also includes nodes corresponding to the transitive closure(s) that include the passign nodes in the original graph. NO LINKS are reproduced.

* :COMPLETE-CLOSURE-WITH-LINKS

Same as above, except corresponding links are reproduced.

For both transitive closure options, an additional optional argument, DEPTH, specifies how many links away from a source vertex to travel in gathering vertexes of the closure. E.g., a depth of 1 returns the source vertex and the parents and children of that vertex (all vertexes one link away from the source). The default value is NIL, indicating that all vertexes are to be included, no matter their depth. This value is ignored in non closure options.

Package

cl-graph.

Source

api.lisp.

Generic Function: make-graph (graph-type &key &allow-other-keys)

Create a new graph of type ‘graph-type’. Graph type
can be a symbol naming a sub-class of basic-graph or a list. If it is a list of symbols naming different classes. If graph-type is a list, then a class which has all of the listed classes as superclasses will be found (or created). In either case, the new graph will be created as if with a call to make-instance.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-graph ((graph-type symbol) &rest args &key &allow-other-keys)
Source

graph.lisp.

Generic Function: make-graph-from-vertexes (vertex-list)

Create a new graph given a list of vertexes (which
are assumed to be from the same graph). The new graph contains all of the vertexes in the list and all of the edges between any vertexes on the list.

Package

cl-graph.

Source

api.lisp.

Generic Function: make-vertex-edges-container (vertex container-class &rest args)

Called during the initialization of a vertex to
create the create the container used to store the edges incident to the vertex. The initarg :vertex-edges-container-class can be used to alter the default container class.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-vertex-edges-container ((vertex graph-container-vertex) container-class &rest args)
Source

graph-container.lisp.

Generic Function: make-vertex-for-graph (graph &key vertex-class &allow-other-keys)

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

* vertex-class : specify the class of the vertex
* element : specify the ‘element‘ of the vertex

and any other initialization arguments that make sense for the vertex class.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-vertex-for-graph ((graph basic-graph) &rest args &key vertex-class &allow-other-keys)
Source

graph.lisp.

Generic Function: minimum-spanning-tree (graph &key edge-sorter)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: minimum-spanning-tree ((graph basic-graph) &key edge-sorter)
Source

graph-algorithms.lisp.

Generic Function: neighbor-vertexes (vertex &optional filter)

Returns a list of the vertexes to which ‘vertex‘ is
connected by an edge disregarding edge direction. In a directed graph, neighbor-vertexes is the union of parent-vertexes and child-vertexes. [?? Could be a defun].

Package

cl-graph.

Source

api.lisp.

Methods
Method: neighbor-vertexes (vertex &optional filter)
Source

graph.lisp.

Generic Reader: next-node (object)
Generic Writer: (setf next-node) (object)
Package

cl-graph.

Methods
Reader Method: next-node ((basic-vertex basic-vertex))
Writer Method: (setf next-node) ((basic-vertex basic-vertex))

‘Next-node‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

next-node.

Generic Function: number-of-neighbors (vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: number-of-neighbors (vertex)
Source

graph.lisp.

Generic Function: other-vertex (edge value-or-vertex)

Assuming that the value-or-vertex corresponds to
one of the vertexes for ‘edge‘, this method returns the other vertex of ‘edge‘. If the value-or-vertex is not part of edge, then an error is signaled. [?? Should create a new condition for this]

Package

cl-graph.

Source

api.lisp.

Methods
Method: other-vertex ((edge graph-container-edge) value)
Source

graph-container.lisp.

Method: other-vertex ((edge graph-container-edge) (v graph-container-vertex))
Source

graph-container.lisp.

Generic Function: out-edge-for-vertex-p (edge vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: out-edge-for-vertex-p ((edge basic-edge) (vertex basic-vertex))
Source

graph-algorithms.lisp.

Generic Function: parent-vertexes (vertex &optional filter)

Returns a list of the vertexes to which ‘vertex‘ is
connected by an edge and for which ‘vertex‘ is the target vertex. If the connecting edge is undirected, then the vertex is always counted as a target. [?? Could be a defun].

Package

cl-graph.

Source

api.lisp.

Methods
Method: parent-vertexes (vertex &optional filter)
Source

graph.lisp.

Generic Reader: previous-node (object)
Generic Writer: (setf previous-node) (object)
Package

cl-graph.

Methods
Reader Method: previous-node ((basic-vertex basic-vertex))
Writer Method: (setf previous-node) ((basic-vertex basic-vertex))

‘Previous-node‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

previous-node.

Generic Function: project-bipartite-graph (new-graph existing-graph vertex-class vertex-classifier)

Creates the unimodal bipartite projects of
existing-graph with vertexes for each vertex of existing graph whose ‘vertex-classifier‘ is eq to ‘vertex-class‘ and where an edge existing between two vertexes of the graph if and only if they are connected to a shared vertex in the existing-graph.

Package

cl-graph.

Source

api.lisp.

Methods
Method: project-bipartite-graph ((new-graph basic-graph) graph vertex-class vertex-classifier)
Source

graph.lisp.

Method: project-bipartite-graph ((new-graph symbol) graph vertex-class vertex-classifier)
Source

graph.lisp.

Generic Reader: rank (object)
Generic Writer: (setf rank) (object)
Package

cl-graph.

Methods
Reader Method: rank ((basic-vertex basic-vertex))
Writer Method: (setf rank) ((basic-vertex basic-vertex))

The ‘rank‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Source

graph.lisp.

Target Slot

rank.

Generic Function: renumber-edges (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: renumber-edges ((graph basic-graph))
Source

graph.lisp.

Generic Function: renumber-vertexes (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: renumber-vertexes ((graph basic-graph))
Source

graph.lisp.

Generic Function: replace-vertex (graph old new)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: replace-vertex :after ((graph graph-container) (old basic-vertex) (new basic-vertex))
Source

graph-container.lisp.

Method: replace-vertex :before ((graph graph-container) (old basic-vertex) (new basic-vertex))
Source

graph-container.lisp.

Method: replace-vertex ((graph basic-graph) (old basic-vertex) (new basic-vertex))
Source

graph.lisp.

Generic Function: rooted-dfs (graph root fn &key out-edge-sorter)

A variant of DFS that does not visit nodes that are unreachable from the ROOT.

Package

cl-graph.

Source

graph-algorithms.lisp.

Methods
Method: rooted-dfs ((graph basic-graph) root fn &key out-edge-sorter)
Method: rooted-dfs ((graph basic-graph) (root basic-vertex) fn &key out-edge-sorter)
Generic Function: rootp (vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: rootp ((vertex basic-vertex))
Source

graph.lisp.

Generic Function: search-for-vertex (graph value &key key test error-if-not-found?)

Search ’graph’ for a vertex with element
’value’. The ’key’ function is applied to each element before that element is compared with the value. The comparison is done using the function ’test’. If you don’t need to use key or test, then consider using find-vertex instead.

Package

cl-graph.

Source

api.lisp.

Methods
Method: search-for-vertex ((graph basic-graph) vertex &key key test error-if-not-found?)
Source

graph.lisp.

Method: search-for-vertex ((graph basic-graph) (vertex basic-vertex) &key key test error-if-not-found?)
Source

graph.lisp.

Generic Function: source-edge-count (vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: source-edge-count ((vertex basic-vertex))
Source

graph.lisp.

Generic Function: source-edges (vertex &optional filter)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: source-edges ((vertex basic-vertex) &optional filter)
Source

graph.lisp.

Generic Function: source-vertex (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: source-vertex ((edge graph-container-edge))
Source

graph-container.lisp.

Generic Function: subgraph-containing (graph vertex &key depth new-graph)

Returns a new graph that is a subset of ‘graph‘
that contains ‘vertex‘ and all of the other vertexes that can be reached from vertex by paths of less than or equal of length ‘depth‘. If depth is not specified, then the entire sub-graph reachable from vertex will be returned. [?? Edge weights are always assumed to be one.]

Package

cl-graph.

Source

api.lisp.

Generic Function: tag-all-edges (thing)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: tag-all-edges ((vertex basic-vertex))
Source

graph.lisp.

Method: tag-all-edges ((graph basic-graph))
Source

graph.lisp.

Generic Function: tagged-edge-p (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: tagged-edge-p ((edge basic-edge))
Source

graph.lisp.

Generic Function: target-edge-count (vertex)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: target-edge-count ((vertex basic-vertex))
Source

graph.lisp.

Generic Function: target-edges (vertex &optional filter)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: target-edges ((vertex basic-vertex) &optional filter)
Source

graph.lisp.

Generic Function: target-vertex (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: target-vertex ((edge graph-container-edge))
Source

graph-container.lisp.

Generic Function: topological-sort (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: topological-sort ((graph basic-graph))
Source

graph.lisp.

Generic Reader: undirected-edge-class (object)
Package

cl-graph.

Methods
Reader Method: undirected-edge-class ((basic-graph basic-graph))

The class used to create undirected edges in the graph. This must extend the base-class for edges of the graph type and undirected-edge-mixin. E.g., all undirected edges of a graph-container must extend graph-container-edge and undirected-edge-mixin.

Source

graph.lisp.

Target Slot

undirected-edge-class.

Generic Function: undirected-edge-p (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: undirected-edge-p ((edge basic-edge))
Source

graph.lisp.

Generic Function: untag-all-edges (thing)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: untag-all-edges ((vertex basic-vertex))
Source

graph.lisp.

Method: untag-all-edges ((graph basic-graph))
Source

graph.lisp.

Generic Function: untagged-edge-p (edge)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: untagged-edge-p ((edge basic-edge))
Source

graph.lisp.

Generic Reader: vertex (condition)
Package

cl-graph.

Methods
Reader Method: vertex ((condition graph-vertex-not-found-in-edge-error))
Source

graph.lisp.

Target Slot

vertex.

Reader Method: vertex ((condition graph-vertex-not-found-error))
Source

graph.lisp.

Target Slot

vertex.

Generic Reader: vertex-1 (condition)
Package

cl-graph.

Methods
Reader Method: vertex-1 ((graph-container-edge graph-container-edge))

‘Vertex-1‘ is one of the two vertexes that an edge connects. In a directed-edge, ‘vertex-1‘ is also the ‘source-vertex‘.

Source

graph-container.lisp.

Target Slot

vertex-1.

Reader Method: vertex-1 ((condition graph-edge-not-found-error))
Source

graph.lisp.

Target Slot

vertex-1.

Generic Reader: vertex-2 (condition)
Package

cl-graph.

Methods
Reader Method: vertex-2 ((graph-container-edge graph-container-edge))

‘Vertex-2‘ is one of the two vertexes that an edge connects. In a directed edge, ‘vertex-2‘ is also the ‘target-vertex‘.

Source

graph-container.lisp.

Target Slot

vertex-2.

Reader Method: vertex-2 ((condition graph-edge-not-found-error))
Source

graph.lisp.

Target Slot

vertex-2.

Generic Function: vertex->dot (vertex stream)

Unless a different vertex-formatter is specified
with a keyword argument, this is used by graph->dot to output vertex formatting for ‘vertex‘ onto the ‘stream‘. The function can assume that openning and closing square brackets and label have already been taken care of.

Package

cl-graph.

Source

api.lisp.

Methods
Method: vertex->dot ((vertex dot-vertex-mixin) stream)
Source

graphviz-support.lisp.

Method: vertex->dot ((v basic-vertex) (stream stream))
Source

graphviz-support.lisp.

Generic Reader: vertex-class (object)
Package

cl-graph.

Methods
Reader Method: vertex-class ((basic-graph basic-graph))

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.

Source

graph.lisp.

Target Slot

vertex-class.

Generic Function: vertex-count (graph)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: vertex-count ((graph basic-graph))
Source

graph.lisp.

Generic Reader: vertex-id (object)
Package

cl-graph.

Methods
Reader Method: vertex-id ((basic-vertex basic-vertex))

‘Vertex-id‘ is used internally to keep track of vertexes.

Source

graph.lisp.

Target Slot

vertex-id.

Generic Function: vertexes (thing)

Returns a list of the vertexes of ‘thing‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: vertexes ((edge graph-container-edge))
Source

graph-container.lisp.

Method: vertexes ((graph basic-graph))
Source

graph.lisp.

Generic Function: vertices-share-edge-p (vertex-1 vertex-2)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: vertices-share-edge-p ((vertex-1 graph-container-vertex) (vertex-2 graph-container-vertex))
Source

graph-container.lisp.

Generic Function: width-in-pixels (thing)
Package

cl-graph.

Methods
Method: width-in-pixels ((thing dot-vertex-mixin))

Return the attribute in pixels assuming 72 dpi

Source

graphviz-support.lisp.

Generic Function: (setf width-in-pixels) (thing)
Package

cl-graph.

Methods
Method: (setf width-in-pixels) ((thing dot-vertex-mixin))

Set the attribute in pixels assuming 72 dpi

Source

graphviz-support.lisp.


6.1.6 Standalone methods

Method: container->list ((graph basic-graph))
Package

metabang.cl-containers.

Source

graph.lisp.

Writer Method: (setf element) ((basic-edge basic-edge))

automatically generated writer method

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

element.

Reader Method: element ((basic-edge basic-edge))

automatically generated reader method

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

element.

Writer Method: (setf element) :around ((vertex basic-vertex))
Package

metabang.utilities.

Source

graph.lisp.

Target Slot

element.

Method: (setf element) ((basic-vertex basic-vertex))

The ‘element‘ is the value that this vertex represents.

Package

metabang.utilities.

Source

graph.lisp.

Reader Method: element ((basic-vertex basic-vertex))

The ‘element‘ is the value that this vertex represents.

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

element.

Method: empty! ((graph basic-graph))
Package

metabang.cl-containers.

Source

graph.lisp.

Method: empty! :after ((graph graph-container))
Package

metabang.cl-containers.

Source

graph-container.lisp.

Method: initialize-instance :after ((object basic-edge) &key graph edge-id)
Source

graph.lisp.

Method: initialize-instance :after ((object basic-graph) &key initial-size &allow-other-keys)
Source

graph.lisp.

Method: initialize-instance :after ((object graph-container-directed-edge) &key source-vertex target-vertex)
Source

graph-container.lisp.

Method: initialize-instance :after ((object graph-container-vertex) &key vertex-edges-container-class)
Source

graph-container.lisp.

Method: initialize-instance :after ((object graph-matrix) &key)
Source

graph-matrix.lisp.

Method: initialize-instance :after ((object basic-vertex) &key graph vertex-id)
Source

graph.lisp.

Method: insert-item ((graph basic-graph) value)
Package

metabang.cl-containers.

Source

graph.lisp.

Method: iterate-children ((vertex graph-container-vertex) fn)
Package

metabang.cl-containers.

Source

graph-container.lisp.

Method: iterate-elements ((graph basic-graph) fn)
Package

metabang.cl-containers.

Source

graph.lisp.

Method: iterate-nodes ((graph basic-graph) fn)
Package

metabang.cl-containers.

Source

graph.lisp.

Method: make-load-form ((self basic-edge) &optional environment)
Source

graph.lisp.

Method: make-load-form ((self basic-graph) &optional environment)
Source

graph.lisp.

Method: make-load-form ((self basic-vertex) &optional environment)
Source

graph.lisp.

Method: make-node-for-container ((graph graph-container) node &key)
Package

metabang.cl-containers.

Source

graph-container.lisp.

Method: print-object ((object basic-edge) stream)
Source

graph.lisp.

Method: print-object ((graph basic-graph) stream)
Source

graph.lisp.

Method: print-object ((vertex basic-vertex) stream)
Source

graph.lisp.

Method: print-object ((object graph-container-edge) stream)
Source

graph-container.lisp.

Method: size ((graph basic-graph))
Package

metabang.utilities.

Source

graph.lisp.

Writer Method: (setf tag) ((basic-edge basic-edge))

The ‘tag‘ is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

tag.

Reader Method: tag ((basic-edge basic-edge))

The ‘tag‘ is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

tag.

Writer Method: (setf tag) ((basic-vertex basic-vertex))

The ‘tag‘ slot is used by some algorithms to keep track of which vertexes have been visited.

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

tag.

Reader Method: tag ((basic-vertex basic-vertex))

The ‘tag‘ slot is used by some algorithms to keep track of which vertexes have been visited.

Package

metabang.utilities.

Source

graph.lisp.

Target Slot

tag.

Method: weight ((edge basic-edge))
Package

metabang.cl-containers.

Source

graph.lisp.

Writer Method: (setf weight) ((weighted-edge-mixin weighted-edge-mixin))

The value of the weight of this edge. Defaults to 1.0d0

Package

metabang.cl-containers.

Source

graph.lisp.

Target Slot

weight.

Reader Method: weight ((weighted-edge-mixin weighted-edge-mixin))

The value of the weight of this edge. Defaults to 1.0d0

Package

metabang.cl-containers.

Source

graph.lisp.

Target Slot

weight.


6.1.7 Conditions

Condition: edge-error

This is the root condition for graph errors that have to do with edges.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

graph-error.

Direct subclasses

graph-vertex-not-found-in-edge-error.

Direct methods

edge.

Direct slots
Slot: edge

The ‘edge‘ that is implicated in the condition.

Initform

(quote nil)

Initargs

:edge

Readers

edge.

Writers

This slot is read-only.

Condition: graph-edge-not-found-error

This condition is signaled when an edge cannot be found in a graph.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

graph-error.

Direct methods
Direct slots
Slot: vertex-1

One of the vertexes for which no connecting edge could be found.

Initform

(quote nil)

Initargs

:vertex-1

Readers

vertex-1.

Writers

This slot is read-only.

Slot: vertex-2

One of the vertexes for which no connecting edge could be found.

Initform

(quote nil)

Initargs

:vertex-2

Readers

vertex-2.

Writers

This slot is read-only.

Condition: graph-error

This is the root condition for errors that occur while running code in CL-Graph.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods

graph.

Direct slots
Slot: graph
Initform

(quote nil)

Initargs

:graph

Readers

graph.

Writers

This slot is read-only.

Condition: graph-vertex-not-found-error

This condition is signaled when a vertex can not be found in a graph.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

graph-error.

Direct methods

vertex.

Direct slots
Slot: vertex

The vertex or value that could not be found in the graph.

Initform

(quote nil)

Initargs

:vertex

Readers

vertex.

Writers

This slot is read-only.

Condition: graph-vertex-not-found-in-edge-error

This condition is signaled when a vertex can not be found in an edge.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

edge-error.

Direct methods

vertex.

Direct slots
Slot: vertex
Initform

(quote nil)

Initargs

:vertex

Readers

vertex.

Writers

This slot is read-only.


6.1.8 Classes

Class: basic-edge

This is the root class for all edges in CL-Graph.

Package

cl-graph.

Source

graph.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: edge-id

The ‘edge-id‘ is used internally by CL-Graph for bookkeeping.

Initform

0

Initargs

:edge-id

Readers

edge-id.

Writers

(setf edge-id).

Slot: element
Package

metabang.utilities.

Initargs

:element, :value

Readers
Writers
Slot: tag

The ‘tag‘ is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]

Package

metabang.utilities.

Initargs

:tag

Readers

tag.

Writers

(setf tag).

Slot: graph

The ‘graph‘ of which this edge is a part.

Initargs

:graph

Readers

graph.

Writers

This slot is read-only.

Slot: color

The ‘color‘ is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]

Initargs

:color

Readers

color.

Writers

(setf color).

Class: basic-graph

This is the root class for all graphs in CL-Graph.

Package

cl-graph.

Source

graph.lisp.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:initial-size25
Direct slots
Slot: graph-vertexes
Initargs

:graph-vertexes

Readers

graph-vertexes.

Writers

This slot is read-only.

Slot: graph-edges
Initargs

:graph-edges

Readers

graph-edges.

Writers

This slot is read-only.

Slot: largest-vertex-id
Initform

0

Readers

largest-vertex-id.

Writers

This slot is read-only.

Slot: largest-edge-id
Initform

0

Readers

largest-edge-id.

Writers

This slot is read-only.

Slot: 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 cl-graph:basic-vertex)

Initargs

:vertex-class

Readers

vertex-class.

Writers

This slot is read-only.

Slot: 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 cl-graph::basic-directed-edge)

Initargs

:directed-edge-class

Readers

directed-edge-class.

Writers

This slot is read-only.

Slot: 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 and undirected-edge-mixin. E.g., all undirected edges of a graph-container must extend graph-container-edge and undirected-edge-mixin.

Initform

(quote cl-graph::basic-undirected-edge)

Initargs

:undirected-edge-class

Readers

undirected-edge-class.

Writers

This slot is read-only.

Slot: contains-directed-edge-p

Returns true if graph contains at least one directed edge. [?? Not sure if this is really kept up-to-date.]

Readers

contains-directed-edge-p.

Writers

(setf contains-directed-edge-p).

Slot: contains-undirected-edge-p

Returns true if graph contains at least one undirected edge. [?? Not sure if this is really kept up-to-date.]

Readers

contains-undirected-edge-p.

Writers

(setf contains-undirected-edge-p).

Slot: vertex-test
Initform

(function eq)

Initargs

:vertex-test

Readers

vertex-test.

Writers

This slot is read-only.

Slot: vertex-key
Initform

(function identity)

Initargs

:vertex-key

Readers

vertex-key.

Writers

This slot is read-only.

Slot: edge-test
Initform

(function eq)

Initargs

:edge-test

Readers

edge-test.

Writers

This slot is read-only.

Slot: edge-key
Initform

(function identity)

Initargs

:edge-key

Readers

edge-key.

Writers

This slot is read-only.

Slot: default-edge-type

The default edge type for the graph. This should be one of :undirected or :directed.

Initargs

:default-edge-type

Readers

default-edge-type.

Writers

This slot is read-only.

Slot: default-edge-class

The default edge class for the graph.

Initargs

:default-edge-class

Readers

default-edge-class.

Writers

This slot is read-only.

Class: basic-vertex

This is the root class for all vertexes in CL-Graph.

Package

cl-graph.

Source

graph.lisp.

Direct superclasses

container-node-mixin.

Direct subclasses
Direct methods
Direct slots
Slot: depth-level

‘Depth-level‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Type

number

Initform

0

Initargs

:depth-level

Readers

depth-level.

Writers

(setf depth-level).

Slot: vertex-id

‘Vertex-id‘ is used internally to keep track of vertexes.

Initform

0

Initargs

:vertex-id

Readers

vertex-id.

Writers

This slot is read-only.

Slot: element

The ‘element‘ is the value that this vertex represents.

Package

metabang.utilities.

Initargs

:element

Readers
Writers
Slot: tag

The ‘tag‘ slot is used by some algorithms to keep track of which vertexes have been visited.

Package

metabang.utilities.

Initargs

:tag

Readers

tag.

Writers

(setf tag).

Slot: graph

The graph in which this vertex is contained.

Initargs

:graph

Readers

graph.

Writers

(setf graph).

Slot: color

The ‘color‘ slot is used by some algorithms for bookkeeping.

Initargs

:color

Readers

color.

Writers

(setf color).

Slot: rank

The ‘rank‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Initargs

:rank

Readers

rank.

Writers

(setf rank).

Slot: previous-node

‘Previous-node‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Initargs

:previous-node

Readers

previous-node.

Writers

(setf previous-node).

Slot: next-node

‘Next-node‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Initargs

:next-node

Readers

next-node.

Writers

(setf next-node).

Slot: discovery-time

‘Discovery-time‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Initform

-1

Initargs

:discovery-time

Readers

discovery-time.

Writers

(setf discovery-time).

Slot: finish-time

‘Finish-time‘ is used by some algorithms for bookkeeping. [?? Should be in a mixin]

Initform

-1

Initargs

:finish-time

Readers

finish-time.

Writers

(setf finish-time).

Class: directed-edge-mixin

This mixin class is used to indicate that an edge is directed.

Package

cl-graph.

Source

graph.lisp.

Direct subclasses
Class: dot-attributes-mixin
Package

cl-graph.

Source

graphviz-support.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: dot-attributes
Initargs

:dot-attributes

Readers

dot-attributes.

Writers

(setf dot-attributes).

Class: dot-directed-edge
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses
Class: dot-edge
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses
Direct subclasses

dot-directed-edge.

Class: dot-edge-mixin
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses

dot-attributes-mixin.

Direct subclasses

dot-edge.

Direct methods
Class: dot-graph
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses
Class: dot-graph-mixin
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses

dot-attributes-mixin.

Direct subclasses

dot-graph.

Direct methods
Direct Default Initargs
InitargValue
:vertex-class(quote dot-vertex)
:directed-edge-class(quote dot-directed-edge)
:undirected-edge-class(quote dot-edge)
Class: dot-vertex
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses
Class: dot-vertex-mixin
Package

cl-graph.

Source

graphviz-support.lisp.

Direct superclasses

dot-attributes-mixin.

Direct subclasses

dot-vertex.

Direct methods
Class: graph-container

A graph container is essentially an adjacency list graph representation [?? The Bad name comes from it being implemented with containers... ugh]

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses
  • basic-graph.
  • container-uses-nodes-mixin.
  • initial-contents-mixin.
  • iteratable-container-mixin.
  • non-associative-container-mixin.
Direct subclasses

dot-graph.

Direct methods
Direct Default Initargs
InitargValue
:vertex-class(quote graph-container-vertex)
:directed-edge-class(quote graph-container-directed-edge)
:undirected-edge-class(quote graph-container-undirected-edge)
Direct slots
Slot: vertex-pair->edge
Initform

(metabang.cl-containers:make-container (quote metabang.cl-containers:simple-associative-container) :test (function equal))

Readers

vertex-pair->edge.

Writers

This slot is read-only.

Class: graph-container-directed-edge

A graph-container-directed-edge is both a directed-edge-mixin and a graph-container-edge.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses
Direct subclasses

weighted-directed-edge.

Direct methods

initialize-instance.

Class: graph-container-edge

This is the root class for edges in graph-containers. It adds vertex-1 and vertex-2 slots.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses

basic-edge.

Direct subclasses
Direct methods
Direct slots
Slot: vertex-1

‘Vertex-1‘ is one of the two vertexes that an edge connects. In a directed-edge, ‘vertex-1‘ is also the ‘source-vertex‘.

Initargs

:vertex-1

Readers

vertex-1.

Writers

This slot is read-only.

Slot: vertex-2

‘Vertex-2‘ is one of the two vertexes that an edge connects. In a directed edge, ‘vertex-2‘ is also the ‘target-vertex‘.

Initargs

:vertex-2

Readers

vertex-2.

Writers

This slot is read-only.

Class: graph-container-undirected-edge

A graph-container-undirected-edge is both an undirected-edge-mixin and a graph-container-edge.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses
Direct subclasses

weighted-undirected-edge.

Class: graph-container-vertex

A graph container vertex keeps track of its edges in the the vertex-edges slot. The storage for this defaults to a vector-container but can be changed using the vertex-edges-container-class initarg.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses

basic-vertex.

Direct subclasses

dot-vertex.

Direct methods
Direct Default Initargs
InitargValue
:vertex-edges-container-class(quote vector-container)
Direct slots
Slot: vertex-edges
Readers

vertex-edges.

Writers

This slot is read-only.

Class: graph-matrix

Stub for matrix based graph. Not implemented.

Package

cl-graph.

Source

graph-matrix.lisp.

Direct superclasses

basic-graph.

Direct methods
Direct Default Initargs
InitargValue
:vertex-class(quote graph-matrix-vertex)
:undirected-edge-class(quote graph-matrix-edge)
Direct slots
Slot: adjencency-matrix
Readers

adjencency-matrix.

Writers

This slot is read-only.

Class: graph-matrix-edge

Stub for matrix based graph. Not implemented.

Package

cl-graph.

Source

graph-matrix.lisp.

Direct superclasses

basic-edge.

Class: graph-matrix-vertex

Stub for matrix based graph. Not implemented.

Package

cl-graph.

Source

graph-matrix.lisp.

Direct superclasses

basic-vertex.

Class: undirected-edge-mixin

This mixin class is used to indicate that an edge is undirected.

Package

cl-graph.

Source

graph.lisp.

Direct subclasses

graph-container-undirected-edge.

Direct methods
Class: weighted-directed-edge

A weighted edge is a weighted-edge-mixin, a directed-edge-mixin, and a graph-container-edge.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses
Class: weighted-edge

A weighted edge is both a weighted-edge-mixin and a graph-container-edge.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses
Class: weighted-edge-mixin

This mixin class adds a ‘weight‘ slot to an edge.

Package

cl-graph.

Source

graph.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: weight

The value of the weight of this edge. Defaults to 1.0d0

Package

metabang.cl-containers.

Initform

1.0d0

Initargs

:weight

Readers

weight.

Writers

(setf weight).

Class: weighted-undirected-edge

A weighted undirected edge is a weighted-edge-mixin, an undirected-edge-mixin, and a graph-container-edge.

Package

cl-graph.

Source

graph-container.lisp.

Direct superclasses

6.2 Internals


6.2.1 Special variables

Special Variable: *depth-first-search-timer*
Package

cl-graph.

Source

graph-algorithms.lisp.

Special Variable: *dot-edge-attributes*
Package

cl-graph.

Source

graphviz-support.lisp.

Special Variable: *dot-path*

Path to ‘dot‘

Package

cl-graph.

Source

graphviz-support.lisp.

Special Variable: *dot-vertex-attributes*
Package

cl-graph.

Source

graphviz-support.lisp.


6.2.2 Macros

Macro: defpixel-inch-accessors (name attr type)
Package

cl-graph.

Source

graphviz-support.lisp.


6.2.3 Ordinary functions

Function: append-unique (list1 list2)
Package

cl-graph.

Source

graph.lisp.

Function: copy-vertex-datum (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

cl-graph.

Alias for

copy-seq.

Function: dissoc-val-from-key-or-delete (container index val)
Package

cl-graph.

Source

graph-container.lisp.

Function: format-dot-attributes (object dot-attributes stream)
Package

cl-graph.

Source

graphviz-support.lisp.

Function: get-nodelist-relatives (node-list)

Collects set of unique relatives of nodes in node-list.

Package

cl-graph.

Source

graph.lisp.

Function: graph-search-for-cl-graph (states goal-p successors combiner &key state= old-states new-state-fn)

Find a state that satisfies goal-p. Start with states, and search according to successors and combiner. Don’t try the same state twice.

Package

cl-graph.

Source

graph.lisp.

Function: make-vertex-datum (&key color depth parent)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: neighbors-to-children (new-graph root &optional visited-list)
Package

cl-graph.

Source

graph.lisp.

Function: node-color (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: (setf node-color) (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: node-depth (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: (setf node-depth) (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: node-parent (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: (setf node-parent) (structure)
Package

cl-graph.

Source

graph-algorithms.lisp.

Function: remove-list (original target)

Removes all elements in original from target.

Package

cl-graph.

Source

graph.lisp.

Function: textify (object)
Package

cl-graph.

Source

graphviz-support.lisp.


6.2.4 Generic functions

Generic Function: add-edge-to-vertex (edge vertex)

Attaches the edge ‘edge‘ to the vertex ‘vertex‘.

Package

cl-graph.

Source

api.lisp.

Methods
Method: add-edge-to-vertex :around ((edge graph-container-edge) (vertex graph-container-vertex))
Source

graph-container.lisp.

Method: add-edge-to-vertex ((edge basic-edge) (vertex basic-vertex))
Source

graph.lisp.

Generic Function: add-edges-to-graph (graph edges &key if-duplicate-do)
Package

cl-graph.

Source

api.lisp.

Methods
Method: add-edges-to-graph ((graph basic-graph) (edges list) &key if-duplicate-do)
Source

graph-algorithms.lisp.

Generic Reader: adjencency-matrix (object)
Package

cl-graph.

Methods
Reader Method: adjencency-matrix ((graph-matrix graph-matrix))

automatically generated reader method

Source

graph-matrix.lisp.

Target Slot

adjencency-matrix.

Generic Function: assign-level (vertex level)

Sets the depth of ‘vertex‘ to level and then
recursively sets the depth of all of the children of ‘vertex‘ to (1+ level).

Package

cl-graph.

Source

api.lisp.

Methods
Method: assign-level ((node basic-vertex) (level number))
Source

graph.lisp.

Method: assign-level ((graph basic-graph) (level number))
Source

graph.lisp.

Generic Function: associate-edge-with-pair (graph edge)
Package

cl-graph.

Methods
Method: associate-edge-with-pair :after ((graph graph-container) (edge undirected-edge-mixin))
Source

graph-container.lisp.

Method: associate-edge-with-pair ((graph graph-container) (edge graph-container-edge))
Source

graph-container.lisp.

Generic Function: breadth-first-search-graph (graph source)
Package

cl-graph.

Source

api.lisp.

Methods
Method: breadth-first-search-graph ((graph basic-graph) (source basic-vertex))
Source

graph-algorithms.lisp.

Method: breadth-first-search-graph ((graph basic-graph) source)
Source

graph-algorithms.lisp.

Generic Function: breadth-first-visitor (graph source fn)
Package

cl-graph.

Source

api.lisp.

Methods
Method: breadth-first-visitor ((graph basic-graph) (source basic-vertex) fn)
Source

graph-algorithms.lisp.

Method: breadth-first-visitor ((graph basic-graph) source fn)
Source

graph-algorithms.lisp.

Add edges between vertexes in the new-graph for
which the matching vertexes in the old-graph have edges. The vertex matching is done using ‘find-vertex‘.

Package

cl-graph.

Source

api.lisp.

Generic Function: dfs-cross-edge-p (edge)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-cross-edge-p ((edge graph-container-edge))
Source

graph-algorithms.lisp.

Generic Function: dfs-forward-edge-p (edge)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-forward-edge-p ((edge graph-container-edge))
Source

graph-algorithms.lisp.

Generic Function: dfs-visit (graph u fn sorter)
Package

cl-graph.

Source

api.lisp.

Methods
Method: dfs-visit ((graph graph-container) (u basic-vertex) fn sorter)
Source

graph-algorithms.lisp.

Generic Function: dissociate-edge-from-pair (graph edge)
Package

cl-graph.

Methods
Method: dissociate-edge-from-pair :after ((graph graph-container) (edge undirected-edge-mixin))
Source

graph-container.lisp.

Method: dissociate-edge-from-pair ((graph graph-container) (edge graph-container-edge))
Source

graph-container.lisp.

Generic Reader: edge-key (object)
Package

cl-graph.

Methods
Reader Method: edge-key ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

edge-key.

Generic Reader: edge-test (object)
Package

cl-graph.

Methods
Reader Method: edge-test ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

edge-test.

Generic Function: ensure-valid-dot-attribute (key object)
Package

cl-graph.

Source

api.lisp.

Methods
Method: ensure-valid-dot-attribute (key (object dot-edge-mixin))
Source

graphviz-support.lisp.

Method: ensure-valid-dot-attribute (key (object dot-vertex-mixin))
Source

graphviz-support.lisp.

Method: ensure-valid-dot-attribute (key (object dot-graph-mixin))
Source

graphviz-support.lisp.

Generic Function: generate-assortative-graph-with-degree-distributions (generator graph edge-count assortativity-matrix average-degrees degree-distributions vertex-labeler &key)
Package

cl-graph.

Source

api.lisp.

Generic Function: generate-gnm (generator graph n m &key)

Generate a ’classic’ random graph G(n, m) with n vertexes and m edges.

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-gnp (generator graph n p &key)

Generate the Erd"os-R’enyi random graph G(n,
p). I.e., a graph with n vertexes where each possible edge appears with probability p. This implementation is from Efficient Generation of Large Random Networks (see batagelj-generation-2005 in doab).

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-preferential-attachment-graph (generator graph size kind-matrix minimum-degree assortativity-matrix &key)

Generate a Barabasi-Albert type scale free graph
with multiple vertex kinds.

The idea behind this implementation is from Efficient Generation of Large Random Networks (see batagelj-generation-2005 in moab).

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-scale-free-graph (generator graph size kind-matrix add-edge-count other-vertex-kind-samplers vertex-labeler &key)

Generates a ’scale-free’ graph using preferential
attachment – too damn slow.

Size is the number of vertexes; kind-matrix is as in generate-undirected-graph-via-assortativity-matrix, etc.; add-edge-count is the number of edges to add for each vertex; other-vertex-kind-samplers are confusing...; and vertex-labeler is used to create vertex elements (as in other generators).

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-simple-preferential-attachment-graph (generator graph size minimum-degree)

Generate a simple scale-free graph using the
preferential attachment mechanism of Barabasi and Albert. The implementation is from Efficient Generation of Large Random Networks (see batagelj-generation-2005 in moab). Self-edges are possible.

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-undirected-graph-via-assortativity-matrix (generator graph-class size edge-count kind-matrix assortativity-matrix vertex-labeler &key)

This generates a random graph with ’size’ vertexes.
The vertexes can be in multiple different classes and the number of vertexes in each class is specified in the ’kind-matrix’. If the matrix has all fixnums, then it specifies the counts and these should add up to the size. If the kind-matrix contains non-fixnums then the values are treated as ratios.

The assortativity-matrix specifies the number of edges between vertexes of different kinds.

The vertex-labeler is a function of two parameters: the vertex kind and the index. It should return whatever the ’value’ of the vertex ought to be.

Package

cl-graph.

Source

api.lisp.

Generic Function: generate-undirected-graph-via-vertex-probabilities (generator graph-class size kind-matrix probability-matrix vertex-labeler)

Generate an Erd"os-R/’enyi like random graph
having multiple vertex kinds. See the function Gnp for the simple one vertex kind method.

Generator and graph-class specify the random number generator used and the class of the graph produced; Size the number of vertexes. Kind matrix is a vector of ratios specifying the distribution of vertex kinds {0 ... (1- k)}. The probability-matrix is a k x k matrix specifying the probability that two vertexes of the row-kind and the column-kind will have an edge between them. vertex-labeler is a function of two arguments (the kind and the vertex number) called to create values for vertexes. It will be called only once for each vertex created.

The clever sequential sampling technique in this implementation is from Efficient Generation of Large Random Networks (see batagelj-generation-2005 in moab).

Package

cl-graph.

Source

api.lisp.

Generic Function: initialize-vertex-data (graph)
Package

cl-graph.

Source

api.lisp.

Methods
Method: initialize-vertex-data ((graph basic-graph))
Source

graph-algorithms.lisp.

Generic Reader: largest-edge-id (object)
Package

cl-graph.

Methods
Reader Method: largest-edge-id ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

largest-edge-id.

Generic Reader: largest-vertex-id (object)
Package

cl-graph.

Methods
Reader Method: largest-vertex-id ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

largest-vertex-id.

Generic Function: make-edge-container (graph initial-size)

Make-edge-container is called during graph creation
and can be used to create specialized containers to hold graph edges.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-edge-container ((graph graph-matrix) initial-size)
Source

graph-matrix.lisp.

Method: make-edge-container ((graph graph-container) initial-size)
Source

graph-container.lisp.

Generic Function: make-edge-for-graph (graph vertex-1 vertex-2 &key edge-type edge-class &allow-other-keys)

It should not usually necessary to call this in
user code. Creates a new edge between vertex-1 and vertex-2 for the graph. If the edge-type and edge-class are not specified, they will be determined from the defaults of the graph.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-edge-for-graph ((graph basic-graph) (vertex-1 basic-vertex) (vertex-2 basic-vertex) &rest args &key edge-type edge-class &allow-other-keys)
Source

graph.lisp.

Generic Function: make-vertex-container (graph initial-size)

Make-vertex-container is called during graph
creation and can be used to create specialized containers to hold graph vertexes.

Package

cl-graph.

Source

api.lisp.

Methods
Method: make-vertex-container ((graph graph-matrix) initial-size)
Source

graph-matrix.lisp.

Method: make-vertex-container ((graph graph-container) initial-size)
Source

graph-container.lisp.

Generic Function: map-over-all-combinations-of-k-edges (vertex k fn)
Package

cl-graph.

Source

api.lisp.

Methods
Method: map-over-all-combinations-of-k-edges ((vertex basic-vertex) k fn)
Source

graph-algorithms.lisp.

Method: map-over-all-combinations-of-k-edges ((graph basic-graph) k fn)
Source

graph-algorithms.lisp.

Generic Function: map-over-all-combinations-of-k-vertexes (graph k fn)
Package

cl-graph.

Source

api.lisp.

Methods
Method: map-over-all-combinations-of-k-vertexes ((graph basic-graph) k fn)
Source

graph-algorithms.lisp.

Generic Function: mst-find-set (vertex)
Package

cl-graph.

Source

api.lisp.

Methods
Method: mst-find-set ((vertex basic-vertex))
Source

graph-algorithms.lisp.

Package

cl-graph.

Source

api.lisp.

Methods
Source

graph-algorithms.lisp.

Generic Function: mst-make-set (vertex)
Package

cl-graph.

Source

api.lisp.

Methods
Method: mst-make-set ((vertex basic-vertex))
Source

graph-algorithms.lisp.

Generic Function: mst-tree-union (v1 v2)
Package

cl-graph.

Source

api.lisp.

Methods
Method: mst-tree-union ((v1 basic-vertex) (v2 basic-vertex))
Source

graph-algorithms.lisp.

Generic Function: tag-edges (edges)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: tag-edges ((edges list))
Source

graph.lisp.

Generic Function: traverse-elements (thing style fn)

WIP

Package

cl-graph.

Source

api.lisp.

Methods
Method: traverse-elements ((thing basic-graph) (style symbol) fn)
Source

graph.lisp.

Generic Function: traverse-elements-helper (thing style marker fn)

WIP

Package

cl-graph.

Source

api.lisp.

Methods
Method: traverse-elements-helper ((thing basic-vertex) (style (eql :breadth)) marker fn)
Source

graph.lisp.

Method: traverse-elements-helper ((thing basic-vertex) (style (eql :depth)) marker fn)
Source

graph.lisp.

Generic Function: untag-edges (edges)

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

Package

cl-graph.

Source

api.lisp.

Methods
Method: untag-edges ((edges list))
Source

graph.lisp.

Generic Reader: value (object)
Package

cl-graph.

Methods
Reader Method: value ((basic-edge basic-edge))

automatically generated reader method

Source

graph.lisp.

Target Slot

element.

Reader Method: value ((basic-vertex basic-vertex))

The ‘element‘ is the value that this vertex represents.

Source

graph.lisp.

Target Slot

element.

Generic Writer: (setf value) (object)
Package

cl-graph.

Methods
Writer Method: (setf value) ((basic-edge basic-edge))

automatically generated writer method

Source

graph.lisp.

Target Slot

element.

Writer Method: (setf value) ((basic-vertex basic-vertex))

The ‘element‘ is the value that this vertex represents.

Source

graph.lisp.

Target Slot

element.

Generic Reader: vertex-edges (object)
Package

cl-graph.

Methods
Reader Method: vertex-edges ((graph-container-vertex graph-container-vertex))

automatically generated reader method

Source

graph-container.lisp.

Target Slot

vertex-edges.

Generic Reader: vertex-key (object)
Package

cl-graph.

Methods
Reader Method: vertex-key ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

vertex-key.

Generic Reader: vertex-pair->edge (object)
Package

cl-graph.

Methods
Reader Method: vertex-pair->edge ((graph-container graph-container))

automatically generated reader method

Source

graph-container.lisp.

Target Slot

vertex-pair->edge.

Generic Reader: vertex-test (object)
Package

cl-graph.

Methods
Reader Method: vertex-test ((basic-graph basic-graph))

automatically generated reader method

Source

graph.lisp.

Target Slot

vertex-test.

Generic Function: write-name-for-dot (attribute stream)
Package

cl-graph.

Source

api.lisp.

Methods
Method: write-name-for-dot ((attribute (eql :url)) stream)
Source

graphviz-support.lisp.

Method: write-name-for-dot (attribute stream)
Source

graphviz-support.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

(
(setf color): Public generic functions
(setf color): Public generic functions
(setf color): Public generic functions
(setf contains-directed-edge-p): Public generic functions
(setf contains-directed-edge-p): Public generic functions
(setf contains-undirected-edge-p): Public generic functions
(setf contains-undirected-edge-p): Public generic functions
(setf depth-level): Public generic functions
(setf depth-level): Public generic functions
(setf discovery-time): Public generic functions
(setf discovery-time): Public generic functions
(setf dot-attribute-value): Public generic functions
(setf dot-attribute-value): Public generic functions
(setf dot-attribute-value): Public generic functions
(setf dot-attributes): Public generic functions
(setf dot-attributes): Public generic functions
(setf edge-id): Public generic functions
(setf edge-id): Public generic functions
(setf element): Public standalone methods
(setf element): Public standalone methods
(setf element): Public standalone methods
(setf finish-time): Public generic functions
(setf finish-time): Public generic functions
(setf graph): Public generic functions
(setf graph): Public generic functions
(setf height-in-pixels): Public generic functions
(setf height-in-pixels): Public generic functions
(setf next-node): Public generic functions
(setf next-node): Public generic functions
(setf node-color): Private ordinary functions
(setf node-depth): Private ordinary functions
(setf node-parent): Private ordinary functions
(setf previous-node): Public generic functions
(setf previous-node): Public generic functions
(setf rank): Public generic functions
(setf rank): Public generic functions
(setf tag): Public standalone methods
(setf tag): Public standalone methods
(setf value): Private generic functions
(setf value): Private generic functions
(setf value): Private generic functions
(setf weight): Public standalone methods
(setf width-in-pixels): Public generic functions
(setf width-in-pixels): Public generic functions

A
add-edge: Public generic functions
add-edge: Public generic functions
add-edge: Public generic functions
add-edge-between-vertexes: Public generic functions
add-edge-between-vertexes: Public generic functions
add-edge-between-vertexes: Public generic functions
add-edge-to-vertex: Private generic functions
add-edge-to-vertex: Private generic functions
add-edge-to-vertex: Private generic functions
add-edges-to-graph: Private generic functions
add-edges-to-graph: Private generic functions
add-vertex: Public generic functions
add-vertex: Public generic functions
add-vertex: Public generic functions
add-vertex: Public generic functions
adjacentp: Public generic functions
adjacentp: Public generic functions
adjacentp: Public generic functions
adjencency-matrix: Private generic functions
adjencency-matrix: Private generic functions
any-undirected-cycle-p: Public generic functions
any-undirected-cycle-p: Public generic functions
append-unique: Private ordinary functions
assign-level: Private generic functions
assign-level: Private generic functions
assign-level: Private generic functions
associate-edge-with-pair: Private generic functions
associate-edge-with-pair: Private generic functions
associate-edge-with-pair: Private generic functions
assortativity-coefficient: Public generic functions

B
breadth-first-search-graph: Private generic functions
breadth-first-search-graph: Private generic functions
breadth-first-search-graph: Private generic functions
breadth-first-visitor: Private generic functions
breadth-first-visitor: Private generic functions
breadth-first-visitor: Private generic functions

C
child-vertexes: Public generic functions
child-vertexes: Public generic functions
color: Public generic functions
color: Public generic functions
color: Public generic functions
Compiler Macro, vertex-count: Public compiler macros
complete-links: Private generic functions
connected-component-count: Public generic functions
connected-component-count: Public generic functions
connected-components: Public generic functions
connected-components: Public generic functions
connected-graph-p: Public generic functions
connected-graph-p: Public generic functions
container->list: Public standalone methods
contains-directed-edge-p: Public generic functions
contains-directed-edge-p: Public generic functions
contains-undirected-edge-p: Public generic functions
contains-undirected-edge-p: Public generic functions
copy-vertex-datum: Private ordinary functions

D
default-edge-class: Public generic functions
default-edge-class: Public generic functions
default-edge-type: Public generic functions
default-edge-type: Public generic functions
defpixel-inch-accessors: Private macros
delete-all-edges: Public generic functions
delete-all-edges: Public generic functions
delete-all-edges: Public generic functions
delete-edge: Public generic functions
delete-edge: Public generic functions
delete-edge: Public generic functions
delete-edge-between-vertexes: Public generic functions
delete-edge-between-vertexes: Public generic functions
delete-vertex: Public generic functions
delete-vertex: Public generic functions
delete-vertex: Public generic functions
delete-vertex: Public generic functions
depth: Public generic functions
depth: Public generic functions
depth-level: Public generic functions
depth-level: Public generic functions
dfs: Public generic functions
dfs: Public generic functions
dfs: Public generic functions
dfs-back-edge-p: Public generic functions
dfs-back-edge-p: Public generic functions
dfs-cross-edge-p: Private generic functions
dfs-cross-edge-p: Private generic functions
dfs-edge-type: Public generic functions
dfs-edge-type: Public generic functions
dfs-forward-edge-p: Private generic functions
dfs-forward-edge-p: Private generic functions
dfs-tree-edge-p: Public generic functions
dfs-tree-edge-p: Public generic functions
dfs-visit: Private generic functions
dfs-visit: Private generic functions
directed-edge-class: Public generic functions
directed-edge-class: Public generic functions
directed-edge-p: Public generic functions
directed-edge-p: Public generic functions
discovery-time: Public generic functions
discovery-time: Public generic functions
dissoc-val-from-key-or-delete: Private ordinary functions
dissociate-edge-from-pair: Private generic functions
dissociate-edge-from-pair: Private generic functions
dissociate-edge-from-pair: Private generic functions
dot-attribute-value: Public generic functions
dot-attribute-value: Public generic functions
dot-attributes: Public generic functions
dot-attributes: Public generic functions

E
edge: Public generic functions
edge: Public generic functions
edge->dot: Public generic functions
edge->dot: Public generic functions
edge->dot: Public generic functions
edge-count: Public generic functions
edge-count: Public generic functions
edge-count: Public generic functions
edge-count: Public generic functions
edge-id: Public generic functions
edge-id: Public generic functions
edge-key: Private generic functions
edge-key: Private generic functions
edge-lessp-by-direction: Public generic functions
edge-lessp-by-direction: Public generic functions
edge-lessp-by-weight: Public generic functions
edge-lessp-by-weight: Public generic functions
edge-test: Private generic functions
edge-test: Private generic functions
edges: Public generic functions
edges: Public generic functions
edges: Public generic functions
element: Public standalone methods
element: Public standalone methods
empty!: Public standalone methods
empty!: Public standalone methods
ensure-valid-dot-attribute: Private generic functions
ensure-valid-dot-attribute: Private generic functions
ensure-valid-dot-attribute: Private generic functions
ensure-valid-dot-attribute: Private generic functions

F
find-connected-components: Public generic functions
find-connected-components: Public generic functions
find-edge: Public generic functions
find-edge: Public generic functions
find-edge-between-vertexes: Public generic functions
find-edge-between-vertexes: Public generic functions
find-edge-between-vertexes: Public generic functions
find-edge-between-vertexes-if: Public generic functions
find-edge-between-vertexes-if: Public generic functions
find-edge-between-vertexes-if: Public generic functions
find-edge-if: Public generic functions
find-edge-if: Public generic functions
find-edges-if: Public generic functions
find-edges-if: Public generic functions
find-vertex: Public generic functions
find-vertex: Public generic functions
find-vertex: Public generic functions
find-vertex: Public generic functions
find-vertex-if: Public generic functions
find-vertex-if: Public generic functions
find-vertex-if: Public generic functions
find-vertexes-if: Public generic functions
find-vertexes-if: Public generic functions
finish-time: Public generic functions
finish-time: Public generic functions
force-undirected: Public generic functions
force-undirected: Public generic functions
format-dot-attributes: Private ordinary functions
Function, (setf node-color): Private ordinary functions
Function, (setf node-depth): Private ordinary functions
Function, (setf node-parent): Private ordinary functions
Function, append-unique: Private ordinary functions
Function, copy-vertex-datum: Private ordinary functions
Function, dissoc-val-from-key-or-delete: Private ordinary functions
Function, format-dot-attributes: Private ordinary functions
Function, get-nodelist-relatives: Private ordinary functions
Function, get-transitive-closure: Public ordinary functions
Function, graph-search-for-cl-graph: Private ordinary functions
Function, make-vertex-datum: Private ordinary functions
Function, map-paths: Public ordinary functions
Function, map-shortest-paths: Public ordinary functions
Function, neighbors-to-children: Private ordinary functions
Function, node-color: Private ordinary functions
Function, node-depth: Private ordinary functions
Function, node-parent: Private ordinary functions
Function, print-dot-key-value: Public ordinary functions
Function, remove-list: Private ordinary functions
Function, textify: Private ordinary functions

G
generate-assortative-graph-with-degree-distributions: Private generic functions
generate-directed-free-tree: Public generic functions
generate-directed-free-tree: Public generic functions
generate-gnm: Private generic functions
generate-gnp: Private generic functions
generate-preferential-attachment-graph: Private generic functions
generate-scale-free-graph: Private generic functions
generate-simple-preferential-attachment-graph: Private generic functions
generate-undirected-graph-via-assortativity-matrix: Private generic functions
generate-undirected-graph-via-vertex-probabilities: Private generic functions
Generic Function, (setf color): Public generic functions
Generic Function, (setf contains-directed-edge-p): Public generic functions
Generic Function, (setf contains-undirected-edge-p): Public generic functions
Generic Function, (setf depth-level): Public generic functions
Generic Function, (setf discovery-time): Public generic functions
Generic Function, (setf dot-attribute-value): Public generic functions
Generic Function, (setf dot-attributes): Public generic functions
Generic Function, (setf edge-id): Public generic functions
Generic Function, (setf finish-time): Public generic functions
Generic Function, (setf graph): Public generic functions
Generic Function, (setf height-in-pixels): Public generic functions
Generic Function, (setf next-node): Public generic functions
Generic Function, (setf previous-node): Public generic functions
Generic Function, (setf rank): Public generic functions
Generic Function, (setf value): Private generic functions
Generic Function, (setf width-in-pixels): Public generic functions
Generic Function, add-edge: Public generic functions
Generic Function, add-edge-between-vertexes: Public generic functions
Generic Function, add-edge-to-vertex: Private generic functions
Generic Function, add-edges-to-graph: Private generic functions
Generic Function, add-vertex: Public generic functions
Generic Function, adjacentp: Public generic functions
Generic Function, adjencency-matrix: Private generic functions
Generic Function, any-undirected-cycle-p: Public generic functions
Generic Function, assign-level: Private generic functions
Generic Function, associate-edge-with-pair: Private generic functions
Generic Function, assortativity-coefficient: Public generic functions
Generic Function, breadth-first-search-graph: Private generic functions
Generic Function, breadth-first-visitor: Private generic functions
Generic Function, child-vertexes: Public generic functions
Generic Function, color: Public generic functions
Generic Function, complete-links: Private generic functions
Generic Function, connected-component-count: Public generic functions
Generic Function, connected-components: Public generic functions
Generic Function, connected-graph-p: Public generic functions
Generic Function, contains-directed-edge-p: Public generic functions
Generic Function, contains-undirected-edge-p: Public generic functions
Generic Function, default-edge-class: Public generic functions
Generic Function, default-edge-type: Public generic functions
Generic Function, delete-all-edges: Public generic functions
Generic Function, delete-edge: Public generic functions
Generic Function, delete-edge-between-vertexes: Public generic functions
Generic Function, delete-vertex: Public generic functions
Generic Function, depth: Public generic functions
Generic Function, depth-level: Public generic functions
Generic Function, dfs: Public generic functions
Generic Function, dfs-back-edge-p: Public generic functions
Generic Function, dfs-cross-edge-p: Private generic functions
Generic Function, dfs-edge-type: Public generic functions
Generic Function, dfs-forward-edge-p: Private generic functions
Generic Function, dfs-tree-edge-p: Public generic functions
Generic Function, dfs-visit: Private generic functions
Generic Function, directed-edge-class: Public generic functions
Generic Function, directed-edge-p: Public generic functions
Generic Function, discovery-time: Public generic functions
Generic Function, dissociate-edge-from-pair: Private generic functions
Generic Function, dot-attribute-value: Public generic functions
Generic Function, dot-attributes: Public generic functions
Generic Function, edge: Public generic functions
Generic Function, edge->dot: Public generic functions
Generic Function, edge-count: Public generic functions
Generic Function, edge-id: Public generic functions
Generic Function, edge-key: Private generic functions
Generic Function, edge-lessp-by-direction: Public generic functions
Generic Function, edge-lessp-by-weight: Public generic functions
Generic Function, edge-test: Private generic functions
Generic Function, edges: Public generic functions
Generic Function, ensure-valid-dot-attribute: Private generic functions
Generic Function, find-connected-components: Public generic functions
Generic Function, find-edge: Public generic functions
Generic Function, find-edge-between-vertexes: Public generic functions
Generic Function, find-edge-between-vertexes-if: Public generic functions
Generic Function, find-edge-if: Public generic functions
Generic Function, find-edges-if: Public generic functions
Generic Function, find-vertex: Public generic functions
Generic Function, find-vertex-if: Public generic functions
Generic Function, find-vertexes-if: Public generic functions
Generic Function, finish-time: Public generic functions
Generic Function, force-undirected: Public generic functions
Generic Function, generate-assortative-graph-with-degree-distributions: Private generic functions
Generic Function, generate-directed-free-tree: Public generic functions
Generic Function, generate-gnm: Private generic functions
Generic Function, generate-gnp: Private generic functions
Generic Function, generate-preferential-attachment-graph: Private generic functions
Generic Function, generate-scale-free-graph: Private generic functions
Generic Function, generate-simple-preferential-attachment-graph: Private generic functions
Generic Function, generate-undirected-graph-via-assortativity-matrix: Private generic functions
Generic Function, generate-undirected-graph-via-vertex-probabilities: Private generic functions
Generic Function, graph: Public generic functions
Generic Function, graph->dot: Public generic functions
Generic Function, graph->dot-external: Public generic functions
Generic Function, graph->dot-properties: Public generic functions
Generic Function, graph-edge-mixture-matrix: Public generic functions
Generic Function, graph-edges: Public generic functions
Generic Function, graph-mixing-matrix: Public generic functions
Generic Function, graph-roots: Public generic functions
Generic Function, graph-vertexes: Public generic functions
Generic Function, has-children-p: Public generic functions
Generic Function, has-parent-p: Public generic functions
Generic Function, height-in-pixels: Public generic functions
Generic Function, in-cycle-p: Public generic functions
Generic Function, in-undirected-cycle-p: Public generic functions
Generic Function, initialize-vertex-data: Private generic functions
Generic Function, iterate-edges: Public generic functions
Generic Function, iterate-neighbors: Public generic functions
Generic Function, iterate-parents: Public generic functions
Generic Function, iterate-source-edges: Public generic functions
Generic Function, iterate-target-edges: Public generic functions
Generic Function, iterate-vertexes: Public generic functions
Generic Function, largest-edge-id: Private generic functions
Generic Function, largest-vertex-id: Private generic functions
Generic Function, make-edge-container: Private generic functions
Generic Function, make-edge-for-graph: Private generic functions
Generic Function, make-filtered-graph: Public generic functions
Generic Function, make-graph: Public generic functions
Generic Function, make-graph-from-vertexes: Public generic functions
Generic Function, make-vertex-container: Private generic functions
Generic Function, make-vertex-edges-container: Public generic functions
Generic Function, make-vertex-for-graph: Public generic functions
Generic Function, map-over-all-combinations-of-k-edges: Private generic functions
Generic Function, map-over-all-combinations-of-k-vertexes: Private generic functions
Generic Function, minimum-spanning-tree: Public generic functions
Generic Function, mst-find-set: Private generic functions
Generic Function, mst-link: Private generic functions
Generic Function, mst-make-set: Private generic functions
Generic Function, mst-tree-union: Private generic functions
Generic Function, neighbor-vertexes: Public generic functions
Generic Function, next-node: Public generic functions
Generic Function, number-of-neighbors: Public generic functions
Generic Function, other-vertex: Public generic functions
Generic Function, out-edge-for-vertex-p: Public generic functions
Generic Function, parent-vertexes: Public generic functions
Generic Function, previous-node: Public generic functions
Generic Function, project-bipartite-graph: Public generic functions
Generic Function, rank: Public generic functions
Generic Function, renumber-edges: Public generic functions
Generic Function, renumber-vertexes: Public generic functions
Generic Function, replace-vertex: Public generic functions
Generic Function, rooted-dfs: Public generic functions
Generic Function, rootp: Public generic functions
Generic Function, search-for-vertex: Public generic functions
Generic Function, source-edge-count: Public generic functions
Generic Function, source-edges: Public generic functions
Generic Function, source-vertex: Public generic functions
Generic Function, subgraph-containing: Public generic functions
Generic Function, tag-all-edges: Public generic functions
Generic Function, tag-edges: Private generic functions
Generic Function, tagged-edge-p: Public generic functions
Generic Function, target-edge-count: Public generic functions
Generic Function, target-edges: Public generic functions
Generic Function, target-vertex: Public generic functions
Generic Function, topological-sort: Public generic functions
Generic Function, traverse-elements: Private generic functions
Generic Function, traverse-elements-helper: Private generic functions
Generic Function, undirected-edge-class: Public generic functions
Generic Function, undirected-edge-p: Public generic functions
Generic Function, untag-all-edges: Public generic functions
Generic Function, untag-edges: Private generic functions
Generic Function, untagged-edge-p: Public generic functions
Generic Function, value: Private generic functions
Generic Function, vertex: Public generic functions
Generic Function, vertex-1: Public generic functions
Generic Function, vertex-2: Public generic functions
Generic Function, vertex->dot: Public generic functions
Generic Function, vertex-class: Public generic functions
Generic Function, vertex-count: Public generic functions
Generic Function, vertex-edges: Private generic functions
Generic Function, vertex-id: Public generic functions
Generic Function, vertex-key: Private generic functions
Generic Function, vertex-pair->edge: Private generic functions
Generic Function, vertex-test: Private generic functions
Generic Function, vertexes: Public generic functions
Generic Function, vertices-share-edge-p: Public generic functions
Generic Function, width-in-pixels: Public generic functions
Generic Function, write-name-for-dot: Private generic functions
get-nodelist-relatives: Private ordinary functions
get-transitive-closure: Public ordinary functions
graph: Public generic functions
graph: Public generic functions
graph: Public generic functions
graph: Public generic functions
graph->dot: Public generic functions
graph->dot: Public generic functions
graph->dot: Public generic functions
graph->dot: Public generic functions
graph->dot: Public generic functions
graph->dot: Public generic functions
graph->dot-external: Public generic functions
graph->dot-external: Public generic functions
graph->dot-properties: Public generic functions
graph->dot-properties: Public generic functions
graph->dot-properties: Public generic functions
graph-edge-mixture-matrix: Public generic functions
graph-edges: Public generic functions
graph-edges: Public generic functions
graph-mixing-matrix: Public generic functions
graph-roots: Public generic functions
graph-roots: Public generic functions
graph-search-for-cl-graph: Private ordinary functions
graph-vertexes: Public generic functions
graph-vertexes: Public generic functions

H
has-children-p: Public generic functions
has-children-p: Public generic functions
has-parent-p: Public generic functions
has-parent-p: Public generic functions
height-in-pixels: Public generic functions
height-in-pixels: Public generic functions

I
in-cycle-p: Public generic functions
in-cycle-p: Public generic functions
in-cycle-p: Public generic functions
in-undirected-cycle-p: Public generic functions
in-undirected-cycle-p: Public generic functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-vertex-data: Private generic functions
initialize-vertex-data: Private generic functions
insert-item: Public standalone methods
iterate-children: Public standalone methods
iterate-edges: Public generic functions
iterate-edges: Public generic functions
iterate-edges: Public generic functions
iterate-elements: Public standalone methods
iterate-neighbors: Public generic functions
iterate-neighbors: Public generic functions
iterate-nodes: Public standalone methods
iterate-parents: Public generic functions
iterate-parents: Public generic functions
iterate-source-edges: Public generic functions
iterate-source-edges: Public generic functions
iterate-target-edges: Public generic functions
iterate-target-edges: Public generic functions
iterate-vertexes: Public generic functions
iterate-vertexes: Public generic functions
iterate-vertexes: Public generic functions

L
largest-edge-id: Private generic functions
largest-edge-id: Private generic functions
largest-vertex-id: Private generic functions
largest-vertex-id: Private generic functions

M
Macro, defpixel-inch-accessors: Private macros
Macro, with-changing-vertex: Public macros
make-edge-container: Private generic functions
make-edge-container: Private generic functions
make-edge-container: Private generic functions
make-edge-for-graph: Private generic functions
make-edge-for-graph: Private generic functions
make-filtered-graph: Public generic functions
make-graph: Public generic functions
make-graph: Public generic functions
make-graph-from-vertexes: Public generic functions
make-load-form: Public standalone methods
make-load-form: Public standalone methods
make-load-form: Public standalone methods
make-node-for-container: Public standalone methods
make-vertex-container: Private generic functions
make-vertex-container: Private generic functions
make-vertex-container: Private generic functions
make-vertex-datum: Private ordinary functions
make-vertex-edges-container: Public generic functions
make-vertex-edges-container: Public generic functions
make-vertex-for-graph: Public generic functions
make-vertex-for-graph: Public generic functions
map-over-all-combinations-of-k-edges: Private generic functions
map-over-all-combinations-of-k-edges: Private generic functions
map-over-all-combinations-of-k-edges: Private generic functions
map-over-all-combinations-of-k-vertexes: Private generic functions
map-over-all-combinations-of-k-vertexes: Private generic functions
map-paths: Public ordinary functions
map-shortest-paths: Public ordinary functions
Method, (setf color): Public generic functions
Method, (setf color): Public generic functions
Method, (setf contains-directed-edge-p): Public generic functions
Method, (setf contains-undirected-edge-p): Public generic functions
Method, (setf depth-level): Public generic functions
Method, (setf discovery-time): Public generic functions
Method, (setf dot-attribute-value): Public generic functions
Method, (setf dot-attribute-value): Public generic functions
Method, (setf dot-attributes): Public generic functions
Method, (setf edge-id): Public generic functions
Method, (setf element): Public standalone methods
Method, (setf element): Public standalone methods
Method, (setf element): Public standalone methods
Method, (setf finish-time): Public generic functions
Method, (setf graph): Public generic functions
Method, (setf height-in-pixels): Public generic functions
Method, (setf next-node): Public generic functions
Method, (setf previous-node): Public generic functions
Method, (setf rank): Public generic functions
Method, (setf tag): Public standalone methods
Method, (setf tag): Public standalone methods
Method, (setf value): Private generic functions
Method, (setf value): Private generic functions
Method, (setf weight): Public standalone methods
Method, (setf width-in-pixels): Public generic functions
Method, add-edge: Public generic functions
Method, add-edge: Public generic functions
Method, add-edge-between-vertexes: Public generic functions
Method, add-edge-between-vertexes: Public generic functions
Method, add-edge-to-vertex: Private generic functions
Method, add-edge-to-vertex: Private generic functions
Method, add-edges-to-graph: Private generic functions
Method, add-vertex: Public generic functions
Method, add-vertex: Public generic functions
Method, add-vertex: Public generic functions
Method, adjacentp: Public generic functions
Method, adjacentp: Public generic functions
Method, adjencency-matrix: Private generic functions
Method, any-undirected-cycle-p: Public generic functions
Method, assign-level: Private generic functions
Method, assign-level: Private generic functions
Method, associate-edge-with-pair: Private generic functions
Method, associate-edge-with-pair: Private generic functions
Method, breadth-first-search-graph: Private generic functions
Method, breadth-first-search-graph: Private generic functions
Method, breadth-first-visitor: Private generic functions
Method, breadth-first-visitor: Private generic functions
Method, child-vertexes: Public generic functions
Method, color: Public generic functions
Method, color: Public generic functions
Method, connected-component-count: Public generic functions
Method, connected-components: Public generic functions
Method, connected-graph-p: Public generic functions
Method, container->list: Public standalone methods
Method, contains-directed-edge-p: Public generic functions
Method, contains-undirected-edge-p: Public generic functions
Method, default-edge-class: Public generic functions
Method, default-edge-type: Public generic functions
Method, delete-all-edges: Public generic functions
Method, delete-all-edges: Public generic functions
Method, delete-edge: Public generic functions
Method, delete-edge: Public generic functions
Method, delete-edge-between-vertexes: Public generic functions
Method, delete-vertex: Public generic functions
Method, delete-vertex: Public generic functions
Method, delete-vertex: Public generic functions
Method, depth: Public generic functions
Method, depth-level: Public generic functions
Method, dfs: Public generic functions
Method, dfs: Public generic functions
Method, dfs-back-edge-p: Public generic functions
Method, dfs-cross-edge-p: Private generic functions
Method, dfs-edge-type: Public generic functions
Method, dfs-forward-edge-p: Private generic functions
Method, dfs-tree-edge-p: Public generic functions
Method, dfs-visit: Private generic functions
Method, directed-edge-class: Public generic functions
Method, directed-edge-p: Public generic functions
Method, discovery-time: Public generic functions
Method, dissociate-edge-from-pair: Private generic functions
Method, dissociate-edge-from-pair: Private generic functions
Method, dot-attribute-value: Public generic functions
Method, dot-attributes: Public generic functions
Method, edge: Public generic functions
Method, edge->dot: Public generic functions
Method, edge->dot: Public generic functions
Method, edge-count: Public generic functions
Method, edge-count: Public generic functions
Method, edge-count: Public generic functions
Method, edge-id: Public generic functions
Method, edge-key: Private generic functions
Method, edge-lessp-by-direction: Public generic functions
Method, edge-lessp-by-weight: Public generic functions
Method, edge-test: Private generic functions
Method, edges: Public generic functions
Method, edges: Public generic functions
Method, element: Public standalone methods
Method, element: Public standalone methods
Method, empty!: Public standalone methods
Method, empty!: Public standalone methods
Method, ensure-valid-dot-attribute: Private generic functions
Method, ensure-valid-dot-attribute: Private generic functions
Method, ensure-valid-dot-attribute: Private generic functions
Method, find-connected-components: Public generic functions
Method, find-edge: Public generic functions
Method, find-edge-between-vertexes: Public generic functions
Method, find-edge-between-vertexes: Public generic functions
Method, find-edge-between-vertexes-if: Public generic functions
Method, find-edge-between-vertexes-if: Public generic functions
Method, find-edge-if: Public generic functions
Method, find-edges-if: Public generic functions
Method, find-vertex: Public generic functions
Method, find-vertex: Public generic functions
Method, find-vertex: Public generic functions
Method, find-vertex-if: Public generic functions
Method, find-vertex-if: Public generic functions
Method, find-vertexes-if: Public generic functions
Method, finish-time: Public generic functions
Method, force-undirected: Public generic functions
Method, generate-directed-free-tree: Public generic functions
Method, graph: Public generic functions
Method, graph: Public generic functions
Method, graph: Public generic functions
Method, graph->dot: Public generic functions
Method, graph->dot: Public generic functions
Method, graph->dot: Public generic functions
Method, graph->dot: Public generic functions
Method, graph->dot: Public generic functions
Method, graph->dot-external: Public generic functions
Method, graph->dot-properties: Public generic functions
Method, graph->dot-properties: Public generic functions
Method, graph-edges: Public generic functions
Method, graph-roots: Public generic functions
Method, graph-vertexes: Public generic functions
Method, has-children-p: Public generic functions
Method, has-parent-p: Public generic functions
Method, height-in-pixels: Public generic functions
Method, in-cycle-p: Public generic functions
Method, in-cycle-p: Public generic functions
Method, in-undirected-cycle-p: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-vertex-data: Private generic functions
Method, insert-item: Public standalone methods
Method, iterate-children: Public standalone methods
Method, iterate-edges: Public generic functions
Method, iterate-edges: Public generic functions
Method, iterate-elements: Public standalone methods
Method, iterate-neighbors: Public generic functions
Method, iterate-nodes: Public standalone methods
Method, iterate-parents: Public generic functions
Method, iterate-source-edges: Public generic functions
Method, iterate-target-edges: Public generic functions
Method, iterate-vertexes: Public generic functions
Method, iterate-vertexes: Public generic functions
Method, largest-edge-id: Private generic functions
Method, largest-vertex-id: Private generic functions
Method, make-edge-container: Private generic functions
Method, make-edge-container: Private generic functions
Method, make-edge-for-graph: Private generic functions
Method, make-graph: Public generic functions
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, make-node-for-container: Public standalone methods
Method, make-vertex-container: Private generic functions
Method, make-vertex-container: Private generic functions
Method, make-vertex-edges-container: Public generic functions
Method, make-vertex-for-graph: Public generic functions
Method, map-over-all-combinations-of-k-edges: Private generic functions
Method, map-over-all-combinations-of-k-edges: Private generic functions
Method, map-over-all-combinations-of-k-vertexes: Private generic functions
Method, minimum-spanning-tree: Public generic functions
Method, mst-find-set: Private generic functions
Method, mst-link: Private generic functions
Method, mst-make-set: Private generic functions
Method, mst-tree-union: Private generic functions
Method, neighbor-vertexes: Public generic functions
Method, next-node: Public generic functions
Method, number-of-neighbors: Public generic functions
Method, other-vertex: Public generic functions
Method, other-vertex: Public generic functions
Method, out-edge-for-vertex-p: Public generic functions
Method, parent-vertexes: Public generic functions
Method, previous-node: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, project-bipartite-graph: Public generic functions
Method, project-bipartite-graph: Public generic functions
Method, rank: Public generic functions
Method, renumber-edges: Public generic functions
Method, renumber-vertexes: Public generic functions
Method, replace-vertex: Public generic functions
Method, replace-vertex: Public generic functions
Method, replace-vertex: Public generic functions
Method, rooted-dfs: Public generic functions
Method, rooted-dfs: Public generic functions
Method, rootp: Public generic functions
Method, search-for-vertex: Public generic functions
Method, search-for-vertex: Public generic functions
Method, size: Public standalone methods
Method, source-edge-count: Public generic functions
Method, source-edges: Public generic functions
Method, source-vertex: Public generic functions
Method, tag: Public standalone methods
Method, tag: Public standalone methods
Method, tag-all-edges: Public generic functions
Method, tag-all-edges: Public generic functions
Method, tag-edges: Private generic functions
Method, tagged-edge-p: Public generic functions
Method, target-edge-count: Public generic functions
Method, target-edges: Public generic functions
Method, target-vertex: Public generic functions
Method, topological-sort: Public generic functions
Method, traverse-elements: Private generic functions
Method, traverse-elements-helper: Private generic functions
Method, traverse-elements-helper: Private generic functions
Method, undirected-edge-class: Public generic functions
Method, undirected-edge-p: Public generic functions
Method, untag-all-edges: Public generic functions
Method, untag-all-edges: Public generic functions
Method, untag-edges: Private generic functions
Method, untagged-edge-p: Public generic functions
Method, value: Private generic functions
Method, value: Private generic functions
Method, vertex: Public generic functions
Method, vertex: Public generic functions
Method, vertex-1: Public generic functions
Method, vertex-1: Public generic functions
Method, vertex-2: Public generic functions
Method, vertex-2: Public generic functions
Method, vertex->dot: Public generic functions
Method, vertex->dot: Public generic functions
Method, vertex-class: Public generic functions
Method, vertex-count: Public generic functions
Method, vertex-edges: Private generic functions
Method, vertex-id: Public generic functions
Method, vertex-key: Private generic functions
Method, vertex-pair->edge: Private generic functions
Method, vertex-test: Private generic functions
Method, vertexes: Public generic functions
Method, vertexes: Public generic functions
Method, vertices-share-edge-p: Public generic functions
Method, weight: Public standalone methods
Method, weight: Public standalone methods
Method, width-in-pixels: Public generic functions
Method, write-name-for-dot: Private generic functions
Method, write-name-for-dot: Private generic functions
minimum-spanning-tree: Public generic functions
minimum-spanning-tree: Public generic functions
mst-find-set: Private generic functions
mst-find-set: Private generic functions
mst-link: Private generic functions
mst-link: Private generic functions
mst-make-set: Private generic functions
mst-make-set: Private generic functions
mst-tree-union: Private generic functions
mst-tree-union: Private generic functions

N
neighbor-vertexes: Public generic functions
neighbor-vertexes: Public generic functions
neighbors-to-children: Private ordinary functions
next-node: Public generic functions
next-node: Public generic functions
node-color: Private ordinary functions
node-depth: Private ordinary functions
node-parent: Private ordinary functions
number-of-neighbors: Public generic functions
number-of-neighbors: Public generic functions

O
other-vertex: Public generic functions
other-vertex: Public generic functions
other-vertex: Public generic functions
out-edge-for-vertex-p: Public generic functions
out-edge-for-vertex-p: Public generic functions

P
parent-vertexes: Public generic functions
parent-vertexes: Public generic functions
previous-node: Public generic functions
previous-node: Public generic functions
print-dot-key-value: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
project-bipartite-graph: Public generic functions
project-bipartite-graph: Public generic functions
project-bipartite-graph: Public generic functions

R
rank: Public generic functions
rank: Public generic functions
remove-list: Private ordinary functions
renumber-edges: Public generic functions
renumber-edges: Public generic functions
renumber-vertexes: Public generic functions
renumber-vertexes: Public generic functions
replace-vertex: Public generic functions
replace-vertex: Public generic functions
replace-vertex: Public generic functions
replace-vertex: Public generic functions
rooted-dfs: Public generic functions
rooted-dfs: Public generic functions
rooted-dfs: Public generic functions
rootp: Public generic functions
rootp: Public generic functions

S
search-for-vertex: Public generic functions
search-for-vertex: Public generic functions
search-for-vertex: Public generic functions
size: Public standalone methods
source-edge-count: Public generic functions
source-edge-count: Public generic functions
source-edges: Public generic functions
source-edges: Public generic functions
source-vertex: Public generic functions
source-vertex: Public generic functions
subgraph-containing: Public generic functions

T
tag: Public standalone methods
tag: Public standalone methods
tag-all-edges: Public generic functions
tag-all-edges: Public generic functions
tag-all-edges: Public generic functions
tag-edges: Private generic functions
tag-edges: Private generic functions
tagged-edge-p: Public generic functions
tagged-edge-p: Public generic functions
target-edge-count: Public generic functions
target-edge-count: Public generic functions
target-edges: Public generic functions
target-edges: Public generic functions
target-vertex: Public generic functions
target-vertex: Public generic functions
textify: Private ordinary functions
topological-sort: Public generic functions
topological-sort: Public generic functions
traverse-elements: Private generic functions
traverse-elements: Private generic functions
traverse-elements-helper: Private generic functions
traverse-elements-helper: Private generic functions
traverse-elements-helper: Private generic functions

U
undirected-edge-class: Public generic functions
undirected-edge-class: Public generic functions
undirected-edge-p: Public generic functions
undirected-edge-p: Public generic functions
untag-all-edges: Public generic functions
untag-all-edges: Public generic functions
untag-all-edges: Public generic functions
untag-edges: Private generic functions
untag-edges: Private generic functions
untagged-edge-p: Public generic functions
untagged-edge-p: Public generic functions

V
value: Private generic functions
value: Private generic functions
value: Private generic functions
vertex: Public generic functions
vertex: Public generic functions
vertex: Public generic functions
vertex-1: Public generic functions
vertex-1: Public generic functions
vertex-1: Public generic functions
vertex-2: Public generic functions
vertex-2: Public generic functions
vertex-2: Public generic functions
vertex->dot: Public generic functions
vertex->dot: Public generic functions
vertex->dot: Public generic functions
vertex-class: Public generic functions
vertex-class: Public generic functions
vertex-count: Public compiler macros
vertex-count: Public generic functions
vertex-count: Public generic functions
vertex-edges: Private generic functions
vertex-edges: Private generic functions
vertex-id: Public generic functions
vertex-id: Public generic functions
vertex-key: Private generic functions
vertex-key: Private generic functions
vertex-pair->edge: Private generic functions
vertex-pair->edge: Private generic functions
vertex-test: Private generic functions
vertex-test: Private generic functions
vertexes: Public generic functions
vertexes: Public generic functions
vertexes: Public generic functions
vertices-share-edge-p: Public generic functions
vertices-share-edge-p: Public generic functions

W
weight: Public standalone methods
weight: Public standalone methods
width-in-pixels: Public generic functions
width-in-pixels: Public generic functions
with-changing-vertex: Public macros
write-name-for-dot: Private generic functions
write-name-for-dot: Private generic functions
write-name-for-dot: Private generic functions


A.3 Variables

Jump to:   *  
A   C   D   E   F   G   L   N   P   R   S   T   U   V   W  
Index Entry  Section

*
*depth-first-search-timer*: Private special variables
*dot-edge-attributes*: Private special variables
*dot-graph-attributes*: Public special variables
*dot-path*: Private special variables
*dot-vertex-attributes*: Private special variables

A
adjencency-matrix: Public classes

C
color: Public classes
color: Public classes
contains-directed-edge-p: Public classes
contains-undirected-edge-p: Public classes

D
default-edge-class: Public classes
default-edge-type: Public classes
depth-level: Public classes
directed-edge-class: Public classes
discovery-time: Public classes
dot-attributes: Public classes

E
edge: Public conditions
edge-id: Public classes
edge-key: Public classes
edge-test: Public classes
element: Public classes
element: Public classes

F
finish-time: Public classes

G
graph: Public conditions
graph: Public classes
graph: Public classes
graph-edges: Public classes
graph-vertexes: Public classes

L
largest-edge-id: Public classes
largest-vertex-id: Public classes

N
next-node: Public classes

P
previous-node: Public classes

R
rank: Public classes

S
Slot, adjencency-matrix: Public classes
Slot, color: Public classes
Slot, color: Public classes
Slot, contains-directed-edge-p: Public classes
Slot, contains-undirected-edge-p: Public classes
Slot, default-edge-class: Public classes
Slot, default-edge-type: Public classes
Slot, depth-level: Public classes
Slot, directed-edge-class: Public classes
Slot, discovery-time: Public classes
Slot, dot-attributes: Public classes
Slot, edge: Public conditions
Slot, edge-id: Public classes
Slot, edge-key: Public classes
Slot, edge-test: Public classes
Slot, element: Public classes
Slot, element: Public classes
Slot, finish-time: Public classes
Slot, graph: Public conditions
Slot, graph: Public classes
Slot, graph: Public classes
Slot, graph-edges: Public classes
Slot, graph-vertexes: Public classes
Slot, largest-edge-id: Public classes
Slot, largest-vertex-id: Public classes
Slot, next-node: Public classes
Slot, previous-node: Public classes
Slot, rank: Public classes
Slot, tag: Public classes
Slot, tag: Public classes
Slot, undirected-edge-class: Public classes
Slot, vertex: Public conditions
Slot, vertex: Public conditions
Slot, vertex-1: Public conditions
Slot, vertex-1: Public classes
Slot, vertex-2: Public conditions
Slot, vertex-2: Public classes
Slot, vertex-class: Public classes
Slot, vertex-edges: Public classes
Slot, vertex-id: Public classes
Slot, vertex-key: Public classes
Slot, vertex-pair->edge: Public classes
Slot, vertex-test: Public classes
Slot, weight: Public classes
Special Variable, *depth-first-search-timer*: Private special variables
Special Variable, *dot-edge-attributes*: Private special variables
Special Variable, *dot-graph-attributes*: Public special variables
Special Variable, *dot-path*: Private special variables
Special Variable, *dot-vertex-attributes*: Private special variables

T
tag: Public classes
tag: Public classes

U
undirected-edge-class: Public classes

V
vertex: Public conditions
vertex: Public conditions
vertex-1: Public conditions
vertex-1: Public classes
vertex-2: Public conditions
vertex-2: Public classes
vertex-class: Public classes
vertex-edges: Public classes
vertex-id: Public classes
vertex-key: Public classes
vertex-pair->edge: Public classes
vertex-test: Public classes

W
weight: Public classes


A.4 Data types

Jump to:   A   B   C   D   E   F   G   I   M   N   P   S   U   W  
Index Entry  Section

A
api.lisp: The cl-graph/dev/api․lisp file

B
basic-edge: Public classes
basic-graph: Public classes
basic-vertex: Public classes

C
cl-graph: The cl-graph system
cl-graph: The cl-graph package
cl-graph.asd: The cl-graph/cl-graph․asd file
Class, basic-edge: Public classes
Class, basic-graph: Public classes
Class, basic-vertex: Public classes
Class, directed-edge-mixin: Public classes
Class, dot-attributes-mixin: Public classes
Class, dot-directed-edge: Public classes
Class, dot-edge: Public classes
Class, dot-edge-mixin: Public classes
Class, dot-graph: Public classes
Class, dot-graph-mixin: Public classes
Class, dot-vertex: Public classes
Class, dot-vertex-mixin: Public classes
Class, graph-container: Public classes
Class, graph-container-directed-edge: Public classes
Class, graph-container-edge: Public classes
Class, graph-container-undirected-edge: Public classes
Class, graph-container-vertex: Public classes
Class, graph-matrix: Public classes
Class, graph-matrix-edge: Public classes
Class, graph-matrix-vertex: Public classes
Class, undirected-edge-mixin: Public classes
Class, weighted-directed-edge: Public classes
Class, weighted-edge: Public classes
Class, weighted-edge-mixin: Public classes
Class, weighted-undirected-edge: Public classes
Condition, edge-error: Public conditions
Condition, graph-edge-not-found-error: Public conditions
Condition, graph-error: Public conditions
Condition, graph-vertex-not-found-error: Public conditions
Condition, graph-vertex-not-found-in-edge-error: Public conditions
copying: The cl-graph/copying file

D
dev: The cl-graph/dev module
directed-edge-mixin: Public classes
dot-attributes-mixin: Public classes
dot-directed-edge: Public classes
dot-edge: Public classes
dot-edge-mixin: Public classes
dot-graph: Public classes
dot-graph-mixin: Public classes
dot-vertex: Public classes
dot-vertex-mixin: Public classes

E
edge-error: Public conditions

F
File, api.lisp: The cl-graph/dev/api․lisp file
File, cl-graph.asd: The cl-graph/cl-graph․asd file
File, copying: The cl-graph/copying file
File, graph-algorithms.lisp: The cl-graph/dev/graph-algorithms․lisp file
File, graph-container.lisp: The cl-graph/dev/graph-container․lisp file
File, graph-matrix.lisp: The cl-graph/dev/graph-matrix․lisp file
File, graph.lisp: The cl-graph/dev/graph․lisp file
File, graphviz-support.lisp: The cl-graph/dev/graphviz/graphviz-support․lisp file
File, index.mmd: The cl-graph/website/source/index․mmd file
File, macros.lisp: The cl-graph/dev/macros․lisp file
File, notes.text: The cl-graph/dev/notes․text file
File, package.lisp: The cl-graph/dev/package․lisp file

G
graph-algorithms.lisp: The cl-graph/dev/graph-algorithms․lisp file
graph-container: Public classes
graph-container-directed-edge: Public classes
graph-container-edge: Public classes
graph-container-undirected-edge: Public classes
graph-container-vertex: Public classes
graph-container.lisp: The cl-graph/dev/graph-container․lisp file
graph-edge-not-found-error: Public conditions
graph-error: Public conditions
graph-matrix: Public classes
graph-matrix-edge: Public classes
graph-matrix-vertex: Public classes
graph-matrix.lisp: The cl-graph/dev/graph-matrix․lisp file
graph-vertex-not-found-error: Public conditions
graph-vertex-not-found-in-edge-error: Public conditions
graph.lisp: The cl-graph/dev/graph․lisp file
graphviz: The cl-graph/dev/graphviz module
graphviz-support.lisp: The cl-graph/dev/graphviz/graphviz-support․lisp file

I
index.mmd: The cl-graph/website/source/index․mmd file

M
macros.lisp: The cl-graph/dev/macros․lisp file
Module, dev: The cl-graph/dev module
Module, graphviz: The cl-graph/dev/graphviz module
Module, source: The cl-graph/website/source module
Module, website: The cl-graph/website module

N
notes.text: The cl-graph/dev/notes․text file

P
Package, cl-graph: The cl-graph package
package.lisp: The cl-graph/dev/package․lisp file

S
source: The cl-graph/website/source module
System, cl-graph: The cl-graph system

U
undirected-edge-mixin: Public classes

W
website: The cl-graph/website module
weighted-directed-edge: Public classes
weighted-edge: Public classes
weighted-edge-mixin: Public classes
weighted-undirected-edge: Public classes