Struct positioned_io::ByteIo
[−]
[src]
pub struct ByteIo<I, E: ByteOrder> { // some fields omitted }
Read or write with a given inherent byte-order.
If you know that you'll always be using a single endianness, an instance of ByteIo
will
allow you to omit the endian specifier on every read or write.
Examples
use positioned_io::ByteIo; let mut buf = [0; 8]; { let mut io : ByteIo<_, BigEndian> = ByteIo::new(buf.as_mut()); // All writes will automatically be BigEndian. try!(io.write_u16(300)); try!(io.write_u32(1_000_000)); try!(io.write_i16(-1)); } assert_eq!(buf, [1, 44, 0, 15, 66, 64, 255, 255]);
Methods
impl<I, E> ByteIo<I, E> where E: ByteOrder
[src]
fn new(io: I) -> Self
Create a new ByteIo
from some sort of reader or writer.
You will need to specify the byte-order when creating a ByteIo.
Examples
use positioned_io::ByteIo; let buf = [0; 10]; // Add a type specifier for the byte order. let io : ByteIo<_, BigEndian> = ByteIo::new(buf.as_ref());
impl<I, E: ByteOrder> ByteIo<I, E> where I: Read
[src]
fn read_u16(&mut self) -> Result<u16>
Reads an unsigned 16-bit integer.
fn read_i16(&mut self) -> Result<i16>
Reads a signed 16-bit integer.
fn read_u32(&mut self) -> Result<u32>
Reads an unsigned 32-bit integer.
fn read_i32(&mut self) -> Result<i32>
Reads a signed 32-bit integer.
fn read_u64(&mut self) -> Result<u64>
Reads an unsigned 64-bit integer.
fn read_i64(&mut self) -> Result<i64>
Reads a signed 64-bit integer.
fn read_uint(&mut self, nbytes: usize) -> Result<u64>
Reads an unsigned nbytes
-bit integer.
fn read_int(&mut self, nbytes: usize) -> Result<i64>
Reads a signed nbytes
-bit integer.
fn read_f32(&mut self) -> Result<f32>
Reads a single-precision floating point number.
fn read_f64(&mut self) -> Result<f64>
Reads a double-precision floating point number.
impl<I, E: ByteOrder> ByteIo<I, E> where I: Write
[src]
fn write_u16(&mut self, n: u16) -> Result<()>
Writes an unsigned 16-bit integer.
fn write_i16(&mut self, n: i16) -> Result<()>
Writes a signed 16-bit integer.
fn write_u32(&mut self, n: u32) -> Result<()>
Writes an unsigned 32-bit integer.
fn write_i32(&mut self, n: i32) -> Result<()>
Writes a signed 32-bit integer.
fn write_u64(&mut self, n: u64) -> Result<()>
Writes an unsigned 64-bit integer.
fn write_i64(&mut self, n: i64) -> Result<()>
Writes a signed 64-bit integer.
fn write_uint(&mut self, n: u64, nbytes: usize) -> Result<()>
Writes an unsigned nbytes
-bit integer.
fn write_int(&mut self, n: i64, nbytes: usize) -> Result<()>
Writes a signed nbytes
-bit integer.
fn write_f32(&mut self, n: f32) -> Result<()>
Writes a single-precision floating point number.
fn write_f64(&mut self, n: f64) -> Result<()>
Writes a double-precision floating point number.
impl<I, E: ByteOrder> ByteIo<I, E> where I: ReadAt
[src]
fn read_u16_at(&self, pos: u64) -> Result<u16>
Reads an unsigned 16-bit integer at an offset.
fn read_i16_at(&self, pos: u64) -> Result<i16>
Reads a signed 16-bit integer at an offset.
fn read_u32_at(&self, pos: u64) -> Result<u32>
Reads an unsigned 32-bit integer at an offset.
fn read_i32_at(&self, pos: u64) -> Result<i32>
Reads a signed 32-bit integer at an offset.
fn read_u64_at(&self, pos: u64) -> Result<u64>
Reads an unsigned 64-bit integer at an offset.
fn read_i64_at(&self, pos: u64) -> Result<i64>
Reads a signed 64-bit integer at an offset.
fn read_uint_at(&self, pos: u64, nbytes: usize) -> Result<u64>
Reads an unsigned nbytes
-bit integer at an offset.
fn read_int_at(&self, pos: u64, nbytes: usize) -> Result<i64>
Reads a signed nbytes
-bit integer at an offset.
fn read_f32_at(&self, pos: u64) -> Result<f32>
Reads a single-precision floating point number at an offset.
fn read_f64_at(&self, pos: u64) -> Result<f64>
Reads a double-precision floating point number at an offset.
impl<I, E: ByteOrder> ByteIo<I, E> where I: WriteAt
[src]
fn write_u16_at(&mut self, pos: u64, n: u16) -> Result<()>
Writes an unsigned 16-bit integer to an offset.
fn write_i16_at(&mut self, pos: u64, n: i16) -> Result<()>
Writes a signed 16-bit integer to an offset.
fn write_u32_at(&mut self, pos: u64, n: u32) -> Result<()>
Writes an unsigned 32-bit integer to an offset.
fn write_i32_at(&mut self, pos: u64, n: i32) -> Result<()>
Writes a signed 32-bit integer to an offset.
fn write_u64_at(&mut self, pos: u64, n: u64) -> Result<()>
Writes an unsigned 64-bit integer to an offset.
fn write_i64_at(&mut self, pos: u64, n: i64) -> Result<()>
Writes a signed 64-bit integer to an offset.
fn write_uint_at(&mut self, pos: u64, n: u64, nbytes: usize) -> Result<()>
Writes an unsigned nbytes
-bit integer to an offset.
fn write_int_at(&mut self, pos: u64, n: i64, nbytes: usize) -> Result<()>
Writes a signed nbytes
-bit integer to an offset.
fn write_f32_at(&mut self, pos: u64, n: f32) -> Result<()>
Writes a single-precision floating point number to an offset.
fn write_f64_at(&mut self, pos: u64, n: f64) -> Result<()>
Writes a double-precision floating point number to an offset.
Trait Implementations
impl<I, E> Deref for ByteIo<I, E> where E: ByteOrder
[src]
type Target = I
The resulting type after dereferencing
fn deref(&self) -> &I
The method called to dereference a value
impl<I, E> DerefMut for ByteIo<I, E> where E: ByteOrder
[src]
fn deref_mut(&mut self) -> &mut I
The method called to mutably dereference a value