Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the epigraph Reference Manual, version 0.0.2, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 13:23:44 2020 GMT+0.
• Introduction | What epigraph is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
epigraph, a library for manipulating graphs in common lisp. Cyrus Harmon ch-lisp@bobobeach.com
Epigraph is a common lisp package for representing graph, that is sets of nodes that may contain edges between the various nodes.
(defparameter graph (let ((g (make-graph :node-test 'equal)))
(loop for i from 1 below 12
do (add-node g (concatenate 'string "Node " (princ-to-string i))))
(add-edge-between-nodes g "Node 1" "Node 2")
(add-edge-between-nodes g "Node 1" "Node 3")
(add-edge-between-nodes g "Node 3" "Node 4")
(add-edge-between-nodes g "Node 3" "Node 5")
(add-edge-between-nodes g "Node 2" "Node 6")
(add-edge-between-nodes g "Node 6" "Node 7")
(add-edge-between-nodes g "Node 6" "Node 8")
(add-edge-between-nodes g "Node 4" "Node 9")
(add-edge-between-nodes g "Node 5" "Node 10")
(add-edge-between-nodes g "Node 5" "Node 11")
(add-edge-between-nodes g "Node 1" "Node 11")
(add-edge-between-nodes g "Node 8" "Node 7")
g))
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The epigraph system |
Cyrus Harmon <ch-lisp@bobobeach.com>
BSD
A library for representing and processing graphs (nodes and edges)
0.0.2
alexandria
epigraph.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files | ||
• Static files |
Next: Static files, Previous: Files, Up: Files [Contents][Index]
• The epigraph.asd file | ||
• The epigraph/package.lisp file | ||
• The epigraph/utilities.lisp file | ||
• The epigraph/epigraph.lisp file | ||
• The epigraph/simple-edge-list-graph.lisp file |
Next: The epigraph/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
epigraph.asd
epigraph (system)
Next: The epigraph/utilities․lisp file, Previous: The epigraph․asd file, Up: Lisp files [Contents][Index]
Next: The epigraph/epigraph․lisp file, Previous: The epigraph/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
epigraph (system)
utilities.lisp
Next: The epigraph/simple-edge-list-graph․lisp file, Previous: The epigraph/utilities․lisp file, Up: Lisp files [Contents][Index]
utilities.lisp (file)
epigraph (system)
epigraph.lisp
Previous: The epigraph/epigraph․lisp file, Up: Lisp files [Contents][Index]
epigraph.lisp (file)
epigraph (system)
simple-edge-list-graph.lisp
Previous: Lisp files, Up: Files [Contents][Index]
• The epigraph/copyright file | ||
• The epigraph/readme file |
Next: The epigraph/readme file, Previous: Static files, Up: Static files [Contents][Index]
epigraph (system)
COPYRIGHT
Previous: The epigraph/copyright file, Up: Static files [Contents][Index]
copyright (file)
epigraph (system)
/home/quickref/quicklisp/dists/quicklisp/software/epigraph-20200325-git/README (not found)
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The epigraph package |
package.lisp (file)
graph
common-lisp
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported classes |
Next: Exported functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
epigraph.lisp (file)
epigraph.lisp (file)
Next: Exported generic functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
Finds all of the cycles in a graph and returns four VALUEs, a list of the edges that make complete the cycles, a list of the paths that form the cycles, a list of the cycle-forming edges, and a copy of GRAPH, with the cycle-forming edges removed.
epigraph.lisp (file)
epigraph.lisp (file)
Finds a cycle in graph, if one exists, using depth-first-search and returns two VALUES, a list of the edges in the cycle, and a list of the nodes in the cycle.
epigraph.lisp (file)
epigraph.lisp (file)
Returns a single vector containing a longest path reachable from any node in graph. The vector contains the elements in path order, starting with the first node and ending in the most distant node on the path.
epigraph.lisp (file)
Finds a longest path acecssible from each node in the
graph. Returns a list of vectors containing the longest paths for each
node. Each vector represents the path to the farthest node from the
first node of the vector to the last node of the vector.
epigraph.lisp (file)
Returns the (shortest) number of edges between node1 and node2. If node1 is node2, the distance is 0.
epigraph.lisp (file)
Returns a hash-table where each value is another hash-table, where each value is the distance from the node that is the key of the first hash-table to the node that is the key of the second hash-table.
epigraph.lisp (file)
Returns two values, an array where each entry i,j is the distance from node i to node j (distance from a node to itself is 0) and an array of nodes in the order corresponding to a dimension of the array of distances.
epigraph.lisp (file)
Creates a GRAPH instance whose actual class will either be specified by GRAPH-CLASS or by *DEFAULT-GRAPH-CLASS*.
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
Next: Exported classes, Previous: Exported functions, Up: Exported definitions [Contents][Index]
Adds an edge to the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Creates an edge from node1 to node2, adds it to the graph, and returns the edge.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Add a node to the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Performs a breadth-first-search on graph starting
at start and returns a path end if end is reachable from start,
otherwise returns NIL. [DOCUMENT KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
Performs a breadth-first-search on graph starting
at start until node end is found, if it is specified, calling fn, a
function of one argument, for each node as it is found. [DOCUMENT
KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
Performs a breadth-first-search on graph, starting
at start until node end is found, if it is specified, calling fn, a
function of one argument, for each edge as it is found. [DOCUMENT
KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
Returns a copy of the edge.
epigraph.lisp (file)
Returns a copy of the graph which will contain the
same nodes as the original graph and either the same edges as graph
or copies of the edges, depending on the value of &key copy-edges.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Performs a depth-first-search on graph, starting at
start and returns a path end if end is reachable from start,
otherwise returns NIL. [DOCUMENT KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
Performs a depth-first-search on graph, starting at
start until node end is found, if it is specified, calling fn, a
function of one argument, for each node as it is found. [DOCUMENT
KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
Performs a depth-first-search on graph, starting at
start until node end is found, if it is specified, calling fn, a
function of one argument, for each edge as it is found. [DOCUMENT
KEY AND TEST ARGS PLEASE!]
epigraph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
Returns the edge that connects node1 and node2 in
graph if the edge is present in the graph, otherwise returns NIL.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns the edges of graph. Currently the
format in which the edges are returned is not specified.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns T if the two edges connect the same
nodes. Note that currently there is no notion of direction between
edges, so edges from A to B and from B to A are equivalent and
therefore edges-nodes-equal returns T for those two edges.
epigraph.lisp (file)
Returns a list of the edges in graph that start or end with node.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns a list of the edges in graph that begin with node.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns a list of the edges in graph that end with node.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns the first node in a graph. Note that not
all graphs are rquired to support this function and that even graphs
that do support this might not have a consistent ordering of the
nodes such that successive first-node calls might not return the
same node.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Calls fn, a function of one argument, for each edge in graph in an unspecified order.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Calls fn, a function of one argument, for each edge
in graph in an unspecified order and accumulates the return first
returned values of fn in a list.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Calls FN on every node in the graph, without regard to the configuration of the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Calls FN on every node in the graph, without regard
to the configuration of the graph and returns the resulting values
in a list.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns a list of the nodes that are connected to node.
epigraph.lisp (file)
Returns the number of nodes in graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
Returns the nodes of graph. Currently the
format in which the nodes are returned is not specified.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns the other node in the edge. That is if
there is an edge between A and B, other-edge-node of A would return
B. If the edge is a self-edge, returns node.
epigraph.lisp (file)
Prints data about a given edge. This function is
called from the print-object method specialied on EDGE objects. To
add additional data to be printed by subclasses of edge create
an :AFTER method on PRINT-EDGE-DATA.
epigraph.lisp (file)
Removes edge from the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Removes the edge from node1 to node2 in the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Remove a node from the graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns true if the edge connects a given node to itself.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
Instances of the EDGE class represent edges between nodes in a graph.
epigraph.lisp (file)
standard-object (class)
:node1
node1 (generic function)
(setf node1) (generic function)
:node2
node2 (generic function)
(setf node2) (generic function)
:data
edge-data (generic function)
(setf edge-data) (generic function)
The protocol class of graphs. The intent is that
there will be concrete subclasses of GRAPH with different
implementations of storing the nodes and edges.
epigraph.lisp (file)
standard-object (class)
simple-edge-list-graph (class)
:node-test
(quote eql)
graph-node-test (generic function)
(setf graph-node-test) (generic function)
A concrete subclass of graph that represents the edges in the graph with a list of edges between nodes.
simple-edge-list-graph.lisp (file)
graph (class)
:nodes
(make-hash-table :test (quote equal))
graph-node-hash (generic function)
(setf graph-node-hash) (generic function)
:edges
graph-edge-list (generic function)
(setf graph-edge-list) (generic function)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal classes |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
epigraph.lisp (file)
epigraph.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
simple-edge-list-graph.lisp (file)
Next: Internal generic functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
utilities.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
utilities.lisp (file)
Next: Internal classes, Previous: Internal functions, Up: Internal definitions [Contents][Index]
epigraph.lisp (file)
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
Returns a list of the edges in graph that begin and end with node.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
automatically generated reader method
simple-edge-list-graph.lisp (file)
automatically generated writer method
simple-edge-list-graph.lisp (file)
automatically generated reader method
simple-edge-list-graph.lisp (file)
automatically generated writer method
simple-edge-list-graph.lisp (file)
Returns t if node is a node in graph.
epigraph.lisp (file)
simple-edge-list-graph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
automatically generated reader method
epigraph.lisp (file)
automatically generated writer method
epigraph.lisp (file)
epigraph.lisp (file)
epigraph.lisp (file)
Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
epigraph.lisp (file)
standard-object (class)
qitems (generic function)
(setf qitems) (generic function)
qlast (generic function)
(setf qlast) (generic function)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | E F L S |
---|
Jump to: | E F L S |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | (
A B C D E F G M N O P Q R S W |
---|
Jump to: | (
A B C D E F G M N O P Q R S W |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
D E I L N S |
---|
Jump to: | *
D E I L N S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | C E G P Q S |
---|
Jump to: | C E G P Q S |
---|