[−][src]Struct fixedbitset::FixedBitSet
FixedBitSet
is a simple fixed size set of bits that each can
be enabled (1 / true) or disabled (0 / false).
The bit set has a fixed capacity in terms of enabling bits (and the
capacity can grow using the grow
method).
Implementations
impl FixedBitSet
[src]
pub fn with_capacity(bits: usize) -> Self
[src]
Create a new FixedBitSet with a specific number of bits, all initially clear.
pub fn grow(&mut self, bits: usize)
[src]
Grow capacity to bits, all new bits initialized to zero
pub fn len(&self) -> usize
[src]
Return the length of the FixedBitSet
in bits.
pub fn contains(&self, bit: usize) -> bool
[src]
Return true if the bit is enabled in the FixedBitSet, false otherwise.
Note: bits outside the capacity are always disabled.
Note: Also available with index syntax: bitset[bit]
.
pub fn clear(&mut self)
[src]
Clear all bits.
pub fn insert(&mut self, bit: usize)
[src]
Enable bit
.
Panics if bit is out of bounds.
pub fn put(&mut self, bit: usize) -> bool
[src]
Enable bit
, and return its previous value.
Panics if bit is out of bounds.
pub fn set(&mut self, bit: usize, enabled: bool)
[src]
Panics if bit is out of bounds.
pub fn copy_bit(&mut self, from: usize, to: usize)
[src]
Copies boolean value from specified bit to the specified bit.
Panics if to is out of bounds.
pub fn count_ones<T: IndexRange>(&self, range: T) -> usize
[src]
Count the number of set bits in the given bit range.
Use ..
to count the whole content of the bitset.
Panics if the range extends past the end of the bitset.
pub fn set_range<T: IndexRange>(&mut self, range: T, enabled: bool)
[src]
Sets every bit in the given range to the given state (enabled
)
Use ..
to toggle the whole bitset.
Panics if the range extends past the end of the bitset.
pub fn insert_range<T: IndexRange>(&mut self, range: T)
[src]
Enables every bit in the given range.
Use ..
to make the whole bitset ones.
Panics if the range extends past the end of the bitset.
pub fn as_slice(&self) -> &[u32]
[src]
View the bitset as a slice of u32
blocks
pub fn as_mut_slice(&mut self) -> &mut [u32]
[src]
View the bitset as a mutable slice of u32
blocks. Writing past the bitlength in the last
will cause contains
to return potentially incorrect results for bits past the bitlength.
pub fn ones(&self) -> Ones<'_>ⓘ
[src]
Iterates over all enabled bits.
Iterator element is the index of the 1
bit, type usize
.
pub fn intersection<'a>(&'a self, other: &'a FixedBitSet) -> Intersection<'a>ⓘNotable traits for Intersection<'a>
impl<'a> Iterator for Intersection<'a> type Item = usize;
[src]
Notable traits for Intersection<'a>
impl<'a> Iterator for Intersection<'a> type Item = usize;
Returns a lazy iterator over the intersection of two FixedBitSet
s
pub fn union<'a>(&'a self, other: &'a FixedBitSet) -> Union<'a>ⓘ
[src]
Returns a lazy iterator over the union of two FixedBitSet
s.
pub fn difference<'a>(&'a self, other: &'a FixedBitSet) -> Difference<'a>ⓘNotable traits for Difference<'a>
impl<'a> Iterator for Difference<'a> type Item = usize;
[src]
Notable traits for Difference<'a>
impl<'a> Iterator for Difference<'a> type Item = usize;
Returns a lazy iterator over the difference of two FixedBitSet
s. The difference of a
and b
is the elements of a
which are not in b
.
Trait Implementations
impl<'a> BitAnd<&'a FixedBitSet> for &'a FixedBitSet
[src]
type Output = FixedBitSet
The resulting type after applying the &
operator.
fn bitand(self, other: &FixedBitSet) -> FixedBitSet
[src]
impl<'a> BitOr<&'a FixedBitSet> for &'a FixedBitSet
[src]
type Output = FixedBitSet
The resulting type after applying the |
operator.
fn bitor(self, other: &FixedBitSet) -> FixedBitSet
[src]
impl Clone for FixedBitSet
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for FixedBitSet
[src]
impl Default for FixedBitSet
[src]
fn default() -> FixedBitSet
[src]
impl Eq for FixedBitSet
[src]
impl Extend<usize> for FixedBitSet
[src]
Sets the bit at index i to true for each item i in the input src.
fn extend<I: IntoIterator<Item = usize>>(&mut self, src: I)
[src]
fn extend_one(&mut self, item: A)
[src]
fn extend_reserve(&mut self, additional: usize)
[src]
impl FromIterator<usize> for FixedBitSet
[src]
Return a FixedBitSet containing bits set to true for every bit index in the iterator, other bits are set to false.
fn from_iter<I: IntoIterator<Item = usize>>(src: I) -> Self
[src]
impl Hash for FixedBitSet
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Index<usize> for FixedBitSet
[src]
Return true if the bit is enabled in the bitset, or false otherwise.
Note: bits outside the capacity are always disabled, and thus indexing a FixedBitSet will not panic.
impl Ord for FixedBitSet
[src]
fn cmp(&self, other: &FixedBitSet) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<FixedBitSet> for FixedBitSet
[src]
fn eq(&self, other: &FixedBitSet) -> bool
[src]
fn ne(&self, other: &FixedBitSet) -> bool
[src]
impl PartialOrd<FixedBitSet> for FixedBitSet
[src]
fn partial_cmp(&self, other: &FixedBitSet) -> Option<Ordering>
[src]
fn lt(&self, other: &FixedBitSet) -> bool
[src]
fn le(&self, other: &FixedBitSet) -> bool
[src]
fn gt(&self, other: &FixedBitSet) -> bool
[src]
fn ge(&self, other: &FixedBitSet) -> bool
[src]
impl StructuralEq for FixedBitSet
[src]
impl StructuralPartialEq for FixedBitSet
[src]
Auto Trait Implementations
impl RefUnwindSafe for FixedBitSet
impl Send for FixedBitSet
impl Sync for FixedBitSet
impl Unpin for FixedBitSet
impl UnwindSafe for FixedBitSet
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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, 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>,