pub struct CscSnapshotGraph<'view>(/* private fields */);Expand description
Borrowed inbound adjacency (transpose-CSR / CSC layout).
§Performance
Per-node predecessor enumeration is O(k) for k incoming edges.
Implementations§
Source§impl<'view> CscSnapshotGraph<'view>
impl<'view> CscSnapshotGraph<'view>
Sourcepub fn from_snapshot(
snapshot: &Snapshot<'view>,
) -> Result<CscSnapshotGraph<'view>, CscSnapshotError>
pub fn from_snapshot( snapshot: &Snapshot<'view>, ) -> Result<CscSnapshotGraph<'view>, CscSnapshotError>
Opens inbound sections from a validated Snapshot.
§Errors
Returns CscSnapshotError when sections are missing or fail validation.
§Performance
This function is O(s + n + m).
Sourcepub fn from_snapshot_with_kinds(
snapshot: &Snapshot<'view>,
offsets_kind: u32,
targets_kind: u32,
) -> Result<CscSnapshotGraph<'view>, CscSnapshotError>
pub fn from_snapshot_with_kinds( snapshot: &Snapshot<'view>, offsets_kind: u32, targets_kind: u32, ) -> Result<CscSnapshotGraph<'view>, CscSnapshotError>
Opens inbound sections using explicit snapshot section kinds.
§Errors
Returns CscSnapshotError when sections are missing or fail validation.
§Performance
This function is O(s + n + m).
Sourcepub const fn inner(
&self,
) -> &CsrGraph<'view, u32, u32, <u32 as CsrSnapshotIndex>::LittleEndianWord, <u32 as CsrSnapshotIndex>::LittleEndianWord>
pub const fn inner( &self, ) -> &CsrGraph<'view, u32, u32, <u32 as CsrSnapshotIndex>::LittleEndianWord, <u32 as CsrSnapshotIndex>::LittleEndianWord>
Returns the inner CSR graph backing this inbound view.
Sourcepub fn node_count(&self) -> usize
pub fn node_count(&self) -> usize
Sourcepub fn relation_count(&self) -> usize
pub fn relation_count(&self) -> usize
Sourcepub fn predecessors(&self, target: u32) -> impl ExactSizeIterator
pub fn predecessors(&self, target: u32) -> impl ExactSizeIterator
Returns an iterator over predecessor node ids for target.
§Performance
This method is O(1) to create and O(k) to yield k predecessors.
Trait Implementations§
Source§impl<'view> Clone for CscSnapshotGraph<'view>
impl<'view> Clone for CscSnapshotGraph<'view>
Source§fn clone(&self) -> CscSnapshotGraph<'view>
fn clone(&self) -> CscSnapshotGraph<'view>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'view> Debug for CscSnapshotGraph<'view>
impl<'view> Debug for CscSnapshotGraph<'view>
Source§impl ElementPredecessors for CscSnapshotGraph<'_>
impl ElementPredecessors for CscSnapshotGraph<'_>
Source§type Predecessors<'view> = CscPredecessors<'view>
where
CscSnapshotGraph<'_>: 'view
type Predecessors<'view> = CscPredecessors<'view> where CscSnapshotGraph<'_>: 'view
Iterator over predecessor element IDs reaching one element. Read more
Source§fn element_predecessors(
&self,
element: CscNodeId,
) -> <CscSnapshotGraph<'_> as ElementPredecessors>::Predecessors<'_>
fn element_predecessors( &self, element: CscNodeId, ) -> <CscSnapshotGraph<'_> as ElementPredecessors>::Predecessors<'_>
Returns elements that reach
element through outgoing connections. Read moreSource§impl TopologyBase for CscSnapshotGraph<'_>
impl TopologyBase for CscSnapshotGraph<'_>
Source§impl TopologyCounts for CscSnapshotGraph<'_>
impl TopologyCounts for CscSnapshotGraph<'_>
Source§fn element_count(&self) -> usize
fn element_count(&self) -> usize
Returns the number of elements visible in this topology view. Read more
Source§fn relation_count(&self) -> usize
fn relation_count(&self) -> usize
Returns the number of relations visible in this topology view. Read more
impl<'view> Copy for CscSnapshotGraph<'view>
Auto Trait Implementations§
impl<'view> Freeze for CscSnapshotGraph<'view>
impl<'view> RefUnwindSafe for CscSnapshotGraph<'view>
impl<'view> Send for CscSnapshotGraph<'view>
impl<'view> Sync for CscSnapshotGraph<'view>
impl<'view> Unpin for CscSnapshotGraph<'view>
impl<'view> UnsafeUnpin for CscSnapshotGraph<'view>
impl<'view> UnwindSafe for CscSnapshotGraph<'view>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IncomingNeighborsGraph for Twhere
T: ElementPredecessors,
impl<T> IncomingNeighborsGraph for Twhere
T: ElementPredecessors,
Source§type InNeighbors<'view> = <T as ElementPredecessors>::Predecessors<'view>
where
T: 'view
type InNeighbors<'view> = <T as ElementPredecessors>::Predecessors<'view> where T: 'view
Iterator over nodes that have incoming edges to one target node.
Source§fn incoming_neighbors(
&self,
node: <T as TopologyBase>::ElementId,
) -> <T as IncomingNeighborsGraph>::InNeighbors<'_>
fn incoming_neighbors( &self, node: <T as TopologyBase>::ElementId, ) -> <T as IncomingNeighborsGraph>::InNeighbors<'_>
Returns predecessor nodes with incoming edges to
node.