Crate daggy [−] [src]
daggy is a directed acyclic graph data structure library.
The most prominent type is Dag - a wrapper around petgraph (http://bluss.github.io/petulant-avenger-graphlibrary/doc/petgraph/index.html)'s [Graph] (http://bluss.github.io/petulant-avenger-graphlibrary/doc/petgraph/graph/struct.Graph.html) data structure, exposing a refined API targeted towards directed acyclic graph related functionality.
The Walker trait defines a variety of useful methods for traversing any graph type. Its methods behave similarly to iterator types, however Walkers do not require borrowing the graph. This means that we can still safely mutably borrow from the graph whilst we traverse it.
Re-exports
pub extern crate petgraph; |
Modules
walker |
Walker is a trait providing a variety of useful methods for traversing graph types. |
Structs
Children |
A Walker type that can be used to step through the children of some parent node. |
Dag |
A Directed acyclic graph (DAG) data structure. |
EdgeIndex |
Edge identifier. |
EdgeIndices |
An iterator yielding multiple |
EdgeWeightsMut |
Iterator yielding mutable access to all edge weights. |
NodeIndex |
Node identifier. |
NodeWeightsMut |
Iterator yielding mutable access to all node weights. |
Parents |
A Walker type that can be used to step through the parents of some child node. |
WouldCycle |
An error returned by the |
Traits
Walker |
A walker is a traversal state, but where part of the traversal information is supplied manually to each next call. |
Type Definitions
Edges |
An iterator yielding all edges to/from some node. |
RawEdges |
Read only access into a Dag's internal edge array. |
RawNodes |
Read only access into a Dag's internal node array. |
RecursiveWalk |
An alias to simplify the Recursive Walker type returned by Dag. |