Macro rs_graph::idxedgevec[][src]

macro_rules! idxedgevec {
    ($g:expr; $elem:expr) => { ... };
    ($g:expr, $vec:expr) => { ... };
}

Create an edge vector associated with a graph.

Example

Create a vector with all elements set to some value, use idxedgevec![g; x]

let g = peterson::<LinkedListGraph>();
let weights = idxedgevec![&g; 0];
assert!(g.edges().all(|e| weights[e] == 0));

Convert an existing vector to an IndexEdgeVec, use idxedgevec![g, v]. Note that the size of v must be exactly g.num_edges().

let g = peterson::<LinkedListGraph>();
let weights: Vec<_> = (0..g.num_edges()).collect();
let weights = idxedgevec![&g, weights];
assert!(g.edges().all(|e| weights[e] == g.edge_id(e)));