Crate generic_graph

Source
Expand description

§generic_graph

generic_graph defines a series of traits for the implementation of either directed and non directed graphs. This library also provides a few default implementation if the programmer doesn’t have special requirements for his graphs.

All traits make large use of generic types, allowing for deep customization of the graph structure

Modules§

adjacency_list
This module provide an implementation of a growable directed graph. The graph is implemented as a set of adjacency list (list of vertex adjacent to one vertex).

Structs§

SimpleVertex
A default implementation for vertexes. This implementation should be suitable for most of the problem one can encounter requiring graph.

Enums§

EdgeSide
EdgeSide is used to indicate which side of the edge caused an error. Usually returned as Result::Err(EdgeSide) by the VariableEdges::add_edge() method when it was impossible to add the edge due to the absence of one of the concerned vertexes.

Traits§

DirectedGraph
This trait define the behaviour of a directed graph it requires the for vertexes (T), edges (E), vertex’s keys (K), vertex’s values (v), edge’s weights (W) and edge’s keys (C)
Edge
Generic behaviour of an edge
Graph
This trait does not add methods. It just indicates that the graph is not directed.
VariableEdges
This trait adds to a Directed graph the methods to add and remove edges
VariableVertexes
This trait adds to a Directed graph the methods to add and remove edges
Vertex
Generic behaviour of a vertex