Skip to main content

ReadBytes

Trait ReadBytes 

Source
pub trait ReadBytes: Sized {
    // Required methods
    fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>;
    fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>;
    fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>;
}
Expand description

Trait to enable writing bytes to a reader.

Required Methods§

Source

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

Returns the amount of bytes read.

Source

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

Returns the amount of bytes read.

Source

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

Returns the amount of bytes read.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ReadBytes for i8

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i8;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i8 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i8;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i8 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i8;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i8 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for i16

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i16;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i16 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i16;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i16 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i16;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i16 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for i32

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i32;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i32 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i32;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i32 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i32;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i32 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for i64

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i64;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i64 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i64;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i64 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i64;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i64 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for i128

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i128;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i128 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i128;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i128 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_i128;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: i128 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for isize

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_isize;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: isize = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_isize;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: isize = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_isize;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: isize = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for u8

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u8;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u8 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u8;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u8 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u8;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u8 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for u16

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u16;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u16 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u16;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u16 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u16;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u16 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for u32

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u32;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u32 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u32;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u32 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u32;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u32 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for u64

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u64;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u64 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u64;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u64 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u64;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u64 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for u128

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u128;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u128 = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u128;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u128 = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_u128;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: u128 = buf.read_ne().unwrap();
assert_eq!(num, 12);
Source§

impl ReadBytes for usize

Source§

fn read_be_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as big endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_usize;
buf.write_be(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: usize = buf.read_be().unwrap();
assert_eq!(num, 12);
Source§

fn read_le_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader as little endian.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_usize;
buf.write_le(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: usize = buf.read_le().unwrap();
assert_eq!(num, 12);
Source§

fn read_ne_bytes<R: Read>(reader: &mut R) -> Result<Self>

Read bytes from a reader using native endianness.

As the target platform’s native endianness is used, portable code likely wants to use read_be_bytes or read_le_bytes, as appropriate instead.

§Examples
use std::io::{Cursor, Seek, SeekFrom};
use omnom::prelude::*;

let mut buf = Cursor::new(vec![0; 15]);

let num = 12_usize;
buf.write_ne(num).unwrap();

buf.seek(SeekFrom::Start(0)).unwrap();
let num: usize = buf.read_ne().unwrap();
assert_eq!(num, 12);

Implementors§