pub struct CompactBfsResources {
pub queue: VecDeque<VertexId>,
pub visited: [u64; 4],
pub results: Vec<VertexId>,
}Expand description
Compact bitset pool for small graphs
Uses fixed-size bitsets instead of HashSets for graphs with <= 256 vertices.
Fields§
§queue: VecDeque<VertexId>Queue for BFS traversal
visited: [u64; 4]Visited bitmap (256 bits = 32 bytes)
results: Vec<VertexId>Results vector
Implementations§
Source§impl CompactBfsResources
impl CompactBfsResources
Sourcepub fn is_visited(&self, v: VertexId) -> bool
pub fn is_visited(&self, v: VertexId) -> bool
Check if vertex is visited
Sourcepub fn mark_visited(&mut self, v: VertexId) -> bool
pub fn mark_visited(&mut self, v: VertexId) -> bool
Mark vertex as visited
Sourcepub fn visited_count(&self) -> usize
pub fn visited_count(&self) -> usize
Count visited vertices
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CompactBfsResources
impl RefUnwindSafe for CompactBfsResources
impl Send for CompactBfsResources
impl Sync for CompactBfsResources
impl Unpin for CompactBfsResources
impl UnwindSafe for CompactBfsResources
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more