Trait bitstring::FixedBitString [−][src]
pub trait FixedBitString {
Show 16 methods
fn inc(&mut self, prefix: usize) -> bool;
fn len() -> usize;
fn get(&self, ndx: usize) -> bool;
fn set(&mut self, ndx: usize, bit: bool);
fn set_false_from(&mut self, ndx: usize);
fn is_false_from(&self, ndx: usize) -> bool;
fn set_true_from(&mut self, ndx: usize);
fn is_true_from(&self, ndx: usize) -> bool;
fn new_all_false() -> Self;
fn new_all_true() -> Self;
fn contains(&self, prefix: usize, other: &Self) -> bool;
fn iter(&self, prefix: usize) -> Iter<Self>ⓘ
where
Self: Sized + Clone,
{ ... }
fn on(&mut self, ndx: usize) { ... }
fn off(&mut self, ndx: usize) { ... }
fn flip(&mut self, ndx: usize) { ... }
fn shared_prefix_len(&self, other: &Self, max_len: usize) -> usize { ... }
}
Expand description
A bit string with fixed length.
All bits must me mutable, and there must be no dependencies between bits (i.e. setting one bit must not change any other bit).
Required methods
Treat bit string as integer, where bit 0 is the most significant bit.
Increment by one, i.e. start by incrementing the bit with the highest index.
Don’t touch first prefix
bits; return true on overflow.
Panics
Should panic if prefix > self.len()
.
fn set_false_from(&mut self, ndx: usize)
fn set_false_from(&mut self, ndx: usize)
Set all bits in [ndx..] to false
.
Doesn’t do anything if ndx >= self.len()
.
fn is_false_from(&self, ndx: usize) -> bool
fn is_false_from(&self, ndx: usize) -> bool
Whether all bits in [ndx..] are false
.
Returns true
if ndx >= self.len()
.
fn set_true_from(&mut self, ndx: usize)
fn set_true_from(&mut self, ndx: usize)
Set all bits in [ndx..] to true
.
Doesn’t do anything if ndx >= self.len()
.
fn is_true_from(&self, ndx: usize) -> bool
fn is_true_from(&self, ndx: usize) -> bool
Whether all bits in [ndx..] are true
.
Returns true
if ndx >= self.len()
.
fn new_all_false() -> Self
fn new_all_false() -> Self
New bit string with all bits set to false
.
fn new_all_true() -> Self
fn new_all_true() -> Self
New bit string with all bits set to true
.
Provided methods
Iterate through all bit strings until inc
overflows.
All generated values will share the first prefix
bits. If you
want to iterate over all values make sure to call
self.set_false_from(prefix)
before.
Panics
Should panic if prefix > self.len()
.
Length of the longest shared prefix of two bit strings.