[][src]Struct exr::io::Tracking

pub struct Tracking<T> { /* fields omitted */ }

Keep track of what byte we are at. Used to skip back to a previous place after writing some information.

Methods

impl<T> Tracking<T>[src]

pub fn new(inner: T) -> Self[src]

If inner is a reference, if must never be seeked directly, but only through this Tracking instance.

pub fn byte_position(&self) -> usize[src]

Current number of bytes written or read.

impl<T: Read + Seek> Tracking<T>[src]

pub fn seek_read_to(&mut self, target_position: usize) -> Result<()>[src]

Set the reader to the specified byte position. If it is only a couple of bytes, no seek system call is performed.

impl<T: Write + Seek> Tracking<T>[src]

pub fn seek_write_to(&mut self, target_position: usize) -> Result<()>[src]

Move the writing cursor to the specified target byte index. If seeking forward, this will write zeroes.

Trait Implementations

impl<T: Debug> Debug for Tracking<T>[src]

impl<T: Read> Read for Tracking<T>[src]

impl<T: Write> Write for Tracking<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Tracking<T> where
    T: RefUnwindSafe

impl<T> Send for Tracking<T> where
    T: Send

impl<T> Sync for Tracking<T> where
    T: Sync

impl<T> Unpin for Tracking<T> where
    T: Unpin

impl<T> UnwindSafe for Tracking<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<R> ReadEndian<[f32]> for R where
    R: Read
[src]

impl<R> ReadEndian<[f64]> for R where
    R: Read
[src]

impl<R> ReadEndian<[i128]> for R where
    R: Read
[src]

impl<R> ReadEndian<[i16]> for R where
    R: Read
[src]

impl<R> ReadEndian<[i32]> for R where
    R: Read
[src]

impl<R> ReadEndian<[i64]> for R where
    R: Read
[src]

impl<R> ReadEndian<[i8]> for R where
    R: Read
[src]

impl<R> ReadEndian<[u128]> for R where
    R: Read
[src]

impl<R> ReadEndian<[u16]> for R where
    R: Read
[src]

impl<R> ReadEndian<[u32]> for R where
    R: Read
[src]

impl<R> ReadEndian<[u64]> for R where
    R: Read
[src]

impl<R> ReadEndian<[u8]> for R where
    R: Read
[src]

impl<R> ReadEndian<f32> for R where
    R: Read
[src]

impl<R> ReadEndian<f64> for R where
    R: Read
[src]

impl<R> ReadEndian<i128> for R where
    R: Read
[src]

impl<R> ReadEndian<i16> for R where
    R: Read
[src]

impl<R> ReadEndian<i32> for R where
    R: Read
[src]

impl<R> ReadEndian<i64> for R where
    R: Read
[src]

impl<R> ReadEndian<i8> for R where
    R: Read
[src]

impl<R> ReadEndian<u128> for R where
    R: Read
[src]

impl<R> ReadEndian<u16> for R where
    R: Read
[src]

impl<R> ReadEndian<u32> for R where
    R: Read
[src]

impl<R> ReadEndian<u64> for R where
    R: Read
[src]

impl<R> ReadEndian<u8> for R where
    R: Read
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<W> WriteEndian<[f32]> for W where
    W: Write
[src]

impl<W> WriteEndian<[f64]> for W where
    W: Write
[src]

impl<W> WriteEndian<[i128]> for W where
    W: Write
[src]

impl<W> WriteEndian<[i16]> for W where
    W: Write
[src]

impl<W> WriteEndian<[i32]> for W where
    W: Write
[src]

impl<W> WriteEndian<[i64]> for W where
    W: Write
[src]

impl<W> WriteEndian<[i8]> for W where
    W: Write
[src]

impl<W> WriteEndian<[u128]> for W where
    W: Write
[src]

impl<W> WriteEndian<[u16]> for W where
    W: Write
[src]

impl<W> WriteEndian<[u32]> for W where
    W: Write
[src]

impl<W> WriteEndian<[u64]> for W where
    W: Write
[src]

impl<W> WriteEndian<[u8]> for W where
    W: Write
[src]

impl<W> WriteEndian<f32> for W where
    W: Write
[src]

impl<W> WriteEndian<f64> for W where
    W: Write
[src]

impl<W> WriteEndian<i128> for W where
    W: Write
[src]

impl<W> WriteEndian<i16> for W where
    W: Write
[src]

impl<W> WriteEndian<i32> for W where
    W: Write
[src]

impl<W> WriteEndian<i64> for W where
    W: Write
[src]

impl<W> WriteEndian<i8> for W where
    W: Write
[src]

impl<W> WriteEndian<u128> for W where
    W: Write
[src]

impl<W> WriteEndian<u16> for W where
    W: Write
[src]

impl<W> WriteEndian<u32> for W where
    W: Write
[src]

impl<W> WriteEndian<u64> for W where
    W: Write
[src]

impl<W> WriteEndian<u8> for W where
    W: Write
[src]