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, WriteInt}; 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());
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
impl<I, E: ByteOrder> Read for ByteIo<I, E> where I: Read
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0
Transforms this Read
instance to an Iterator
over its bytes. Read more
fn chars(self) -> Chars<Self>
io
): the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an Iterator
over char
s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read
1.0.0
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0
Creates an adaptor which will read at most limit
bytes from it. Read more
impl<I, E: ByteOrder> Write for ByteIo<I, E> where I: Write
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<I, E: ByteOrder> ReadAt for ByteIo<I, E> where I: ReadAt
[src]
fn read_at(&self, pos: u64, buf: &mut [u8]) -> Result<usize>
Read bytes from an offset in this source into a buffer, returning how many bytes were read. Read more
fn read_exact_at(&self, pos: u64, buf: &mut [u8]) -> Result<()>
Read the exact number of bytes required to fill buf
, from an offset. Read more
impl<I, E: ByteOrder> WriteAt for ByteIo<I, E> where I: WriteAt
[src]
fn write_at(&mut self, pos: u64, buf: &[u8]) -> Result<usize>
Write a buffer at an offset, returning the number of bytes written. Read more
fn flush(&mut self) -> Result<()>
Flush this writer, ensuring that any buffered data is written. Read more
fn write_all_at(&mut self, pos: u64, buf: &[u8]) -> Result<()>
Write a complete buffer at an offset. Read more
impl<I, E: ByteOrder> ReadInt for 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> WriteInt for 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> ReadIntAt for 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> WriteIntAt for 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.