[][src]Function genie_support::read_opt_u32

pub fn read_opt_u32<T, R>(input: R) -> Result<Option<T>> where
    T: TryFrom<u32>,
    T::Error: Error + Send + Sync + 'static,
    R: Read

Read a 4-byte integer that uses -1 as an "absent" value.

Example

use genie_support::read_opt_u32;

let mut minus_one = std::io::Cursor::new(vec![0xFF, 0xFF, 0xFF, 0xFF]);
let mut one = std::io::Cursor::new(vec![0x01, 0x00, 0x00, 0x00]);

assert_eq!(read_opt_u32::<u32, _>(&mut minus_one).unwrap(), None);
assert_eq!(read_opt_u32(&mut one).unwrap(), Some(1));