Struct const_writer::slice::SliceWriterAdapter[][src]

pub struct SliceWriterAdapter<'a, 'inner> { /* fields omitted */ }

Wrapper for &mut [u8]. Advances wrapped slice reference on drop. pub user is not intended

use const_writer::{ConstWriterAdapter, ConstWriterAdapterCreate};
use const_writer::slice::SliceWriterAdapter;

let mut buf = [0u8; 20];
let mut ref_buf = &mut buf as &mut [u8];
unsafe {
    let mut adapter = SliceWriterAdapter::new::<20>(&mut ref_buf); // checks slice len to be > 20
    adapter
        .write(&[1u8; 2])
        .write(&[2u8; 4]); // `ref_buf` is unchanged, but inner pointer is advanced
};
//after adapter dropped pointer is advanced
assert_eq!(ref_buf.len(), 14);
assert_eq!(buf[..6], [1, 1, 2, 2, 2, 2])

Trait Implementations

impl<'a, 'inner> ConstWrite<'a, SliceWriterAdapter<'a, 'inner>> for &'inner mut [u8][src]

impl<'a, 'inner> ConstWriterAdapter for SliceWriterAdapter<'a, 'inner>[src]

impl<'a, 'inner> ConstWriterAdapterCreate<'a, &'inner mut [u8]> for SliceWriterAdapter<'a, 'inner>[src]

impl<'a, 'inner> Drop for SliceWriterAdapter<'a, 'inner>[src]

fn drop(&mut self)[src]

When dropping adapter we advancing slice pointer

Auto Trait Implementations

impl<'a, 'inner> RefUnwindSafe for SliceWriterAdapter<'a, 'inner>[src]

impl<'a, 'inner> !Send for SliceWriterAdapter<'a, 'inner>[src]

impl<'a, 'inner> !Sync for SliceWriterAdapter<'a, 'inner>[src]

impl<'a, 'inner> Unpin for SliceWriterAdapter<'a, 'inner> where
    'inner: 'a, 
[src]

impl<'a, 'inner> !UnwindSafe for SliceWriterAdapter<'a, 'inner>[src]

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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<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.