#[repr(C, align(32))]pub struct BitSet256 {
pub bits: [u64; 4],
}Expand description
Bit-packed membership set (256 vertices = 32 bytes) Much smaller than RoaringBitmap for small vertex counts
Fields§
§bits: [u64; 4]Raw bits storage - public for SIMD access
Implementations§
Source§impl BitSet256
impl BitSet256
pub const fn new() -> Self
pub fn insert(&mut self, v: CompactVertexId)
pub fn contains(&self, v: CompactVertexId) -> bool
pub fn remove(&mut self, v: CompactVertexId)
pub fn count(&self) -> u32
pub fn union(&self, other: &Self) -> Self
pub fn intersection(&self, other: &Self) -> Self
pub fn xor(&self, other: &Self) -> Self
pub fn iter(&self) -> BitSet256Iter<'_> ⓘ
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BitSet256
impl RefUnwindSafe for BitSet256
impl Send for BitSet256
impl Sync for BitSet256
impl Unpin for BitSet256
impl UnwindSafe for BitSet256
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