Trait bv::BitSliceable[][src]

pub trait BitSliceable<Range> {
    type Slice;
    fn bit_slice(self, range: Range) -> Self::Slice;
}

Types that support slicing by ranges.

Associated Types

The type of the slice produced.

Required Methods

Slices or re-slices the given object.

Examples

use bv::{BitSlice, BitSliceable};

let array = [0b01010011u16];
let slice = BitSlice::from_slice(&array);

assert_eq!( slice.bit_slice(1..3), slice.bit_slice(4..6) );
assert_eq!( slice.bit_slice(1..3), slice.bit_slice(6..8) );

assert_ne!( slice.bit_slice(2..4), slice.bit_slice(6..8) );
assert_eq!( slice.bit_slice(2..4), slice.bit_slice(7..9) );

Implementations on Foreign Types

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a> BitSliceable<Range<usize>> for &'a [bool]
[src]

impl<'a> BitSliceable<Range<usize>> for &'a mut [bool]
[src]

impl<'a> BitSliceable<RangeInclusive<usize>> for &'a [bool]
[src]

impl<'a> BitSliceable<RangeInclusive<usize>> for &'a mut [bool]
[src]

impl<'a> BitSliceable<RangeFrom<usize>> for &'a [bool]
[src]

impl<'a> BitSliceable<RangeFrom<usize>> for &'a mut [bool]
[src]

impl<'a> BitSliceable<RangeTo<usize>> for &'a [bool]
[src]

impl<'a> BitSliceable<RangeTo<usize>> for &'a mut [bool]
[src]

impl<'a> BitSliceable<RangeToInclusive<usize>> for &'a [bool]
[src]

impl<'a> BitSliceable<RangeToInclusive<usize>> for &'a mut [bool]
[src]

impl<'a> BitSliceable<RangeFull> for &'a [bool]
[src]

impl<'a> BitSliceable<RangeFull> for &'a mut [bool]
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 0] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 0] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 1] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 1] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 2] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 2] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 3] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 3] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 4] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 4] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 5] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 5] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 6] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 6] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 7] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 7] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 8] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 8] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 9] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 9] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 10] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 10] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 11] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 11] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 12] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 12] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 13] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 13] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 14] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 14] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 15] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 15] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 16] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 16] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 17] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 17] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 18] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 18] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 19] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 19] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 20] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 20] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 21] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 21] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 22] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 22] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 23] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 23] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 24] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 24] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 25] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 25] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 26] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 26] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 27] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 27] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 28] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 28] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 29] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 29] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 30] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 30] where
    &'a [bool]: BitSliceable<R>, 
[src]

impl<'a, R, Block: BlockType> BitSliceable<R> for &'a [Block; 31] where
    &'a [Block]: BitSliceable<R>, 
[src]

impl<'a, R> BitSliceable<R> for &'a [bool; 31] where
    &'a [bool]: BitSliceable<R>, 
[src]

Implementors