[−][src]Struct hibitset::BitSet
A BitSet
is a simple set designed to track which indices are placed
into it.
Note, a BitSet
is limited by design to only usize**4
indices.
Adding beyond this limit will cause the BitSet
to panic.
Methods
impl BitSet
[src]
pub fn new() -> BitSet
[src]
Creates an empty BitSet
.
pub fn with_capacity(max: u32) -> BitSet
[src]
Creates an empty BitSet
, preallocated for up to max
indices.
pub fn add(&mut self, id: u32) -> bool
[src]
Adds id
to the BitSet
. Returns true
if the value was
already in the set.
pub fn remove(&mut self, id: u32) -> bool
[src]
Removes id
from the set, returns true
if the value
was removed, and false
if the value was not set
to begin with.
pub fn contains(&self, id: u32) -> bool
[src]
Returns true
if id
is in the set.
pub fn contains_set(&self, other: &BitSet) -> bool
[src]
Returns true
if all ids in other
are contained in this set
pub fn clear(&mut self)
[src]
Completely wipes out the bit set.
Trait Implementations
impl BitSetLike for BitSet
[src]
fn layer3(&self) -> usize
[src]
fn layer2(&self, i: usize) -> usize
[src]
fn layer1(&self, i: usize) -> usize
[src]
fn layer0(&self, i: usize) -> usize
[src]
fn contains(&self, i: u32) -> bool
[src]
fn get_from_layer(&self, layer: usize, idx: usize) -> usize
[src]
Gets the usize
corresponding to layer and index. Read more
fn is_empty(&self) -> bool
[src]
Returns true if this BitSetLike
contains nothing, and false otherwise.
ⓘImportant traits for BitIter<T>fn iter(self) -> BitIter<Self> where
Self: Sized,
[src]
Self: Sized,
Create an iterator that will scan over the keyspace
fn par_iter(self) -> BitParIter<Self> where
Self: Sized,
[src]
Self: Sized,
Create a parallel iterator that will scan over the keyspace
impl DrainableBitSet for BitSet
[src]
fn remove(&mut self, i: u32) -> bool
[src]
ⓘImportant traits for DrainBitIter<'a, T>fn drain<'a>(&'a mut self) -> DrainBitIter<'a, Self> where
Self: Sized,
[src]
Self: Sized,
Create a draining iterator that will scan over the keyspace and clears it while doing so.
impl IntoIterator for BitSet
[src]
type Item = <BitIter<Self> as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = BitIter<Self>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl<'a> IntoIterator for &'a BitSet
[src]
type Item = <BitIter<Self> as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = BitIter<Self>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl Default for BitSet
[src]
impl Eq for BitSet
[src]
impl Clone for BitSet
[src]
fn clone(&self) -> BitSet
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Extend<u32> for BitSet
[src]
fn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = u32>,
[src]
T: IntoIterator<Item = u32>,
impl<'a> Extend<&'a u32> for BitSet
[src]
fn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = &'a u32>,
[src]
T: IntoIterator<Item = &'a u32>,
impl PartialEq<BitSet> for BitSet
[src]
fn eq(&self, rhv: &BitSet) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Debug for BitSet
[src]
impl Not for BitSet
[src]
type Output = BitSetNot<Self>
The resulting type after applying the !
operator.
fn not(self) -> Self::Output
[src]
impl<'a> Not for &'a BitSet
[src]
type Output = BitSetNot<Self>
The resulting type after applying the !
operator.
fn not(self) -> Self::Output
[src]
impl<T> BitAnd<T> for BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetAnd<Self, T>
The resulting type after applying the &
operator.
fn bitand(self, rhs: T) -> Self::Output
[src]
impl<'a, T> BitAnd<T> for &'a BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetAnd<Self, T>
The resulting type after applying the &
operator.
fn bitand(self, rhs: T) -> Self::Output
[src]
impl<T> BitOr<T> for BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetOr<Self, T>
The resulting type after applying the |
operator.
fn bitor(self, rhs: T) -> Self::Output
[src]
impl<'a, T> BitOr<T> for &'a BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetOr<Self, T>
The resulting type after applying the |
operator.
fn bitor(self, rhs: T) -> Self::Output
[src]
impl<T> BitXor<T> for BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetXor<Self, T>
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: T) -> Self::Output
[src]
impl<'a, T> BitXor<T> for &'a BitSet where
T: BitSetLike,
[src]
T: BitSetLike,
type Output = BitSetXor<Self, T>
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: T) -> Self::Output
[src]
impl<'a, B> BitAndAssign<&'a B> for BitSet where
B: BitSetLike,
[src]
B: BitSetLike,
fn bitand_assign(&mut self, lhs: &B)
[src]
impl<'a, B> BitOrAssign<&'a B> for BitSet where
B: BitSetLike,
[src]
B: BitSetLike,
fn bitor_assign(&mut self, lhs: &B)
[src]
impl<'a, B> BitXorAssign<&'a B> for BitSet where
B: BitSetLike,
[src]
B: BitSetLike,
fn bitxor_assign(&mut self, lhs: &B)
[src]
impl FromIterator<u32> for BitSet
[src]
fn from_iter<T>(iter: T) -> Self where
T: IntoIterator<Item = u32>,
[src]
T: IntoIterator<Item = u32>,
impl<'a> FromIterator<&'a u32> for BitSet
[src]
fn from_iter<T>(iter: T) -> Self where
T: IntoIterator<Item = &'a u32>,
[src]
T: IntoIterator<Item = &'a u32>,
Auto Trait Implementations
impl Unpin for BitSet
impl Sync for BitSet
impl Send for BitSet
impl UnwindSafe for BitSet
impl RefUnwindSafe for BitSet
Blanket Implementations
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,