pub trait BitSetMut<T> {
// Required methods
fn clear(&mut self);
fn insert(&mut self, _: T) -> Result<bool, usize>;
fn remove(&mut self, _: T) -> Option<bool>;
}
Expand description
A trait for a mutate values in a bit set.
Required Methods§
Sourcefn clear(&mut self)
fn clear(&mut self)
Clears the set
§Example
use index_set::{BitSet, BitSetMut};
let mut bitset: [u32; 4] = [0; 4];
bitset.insert(0);
assert!(!BitSet::is_empty(&bitset[..]));
bitset.clear();
assert!(BitSet::is_empty(&bitset[..]));
Sourcefn insert(&mut self, _: T) -> Result<bool, usize>
fn insert(&mut self, _: T) -> Result<bool, usize>
Inserts the value into the set.
Returns Ok(true)
if the value was already set.
Returns Err(usize)
if the set cannot hold the value, where usize
is the index of the slot.
§Example
use index_set::{BitSet, BitSetMut};
let mut bitset: [u32; 4] = [0; 4];
bitset.insert(0);
assert_eq!(bitset.has(0), true);
Sourcefn remove(&mut self, _: T) -> Option<bool>
fn remove(&mut self, _: T) -> Option<bool>
Removes the value from the set
Returns Some(true)
if the value was already set.
Returns None
if the set cannot hold the value.
§Example
use index_set::{BitSet, BitSetMut};
let mut bitset: [u32; 4] = [0; 4];
bitset.insert(42);
assert_eq!(bitset.has(42), true);
bitset.remove(42);
assert_eq!(bitset.has(42), false);