Struct lzss::SliceWriter
source · pub struct SliceWriter<'a> { /* private fields */ }
Expand description
Write into a slice.
Returns amount of written bytes.
let mut buf = [0; 2];
// underfull
let mut output = SliceWriter::new(&mut buf);
assert_eq!(output.write(1), Ok(()));
assert_eq!(output.finish(), Ok(1));
// full
let mut output = SliceWriter::new(&mut buf);
assert_eq!(output.write(1), Ok(()));
assert_eq!(output.write(1), Ok(()));
assert_eq!(output.finish(), Ok(2));
// overflow
let mut output = SliceWriter::new(&mut buf);
assert_eq!(output.write(1), Ok(()));
assert_eq!(output.write(1), Ok(()));
assert_eq!(output.write(1), Err(SliceWriteError));
Implementations§
source§impl<'a> SliceWriter<'a>
impl<'a> SliceWriter<'a>
sourcepub fn new(data: &'a mut [u8]) -> SliceWriter<'a>
pub fn new(data: &'a mut [u8]) -> SliceWriter<'a>
Constructs a new writer.
Trait Implementations§
source§impl<'a> Write for SliceWriter<'a>
impl<'a> Write for SliceWriter<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for SliceWriter<'a>
impl<'a> Send for SliceWriter<'a>
impl<'a> Sync for SliceWriter<'a>
impl<'a> Unpin for SliceWriter<'a>
impl<'a> !UnwindSafe for SliceWriter<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more