pub struct ReachabilityResult {
pub membership: Vec<u32>,
pub csize: Vec<u32>,
pub num_components: u32,
pub reach: Vec<Vec<u64>>,
}Expand description
Result of a reachability analysis.
Fields§
§membership: Vec<u32>membership[v] — component id for vertex v.
csize: Vec<u32>csize[c] — number of vertices in component c.
num_components: u32Number of components.
reach: Vec<Vec<u64>>reach[c] — bitvector of length vcount; bit v is set if
vertex v is reachable from any vertex in component c.
Implementations§
Source§impl ReachabilityResult
impl ReachabilityResult
Sourcepub fn is_reachable(&self, source: VertexId, target: VertexId) -> bool
pub fn is_reachable(&self, source: VertexId, target: VertexId) -> bool
Returns true if vertex target is reachable from vertex source.
§Examples
use rust_igraph::{Graph, reachability, ReachabilityMode};
let mut g = Graph::new(3, true).unwrap();
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
let r = reachability(&g, ReachabilityMode::Out).unwrap();
assert!(r.is_reachable(0, 2));
assert!(!r.is_reachable(2, 0));Sourcepub fn count_from(&self, v: VertexId) -> u32
pub fn count_from(&self, v: VertexId) -> u32
Count how many vertices are reachable from v (including v).
§Examples
use rust_igraph::{Graph, reachability, ReachabilityMode};
let mut g = Graph::new(3, true).unwrap();
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
let r = reachability(&g, ReachabilityMode::Out).unwrap();
assert_eq!(r.count_from(0), 3); // reaches 0, 1, 2
assert_eq!(r.count_from(2), 1); // reaches only itselfTrait Implementations§
Source§impl Clone for ReachabilityResult
impl Clone for ReachabilityResult
Source§fn clone(&self) -> ReachabilityResult
fn clone(&self) -> ReachabilityResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ReachabilityResult
impl RefUnwindSafe for ReachabilityResult
impl Send for ReachabilityResult
impl Sync for ReachabilityResult
impl Unpin for ReachabilityResult
impl UnsafeUnpin for ReachabilityResult
impl UnwindSafe for ReachabilityResult
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