diff --git a/src/traits.rs b/src/traits.rs index 7c948c2..e03b52b 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -1,14 +1,17 @@ +//! Core traits for undirected graph topologies. + use crate::maps::{EdgeMap, VertexMap}; // TODO: Add functions to reserve memory for vertices and edges. // TODO: Split out GraphTopologyAddition trait. +// TODO: Introduce an Incidence struct. /// A trait representing an undirected graph topology. /// /// An undirected graph is a set of vertices and undirected edges, where each edge connects either /// exactly two vertices or one vertex with itself (loop edge). This trait provides methods for /// querying a graph topology, iterating over vertices and edges, and adding new vertices and edges. /// -/// # Vertices and Edges +/// # Vertices and edges /// /// Vertices and edges are identified by opaque handles ([`Vertex`] and [`Edge`]) that implement /// [`Copy`] and [`Eq`]. Handles remain valid for the lifetime of the graph unless the graph also