pub struct NodeSet<const PAGE_SIZE: usize, const TAG_BITS: u32> { /* private fields */ }Expand description
Node set implementation using bit sets
Since nodes are stored on large pages, we can use one bit vector per page. This reduces space consumption dramatically and increases the performance.
Trait Implementations§
Source§impl<'id, InnerNode, ET, const PAGE_SIZE: usize, const TAG_BITS: u32> NodeSet<Edge<'id, InnerNode, ET, TAG_BITS>> for NodeSet<PAGE_SIZE, TAG_BITS>
impl<'id, InnerNode, ET, const PAGE_SIZE: usize, const TAG_BITS: u32> NodeSet<Edge<'id, InnerNode, ET, TAG_BITS>> for NodeSet<PAGE_SIZE, TAG_BITS>
Source§fn insert(&mut self, edge: &Edge<'id, InnerNode, ET, TAG_BITS>) -> bool
fn insert(&mut self, edge: &Edge<'id, InnerNode, ET, TAG_BITS>) -> bool
Add a node (the node to which edge points) to the set Read more
Source§fn contains(&self, edge: &Edge<'id, InnerNode, ET, TAG_BITS>) -> bool
fn contains(&self, edge: &Edge<'id, InnerNode, ET, TAG_BITS>) -> bool
Return
true if the set contains the given nodeSource§impl<const PAGE_SIZE: usize, const TAG_BITS: u32> PartialEq for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> PartialEq for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> Eq for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> StructuralPartialEq for NodeSet<PAGE_SIZE, TAG_BITS>
Auto Trait Implementations§
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> Freeze for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> RefUnwindSafe for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> Send for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> Sync for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> Unpin for NodeSet<PAGE_SIZE, TAG_BITS>
impl<const PAGE_SIZE: usize, const TAG_BITS: u32> UnwindSafe for NodeSet<PAGE_SIZE, TAG_BITS>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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