pub struct CondensationGraph {
pub supernodes: Vec<Supernode>,
pub edges: Vec<(i64, i64)>,
}Expand description
Condensation graph (DAG after SCC collapse)
Represents the call graph after collapsing all SCCs into supernodes. The condensation graph is always a DAG (no cycles).
Fields§
§supernodes: Vec<Supernode>All supernodes in the condensed graph
edges: Vec<(i64, i64)>Edges between supernodes (from_supernode_id, to_supernode_id)
Trait Implementations§
Source§impl Clone for CondensationGraph
impl Clone for CondensationGraph
Source§fn clone(&self) -> CondensationGraph
fn clone(&self) -> CondensationGraph
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 Debug for CondensationGraph
impl Debug for CondensationGraph
Source§impl PartialEq for CondensationGraph
impl PartialEq for CondensationGraph
Source§fn eq(&self, other: &CondensationGraph) -> bool
fn eq(&self, other: &CondensationGraph) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CondensationGraph
impl StructuralPartialEq for CondensationGraph
Auto Trait Implementations§
impl Freeze for CondensationGraph
impl RefUnwindSafe for CondensationGraph
impl Send for CondensationGraph
impl Sync for CondensationGraph
impl Unpin for CondensationGraph
impl UnsafeUnpin for CondensationGraph
impl UnwindSafe for CondensationGraph
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more