[−][src]Struct exr::io::Tracking
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]
fn read(&mut self, buffer: &mut [u8]) -> Result<usize>
[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>
1.36.0[src]
unsafe fn initializer(&self) -> Initializer
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
ⓘImportant traits for &'_ mut Wfn by_ref(&mut self) -> &mut Self
1.0.0[src]
ⓘImportant traits for &'_ mut W
fn bytes(self) -> Bytes<Self>
1.0.0[src]
ⓘImportant traits for Chain<T, U>fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
ⓘImportant traits for Chain<T, U>
R: Read,
ⓘImportant traits for Take<T>fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
ⓘImportant traits for Take<T>
impl<T: Write> Write for Tracking<T>
[src]
fn write(&mut self, buffer: &[u8]) -> Result<usize>
[src]
fn flush(&mut self) -> Result<()>
[src]
fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>
1.36.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
ⓘImportant traits for &'_ mut Wfn by_ref(&mut self) -> &mut Self
1.0.0[src]
ⓘImportant traits for &'_ mut W
Auto Trait Implementations
impl<T> RefUnwindSafe for Tracking<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Tracking<T> where
T: Send,
T: Send,
impl<T> Sync for Tracking<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Tracking<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Tracking<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
ⓘImportant traits for &'_ mut Wfn borrow_mut(&mut self) -> &mut T
[src]
ⓘImportant traits for &'_ mut W
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<R> ReadEndian<[f32]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [f32]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [f32]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [f32]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[f64]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [f64]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [f64]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [f64]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[i128]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [i128]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [i128]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [i128]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[i16]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [i16]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [i16]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [i16]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[i32]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [i32]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [i32]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [i32]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[i64]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [i64]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [i64]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [i64]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[i8]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [i8]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [i8]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [i8]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[u128]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [u128]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [u128]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [u128]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[u16]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [u16]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [u16]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [u16]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[u32]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [u32]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [u32]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [u32]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[u64]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [u64]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [u64]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [u64]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<[u8]> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut [u8]
) -> Result<(), Error>
[src]
&mut self,
value: &mut [u8]
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut [u8]) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<f32> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut f32) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut f32) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<f64> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut f64) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut f64) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<i128> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut i128
) -> Result<(), Error>
[src]
&mut self,
value: &mut i128
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut i128) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<i16> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i16) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut i16) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<i32> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i32) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut i32) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<i64> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i64) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut i64) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<i8> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i8) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut i8) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<u128> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(
&mut self,
value: &mut u128
) -> Result<(), Error>
[src]
&mut self,
value: &mut u128
) -> Result<(), Error>
fn read_from_big_endian_into(&mut self, value: &mut u128) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<u16> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u16) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut u16) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<u32> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u32) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut u32) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<u64> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u64) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut u64) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<R> ReadEndian<u8> for R where
R: Read,
[src]
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u8) -> Result<(), Error>
[src]
fn read_from_big_endian_into(&mut self, value: &mut u8) -> Result<(), Error>
[src]
fn read_from_little_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
fn read_from_big_endian(&mut self) -> Result<T, Error> where
T: Default,
[src]
T: Default,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<W> WriteEndian<[f32]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[f32]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[f32]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[f64]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[f64]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[f64]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[i128]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[i128]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[i128]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[i16]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[i16]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[i16]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[i32]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[i32]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[i32]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[i64]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[i64]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[i64]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[i8]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[i8]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[i8]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[u128]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[u128]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[u128]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[u16]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[u16]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[u16]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[u32]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[u32]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[u32]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[u64]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[u64]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[u64]) -> Result<(), Error>
[src]
impl<W> WriteEndian<[u8]> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &[u8]) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &[u8]) -> Result<(), Error>
[src]
impl<W> WriteEndian<f32> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &f32) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &f32) -> Result<(), Error>
[src]
impl<W> WriteEndian<f64> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &f64) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &f64) -> Result<(), Error>
[src]
impl<W> WriteEndian<i128> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &i128) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &i128) -> Result<(), Error>
[src]
impl<W> WriteEndian<i16> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &i16) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &i16) -> Result<(), Error>
[src]
impl<W> WriteEndian<i32> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &i32) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &i32) -> Result<(), Error>
[src]
impl<W> WriteEndian<i64> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &i64) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &i64) -> Result<(), Error>
[src]
impl<W> WriteEndian<i8> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &i8) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &i8) -> Result<(), Error>
[src]
impl<W> WriteEndian<u128> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &u128) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &u128) -> Result<(), Error>
[src]
impl<W> WriteEndian<u16> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &u16) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &u16) -> Result<(), Error>
[src]
impl<W> WriteEndian<u32> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &u32) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &u32) -> Result<(), Error>
[src]
impl<W> WriteEndian<u64> for W where
W: Write,
[src]
W: Write,
fn write_as_little_endian(&mut self, value: &u64) -> Result<(), Error>
[src]
fn write_as_big_endian(&mut self, value: &u64) -> Result<(), Error>
[src]
impl<W> WriteEndian<u8> for W where
W: Write,
[src]
W: Write,