Trait leb128plus::Read

source ·
pub trait Read {
    fn read<V: UInt>(&mut self) -> Result<V>;
}

Required Methods§

Implementors§

Read an unsigned integer in the LEB128+ format from std::io::Read stream.

Example
let mut c = std::io::Cursor::new(&[
    0,
    127,
    128, 0,
    0xFF, 0,
    0xFF, 1,
    0xFF, 0x7F,
    0x80, 0x80, 0,
    128,
]);
use leb128plus::Read;
assert_eq!(c.read::<u8>().unwrap(), 0);
assert_eq!(c.read::<u16>().unwrap(), 127);
assert_eq!(c.read::<u32>().unwrap(), 128);
assert_eq!(c.read::<u64>().unwrap(), 0xFF);
assert_eq!(c.read::<u128>().unwrap(), 0x17F);
assert_eq!(c.read::<u16>().unwrap(), 0x407F);
assert_eq!(c.read::<u32>().unwrap(), 0x4080);
assert!(match c.read::<u64>() {
    Result::Err(_) => true,
    _ => false
});