[][src]Struct saboten::cactusgraph::CactusGraph

pub struct CactusGraph<'a> {
    pub original_graph: &'a BiedgedGraph,
    pub graph: BiedgedGraph,
    pub projection: Projection,
    pub cycles: Vec<Vec<(u64, u64)>>,
    pub cycle_map: FnvHashMap<(u64, u64), Vec<usize>>,
}

A cactus graph constructed from a biedged graph. The constructor clones the original graph to mutate, but also keeps a reference to original. This ensures the original can't be accidentally mutated while the CactusGraph exists, and makes it easy to access the untouched original graph. The mapping of vertices is tracked using the embedded Projection struct.

Fields

original_graph: &'a BiedgedGraphgraph: BiedgedGraphprojection: Projectioncycles: Vec<Vec<(u64, u64)>>cycle_map: FnvHashMap<(u64, u64), Vec<usize>>

Implementations

impl<'a> CactusGraph<'a>[src]

pub fn from_biedged_graph(biedged_graph: &'a BiedgedGraph) -> Self[src]

Construct a cactus graph from a biedged graph. Clones the input graph before mutating, and keeps a reference to the original.

Trait Implementations

impl<'a> BiedgedWrapper for CactusGraph<'a>[src]

impl<'a> Clone for CactusGraph<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for CactusGraph<'a>

impl<'a> Send for CactusGraph<'a>

impl<'a> Sync for CactusGraph<'a>

impl<'a> Unpin for CactusGraph<'a>

impl<'a> UnwindSafe for CactusGraph<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.