SliceExt

Trait SliceExt 

Source
pub trait SliceExt<'a>: BufRead + Seek {
    // Required methods
    fn slice_until(&mut self, byte: u8) -> Result<&'a [u8], ReadError>;
    fn slice_to_end(&mut self) -> Result<&'a [u8], ReadError>;
}

Required Methods§

Source

fn slice_until(&mut self, byte: u8) -> Result<&'a [u8], ReadError>

Source

fn slice_to_end(&mut self) -> Result<&'a [u8], ReadError>

Implementations on Foreign Types§

Source§

impl<'a> SliceExt<'a> for Cursor<&'a [u8]>

Source§

fn slice_until(&mut self, byte: u8) -> Result<&'a [u8], ReadError>

Read until byte and return as slice

let mut s = Cursor::new(b"abc\0defgh\0end".as_slice());
assert_eq!(s.slice_until(b'\0').unwrap(), b"abc");
assert_eq!(s.slice_until(b'\0').unwrap(), b"defgh");
assert_eq!(s.slice_until(b'\0').unwrap(), b"end");
Source§

fn slice_to_end(&mut self) -> Result<&'a [u8], ReadError>

Read until end and return as slice

let mut s = Cursor::new(b"abc\0end".as_slice());
assert_eq!(s.slice_until(b'\0').unwrap(), b"abc");
assert_eq!(s.slice_to_end().unwrap(), b"end");

Implementors§