Module traits

Source
Expand description

Most of the functionality of this library is encapsulated in these traits. A quick overview:

GraphBasics: Provides iterators over nodes and edges. MatrixRepresentation: Adjacency and incidence matrices. GraphProperties: Basic properties of graphs, such as degree, connected components, etc. DiGraphProperties: The directed analogue of GraphProperties. HypergraphProperties: Properties specific to hypergraphs, such as edge order. DirectedHypergraphProperties: Directed analogue of HypergraphProperties.

In principle, none of these traits borrow the graph mutably. All mutation is done though struct methods, because the function signatures vary too much between different graph types.

Re-exports§

pub use undirected::*;
pub use directed::*;

Modules§

directed
undirected

Traits§

Dynamics
Generate
GraphBasics
The root trait for all graphs and hypergraphs. Provides functions to iterate over nodes and edges, and count them.
HypergraphBasics
MatrixRepresentation
The root trait for all algebraic operations on graphs. Provides methods to convert graphs into various matrix representations.
StatisticalFilters
WeightsMut
This trait allows mutable access to the node and edge weights of a graph. It’s generally a bad idea to mess with the graph incidence data - that’s why there’s no mutable access to Nodes or Edges. You can, however, go crazy with the weights.