Crate graph_types

Source
Expand description

§Design

graph-types divides the graph into adjacency storage engine and entry storage engine.

§Adjacency Storage Engine

The core property of a graph is nodes and edges.

There are many different ways to represent a graph.

Such as adjacency matrix, adjacency list, adjacency set, etc.

The most common one is adjacency list.

§Entry Storage Engine

Other properties of the graph are stored in the entry storage engine.

For example weights, labels, colors, etc.

Each of the entry can be stored in different data structures.

For example, weights can be stored in a vector, labels can be stored in a hash map, some complex structures can even be stored in disk or a database.

Modules§

errors
iterators
placeholder
storages

Structs§

DirectedEdge
DirectedEdge represents an bidirectional edge between two nodes.
IndeterminateEdge
DynamicEdge represents an bidirectional edge between two nodes.
NodeRangeVisitor
Arguments
NodeSliceVisitor
Arguments
NodesVisitor
A double-ended iterator over the nodes of a graph.
UndirectedEdge
UndirectedEdge represents an bidirectional edge between two nodes.

Enums§

EdgeDirection
Determines the direction between two nodes
EdgeInsertID
Arguments
EdgeQuery
Arguments
GraphEntry
Arguments
GraphKind
Mark the graph as directed or undirected.
Query
Arguments
VisitOrder
used to determine the direction of an edge

Traits§

Edge
Marker trait for edges
EntryEngine
GraphEngine
Represent a graph storage, with a set of nodes and edges.
MutableGraph
Mark a graph engine that can add and delete edges or points
NamedGraph
Labeling a graph can provide Weight information
Node
Represents a node in a graph
WeightedGraph
Labeling a graph can provide Weight information

Type Aliases§

EdgeID
used to determine the direction of an edge
NodeID
used to determine the direction of an edge