Struct bv::BitSliceMut [−][src]
pub struct BitSliceMut<'a, Block> { /* fields omitted */ }
Expand description
A mutable slice of a bit-vector; akin to &'a mut [bool]
but packed.
Examples
use bv::*; let mut array = [0b00110101u16]; { let mut slice = BitSliceMut::from_slice(&mut array); assert_eq!( slice[0], true ); assert_eq!( slice[1], false ); slice.set_bit(0, false); } assert_eq!( array[0], 0b00110100u16 );
Implementations
Creates a BitSliceMut
from a mutable array slice of blocks.
The size is always a multiple of Block::nbits()
. If you want a different size,
slice.
Creates a BitSliceMut
from a pointer to its data, an offset where the bits start, and
the number of available bits.
This is unsafe because the size of the passed-in buffer is
not checked. It must hold at least offset + len
bits or the resulting behavior is
undefined.
Precondition
- the first
Block::ceil_div_nbits(len + offset)
words ofbits
safe to read and write.
Converts a mutable bit slice to immutable.
Trait Implementations
Sets the block at position
to value
. Read more
Performs the conversion.
Performs the conversion.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more