Struct bv::BitSliceMut[][src]

pub struct BitSliceMut<'a, Block> { /* fields omitted */ }

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 );

Methods

impl<'a, Block: BlockType> BitSliceMut<'a, Block>
[src]

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.

The number of bits in the slice.

Returns whether there are no bits in the slice.

Converts a mutable bit slice to immutable.

Trait Implementations

impl<'a, 'b, Block: BlockType> From<&'b BitSliceMut<'a, Block>> for BitSlice<'a, Block>
[src]

Performs the conversion.

impl<'a, Block: BlockType> From<&'a mut [Block]> for BitSliceMut<'a, Block>
[src]

Performs the conversion.

impl<'a, Block: BlockType> Bits for BitSliceMut<'a, Block>
[src]

The underlying block type used to store the bits of the vector.

The length of the slice in bits.

Gets the bit at position Read more

Gets the block at position Read more

Gets count bits starting at bit index start, interpreted as a little-endian integer. Read more

The length of the slice in blocks.

Copies the bits into a new allocated [BitVec]. Read more

impl<'a, Block: BlockType> BitsMut for BitSliceMut<'a, Block>
[src]

Sets the bit at position to value. Read more

Sets the block at position to value. Read more

Sets count bits starting at bit index start, interpreted as a little-endian integer. Read more

impl<'a, Block: BlockType> Index<u64> for BitSliceMut<'a, Block>
[src]

The returned type after indexing.

Performs the indexing (container[index]) operation.

impl<'a, Block: BlockType> BitSliceable<Range<u64>> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Block: BlockType> BitSliceable<RangeInclusive<u64>> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Block: BlockType> BitSliceable<RangeFrom<u64>> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Block: BlockType> BitSliceable<RangeTo<u64>> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Block: BlockType> BitSliceable<RangeToInclusive<u64>> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Block: BlockType> BitSliceable<RangeFull> for BitSliceMut<'a, Block>
[src]

The type of the slice produced.

Slices or re-slices the given object. Read more

impl<'a, Other: Bits> PartialEq<Other> for BitSliceMut<'a, Other::Block>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a, Block: BlockType> Eq for BitSliceMut<'a, Block>
[src]

impl<'a, Block: BlockType> PartialOrd for BitSliceMut<'a, Block>
[src]

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<'a, Block: BlockType> Ord for BitSliceMut<'a, Block>
[src]

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl<'a, Block: BlockType + Hash> Hash for BitSliceMut<'a, Block>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<'a, Block: BlockType> Debug for BitSliceMut<'a, Block>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a, Block> !Send for BitSliceMut<'a, Block>

impl<'a, Block> !Sync for BitSliceMut<'a, Block>