[][src]Struct petgraph::graph::Frozen

pub struct Frozen<'a, G: 'a>(_);

Frozen is a graph wrapper.

The Frozen only allows shared access (read-only) to the underlying graph G, but it allows mutable access to its node and edge weights.

This is used to ensure immutability of the graph's structure while permitting weights to be both read and written.

See indexing implementations and the traits Data and DataMap for read-write access to the graph's weights.

Methods

impl<'a, G> Frozen<'a, G>[src]

pub fn new(gr: &'a mut G) -> Self[src]

Create a new Frozen from a mutable reference to a graph.

impl<'a, N, E, Ty, Ix> Frozen<'a, Graph<N, E, Ty, Ix>> where
    Ty: EdgeType,
    Ix: IndexType
[src]

pub fn index_twice_mut<T, U>(
    &mut self,
    i: T,
    j: U
) -> (&mut <Graph<N, E, Ty, Ix> as Index<T>>::Output, &mut <Graph<N, E, Ty, Ix> as Index<U>>::Output) where
    Graph<N, E, Ty, Ix>: IndexMut<T> + IndexMut<U>,
    T: GraphIndex,
    U: GraphIndex
[src]

Index the Graph by two indices, any combination of node or edge indices is fine.

Panics if the indices are equal or if they are out of bounds.

Trait Implementations

impl<'a, G> GraphBase for Frozen<'a, G> where
    G: GraphBase
[src]

type NodeId = G::NodeId

node identifier

type EdgeId = G::EdgeId

edge identifier

impl<'a, 'b, G> IntoNeighbors for &'b Frozen<'a, G> where
    G: IntoNeighbors
[src]

type Neighbors = G::Neighbors

impl<'a, 'b, G> IntoNeighborsDirected for &'b Frozen<'a, G> where
    G: IntoNeighborsDirected
[src]

type NeighborsDirected = G::NeighborsDirected

impl<'a, 'b, G> IntoEdges for &'b Frozen<'a, G> where
    G: IntoEdges
[src]

type Edges = G::Edges

impl<'a, 'b, G> IntoEdgesDirected for &'b Frozen<'a, G> where
    G: IntoEdgesDirected
[src]

impl<'a, 'b, G> IntoNodeIdentifiers for &'b Frozen<'a, G> where
    G: IntoNodeIdentifiers
[src]

impl<'a, G> Data for Frozen<'a, G> where
    G: Data
[src]

impl<'a, 'b, G> IntoNodeReferences for &'b Frozen<'a, G> where
    G: IntoNodeReferences
[src]

impl<'a, 'b, G> IntoEdgeReferences for &'b Frozen<'a, G> where
    G: IntoEdgeReferences
[src]

impl<'a, G> GraphProp for Frozen<'a, G> where
    G: GraphProp
[src]

type EdgeType = G::EdgeType

The kind edges in the graph.

fn is_directed(&self) -> bool[src]

impl<'a, G> NodeIndexable for Frozen<'a, G> where
    G: NodeIndexable
[src]

impl<'a, G> NodeCount for Frozen<'a, G> where
    G: NodeCount
[src]

impl<'a, G> NodeCompactIndexable for Frozen<'a, G> where
    G: NodeCompactIndexable
[src]

impl<'a, G> Visitable for Frozen<'a, G> where
    G: Visitable
[src]

type Map = G::Map

The associated map type

impl<'a, G> GetAdjacencyMatrix for Frozen<'a, G> where
    G: GetAdjacencyMatrix
[src]

type AdjMatrix = G::AdjMatrix

The associated adjacency matrix type

impl<'a, G> DataMap for Frozen<'a, G> where
    G: DataMap
[src]

impl<'a, G> DataMapMut for Frozen<'a, G> where
    G: DataMapMut
[src]

impl<'a, G> Deref for Frozen<'a, G>[src]

Deref allows transparent access to all shared reference (read-only) functionality in the underlying graph.

type Target = G

The resulting type after dereferencing.

impl<'a, G, I> Index<I> for Frozen<'a, G> where
    G: Index<I>, 
[src]

type Output = G::Output

The returned type after indexing.

impl<'a, G, I> IndexMut<I> for Frozen<'a, G> where
    G: IndexMut<I>, 
[src]

Auto Trait Implementations

impl<'a, G> Send for Frozen<'a, G> where
    G: Send

impl<'a, G> Unpin for Frozen<'a, G>

impl<'a, G> Sync for Frozen<'a, G> where
    G: Sync

impl<'a, G> !UnwindSafe for Frozen<'a, G>

impl<'a, G> RefUnwindSafe for Frozen<'a, G> where
    G: RefUnwindSafe

Blanket Implementations

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

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

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.

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

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

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