Struct bitvec::slice::RChunksExactMut[][src]

pub struct RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore
{ /* fields omitted */ }

An iterator over a BitSlice in (non-overlapping) mutable chunks (chunk_size bits at a time), starting at the end of the slice.

When the slice length is not evenly divided by the chunk size, the last up to chunk_size-1 bits will be omitted but can be retrieved from the .into_remainder() function from the iterator.

This struct is created by the .rchunks_exact_mut() method on BitSlices.

Original

slice::RChunksExactMut

API Differences

All slices yielded from this iterator are marked as aliased.

Implementations

impl<'a, O, T> RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore
[src]

pub fn into_remainder(self) -> &'a mut BitSlice<O, T::Alias>

Notable traits for &'a BitSlice<O, T>

impl<'a, O, T> Read for &'a BitSlice<O, T> where
    O: BitOrder,
    T: BitStore,
    BitSlice<O, T>: BitField
impl<'a, O, T> Write for &'a mut BitSlice<O, T> where
    O: BitOrder,
    T: BitStore,
    BitSlice<O, T>: BitField
[src]

Returns the remainder of the original BitSlice that is not going to be returned by the iterator. The returned BitSlice has at most chunk_size-1 bits.

Original

slice::RChunksExactMut::into_remainder

API Differences

The remainder slice, as with all slices yielded from this iterator, is marked as aliased.

impl<'a, O, T> RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore
[src]

pub unsafe fn remove_alias(self) -> RChunksExactMutNoAlias<'a, O, T>[src]

Adapts the iterator to no longer mark its yielded items as aliased.

Safety

This adapter can only be used in contexts where only one yielded item will be alive at any time. This is most commonly true in for … in loops, so long as no subsequent adapter collects multiple yielded items into a collection where they are live simultaneously.

The items yielded by this iterator will not have an additional alias marker applied to them, so their use in an iteration sequence will not be penalized when the surrounding code guarantees that each item yielded by the iterator is destroyed before the next is produced.

This adapter does not convert the iterator to use T::Mem raw types, as it can be applied to an iterator over an already-aliased slice and must preserve its condition. Its only effect is to prevent the addition of a new T::Alias marker.

Trait Implementations

impl<'a, O: Debug, T: Debug> Debug for RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore,
    T::Alias: Debug,
    T::Alias: Debug
[src]

impl<'a, O, T> DoubleEndedIterator for RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore
[src]

impl<O, T> ExactSizeIterator for RChunksExactMut<'_, O, T> where
    O: BitOrder,
    T: BitStore
[src]

impl<O, T> FusedIterator for RChunksExactMut<'_, O, T> where
    O: BitOrder,
    T: BitStore
[src]

impl<'a, O, T> Iterator for RChunksExactMut<'a, O, T> where
    O: BitOrder,
    T: BitStore
[src]

type Item = &'a mut BitSlice<O, T::Alias>

The type of the elements being iterated over.

Auto Trait Implementations

impl<'a, O, T> RefUnwindSafe for RChunksExactMut<'a, O, T> where
    O: RefUnwindSafe,
    <T as BitStore>::Alias: RefUnwindSafe

impl<'a, O, T> Send for RChunksExactMut<'a, O, T> where
    <T as BitStore>::Alias: Sync

impl<'a, O, T> Sync for RChunksExactMut<'a, O, T> where
    <T as BitStore>::Alias: Sync

impl<'a, O, T> Unpin for RChunksExactMut<'a, O, T>

impl<'a, O, T> !UnwindSafe for RChunksExactMut<'a, O, T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T[src]

impl<T> FmtForward for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> Pipe for T where
    T: ?Sized
[src]

impl<T> Tap for T[src]

impl<T> TryConv for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.