Struct positioned_io::ByteIo [] [src]

pub struct ByteIo<I, E: ByteOrder> { /* 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]

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]

The resulting type after dereferencing

The method called to dereference a value

impl<I, E> DerefMut for ByteIo<I, E> where
    E: ByteOrder
[src]

The method called to mutably dereference a value

impl<I, E: ByteOrder> Read for ByteIo<I, E> where
    I: Read
[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read the exact number of bytes required to fill buf. Read more

Creates a "by reference" adaptor for this instance of Read. Read more

Transforms this Read instance to an Iterator over its bytes. Read more

🔬 This is a nightly-only experimental API. (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 chars. Read more

Creates an adaptor which will chain this stream with another. Read more

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]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

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]

Read bytes from an offset in this source into a buffer, returning how many bytes were read. Read more

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]

Write a buffer at an offset, returning the number of bytes written. Read more

Flush this writer, ensuring that any buffered data is written. Read more

Write a complete buffer at an offset. Read more

impl<I, E: ByteOrder> ReadInt for ByteIo<I, E> where
    I: Read
[src]

Reads an unsigned 8-bit integer.

Reads a signed 8-bit integer.

Reads an unsigned 8-bit integer.

Reads a signed 16-bit integer.

Reads an unsigned 32-bit integer.

Reads a signed 32-bit integer.

Reads an unsigned 64-bit integer.

Reads a signed 64-bit integer.

Reads an unsigned nbytes-bit integer.

Reads a signed nbytes-bit integer.

Reads a single-precision floating point number.

Reads a double-precision floating point number.

impl<I, E: ByteOrder> WriteInt for ByteIo<I, E> where
    I: Write
[src]

Writes an unsigned 8-bit integer.

Writes a signed 8-bit integer.

Writes an unsigned 16-bit integer.

Writes a signed 16-bit integer.

Writes an unsigned 32-bit integer.

Writes a signed 32-bit integer.

Writes an unsigned 64-bit integer.

Writes a signed 64-bit integer.

Writes an unsigned nbytes-bit integer.

Writes a signed nbytes-bit integer.

Writes a single-precision floating point number.

Writes a double-precision floating point number.

impl<I, E: ByteOrder> ReadIntAt for ByteIo<I, E> where
    I: ReadAt
[src]

Reads an unsigned 8-bit integer at an offset.

Reads a signed 8-bit integer at an offset.

Reads an unsigned 16-bit integer at an offset.

Reads a signed 16-bit integer at an offset.

Reads an unsigned 32-bit integer at an offset.

Reads a signed 32-bit integer at an offset.

Reads an unsigned 64-bit integer at an offset.

Reads a signed 64-bit integer at an offset.

Reads an unsigned nbytes-bit integer at an offset.

Reads a signed nbytes-bit integer at an offset.

Reads a single-precision floating point number at an offset.

Reads a double-precision floating point number at an offset.

impl<I, E: ByteOrder> WriteIntAt for ByteIo<I, E> where
    I: WriteAt
[src]

Writes an unsigned 8-bit integer to an offset.

Writes a signed 8-bit integer to an offset.

Writes an unsigned 16-bit integer to an offset.

Writes a signed 16-bit integer to an offset.

Writes an unsigned 32-bit integer to an offset.

Writes a signed 32-bit integer to an offset.

Writes an unsigned 64-bit integer to an offset.

Writes a signed 64-bit integer to an offset.

Writes an unsigned nbytes-bit integer to an offset.

Writes a signed nbytes-bit integer to an offset.

Writes a single-precision floating point number to an offset.

Writes a double-precision floating point number to an offset.