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

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.

Implementations

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> Data for Frozen<'a, G> where
    G: Data
[src]

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> GetAdjacencyMatrix for Frozen<'a, G> where
    G: GetAdjacencyMatrix
[src]

type AdjMatrix = G::AdjMatrix

The associated adjacency matrix type

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, G> GraphProp for Frozen<'a, G> where
    G: GraphProp
[src]

type EdgeType = G::EdgeType

The kind edges in the graph.

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]

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

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> 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> IntoNodeIdentifiers for &'b Frozen<'a, G> where
    G: IntoNodeIdentifiers
[src]

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

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

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

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

type Map = G::Map

The associated map type

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

Auto Trait Implementations

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

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

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

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

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

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> Pointable for T[src]

type Init = T

The type for initializers.

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.