pub struct Topology { /* private fields */ }Implementations§
Source§impl Topology
impl Topology
Sourcepub fn try_from_edges(
node_count: usize,
edges: impl IntoIterator<Item = EdgeEndpoints>,
) -> Result<Self>
pub fn try_from_edges( node_count: usize, edges: impl IntoIterator<Item = EdgeEndpoints>, ) -> Result<Self>
Builds a validated directed topology with incoming and outgoing CSR.
§Errors
Returns an error when the graph exceeds the compact index capacity or
an endpoint is outside node_count.
pub const fn node_count(&self) -> usize
pub const fn edge_count(&self) -> usize
pub fn contains_node(&self, node: NodeIndex) -> bool
pub fn contains_edge(&self, edge: EdgeIndex) -> bool
pub fn edge_endpoints(&self, edge: EdgeIndex) -> Option<EdgeEndpoints>
pub fn outgoing_edges( &self, node: NodeIndex, ) -> impl DoubleEndedIterator<Item = EdgeIndex> + ExactSizeIterator + '_
pub fn incoming_edges( &self, node: NodeIndex, ) -> impl DoubleEndedIterator<Item = EdgeIndex> + ExactSizeIterator + '_
pub fn outgoing_neighbors( &self, node: NodeIndex, ) -> impl DoubleEndedIterator<Item = NodeIndex> + ExactSizeIterator + '_
pub fn incoming_neighbors( &self, node: NodeIndex, ) -> impl DoubleEndedIterator<Item = NodeIndex> + ExactSizeIterator + '_
pub fn out_degree(&self, node: NodeIndex) -> Option<usize>
pub fn in_degree(&self, node: NodeIndex) -> Option<usize>
Source§impl Topology
impl Topology
Sourcepub fn traversal_cache(&self) -> TraversalCache
pub fn traversal_cache(&self) -> TraversalCache
Derives a speed-oriented traversal cache and compresses it when useful.
Sourcepub fn traversal_cache_with(&self, storage: TraversalStorage) -> TraversalCache
pub fn traversal_cache_with(&self, storage: TraversalStorage) -> TraversalCache
Derives a traversal cache with an explicit speed/space policy.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Topology
impl<'de> Deserialize<'de> for Topology
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Topology
Source§impl From<&Topology> for TraversalCache
impl From<&Topology> for TraversalCache
Source§impl GraphView for Topology
impl GraphView for Topology
type Node = NodeIndex
type Edge = EdgeIndex
fn node_count(&self) -> usize
fn edge_count(&self) -> usize
fn contains_node(&self, node: NodeIndex) -> bool
fn contains_edge(&self, edge: EdgeIndex) -> bool
fn node_indices(&self) -> impl Iterator<Item = Self::Node> + '_
fn edge_indices(&self) -> impl Iterator<Item = Self::Edge> + '_
fn edge_endpoints(&self, edge: EdgeIndex) -> Option<EdgeEndpoints>
fn edge_references( &self, ) -> impl Iterator<Item = (EdgeIndex, EdgeEndpoints)> + '_
fn outgoing_edges( &self, node: NodeIndex, ) -> impl Iterator<Item = EdgeIndex> + '_
fn incoming_edges( &self, node: NodeIndex, ) -> impl Iterator<Item = EdgeIndex> + '_
Source§impl IndexGraphView for Topology
impl IndexGraphView for Topology
impl StructuralPartialEq for Topology
Auto Trait Implementations§
impl Freeze for Topology
impl RefUnwindSafe for Topology
impl Send for Topology
impl Sync for Topology
impl Unpin for Topology
impl UnsafeUnpin for Topology
impl UnwindSafe for Topology
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more