Skip to main content

BinRead

Trait BinRead 

Source
pub trait BinRead: Sized {
    type Args: Any + Copy;

    // Required method
    fn read_options<R>(
        reader: &mut R,
        options: &ReadOptions,
        args: Self::Args,
    ) -> Result<Self, Error>
       where R: Read + Seek;

    // Provided methods
    fn read<R>(reader: &mut R) -> Result<Self, Error>
       where R: Read + Seek { ... }
    fn read_args<R>(reader: &mut R, args: Self::Args) -> Result<Self, Error>
       where R: Read + Seek { ... }
    fn after_parse<R>(
        &mut self,
        _: &mut R,
        _: &ReadOptions,
        _: Self::Args,
    ) -> Result<(), Error>
       where R: Read + Seek { ... }
    fn args_default() -> Option<Self::Args> { ... }
}
Expand description

A BinRead trait allows reading a structure from anything that implements io::Read and io::Seek BinRead is implemented on the type to be read out of the given reader

Required Associated Types§

Source

type Args: Any + Copy

The type of arguments needed to be supplied in order to read this type, usually a tuple.

NOTE: For types that don’t require any arguments, use the unit (()) type. This will allow read to be used.

Required Methods§

Source

fn read_options<R>( reader: &mut R, options: &ReadOptions, args: Self::Args, ) -> Result<Self, Error>
where R: Read + Seek,

Read the type from the reader

Provided Methods§

Source

fn read<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + Seek,

Read the type from the reader while assuming no arguments have been passed

§Panics

Panics if there is no args_default implementation

Source

fn read_args<R>(reader: &mut R, args: Self::Args) -> Result<Self, Error>
where R: Read + Seek,

Read the type from the reader using the specified arguments

Source

fn after_parse<R>( &mut self, _: &mut R, _: &ReadOptions, _: Self::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source

fn args_default() -> Option<Self::Args>

The default arguments to be used when using the read shortcut method. Override this for any type that optionally requries arguments

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl BinRead for char

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <char as BinRead>::Args, ) -> Result<char, Error>
where R: Read + Seek,

Source§

impl BinRead for f32

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <f32 as BinRead>::Args, ) -> Result<f32, Error>
where R: Read + Seek,

Source§

impl BinRead for f64

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <f64 as BinRead>::Args, ) -> Result<f64, Error>
where R: Read + Seek,

Source§

impl BinRead for i8

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <i8 as BinRead>::Args, ) -> Result<i8, Error>
where R: Read + Seek,

Source§

impl BinRead for i16

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <i16 as BinRead>::Args, ) -> Result<i16, Error>
where R: Read + Seek,

Source§

impl BinRead for i32

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <i32 as BinRead>::Args, ) -> Result<i32, Error>
where R: Read + Seek,

Source§

impl BinRead for i64

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <i64 as BinRead>::Args, ) -> Result<i64, Error>
where R: Read + Seek,

Source§

impl BinRead for i128

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <i128 as BinRead>::Args, ) -> Result<i128, Error>
where R: Read + Seek,

Source§

impl BinRead for u8

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <u8 as BinRead>::Args, ) -> Result<u8, Error>
where R: Read + Seek,

Source§

impl BinRead for u16

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <u16 as BinRead>::Args, ) -> Result<u16, Error>
where R: Read + Seek,

Source§

impl BinRead for u32

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <u32 as BinRead>::Args, ) -> Result<u32, Error>
where R: Read + Seek,

Source§

impl BinRead for u64

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <u64 as BinRead>::Args, ) -> Result<u64, Error>
where R: Read + Seek,

Source§

impl BinRead for u128

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <u128 as BinRead>::Args, ) -> Result<u128, Error>
where R: Read + Seek,

Source§

impl BinRead for ()

Source§

type Args = ()

Source§

fn read_options<R>( _: &mut R, _: &ReadOptions, _: <() as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl BinRead for Vec<NonZero<u8>>

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, _: &ReadOptions, _: <Vec<NonZero<u8>> as BinRead>::Args, ) -> Result<Vec<NonZero<u8>>, Error>
where R: Read + Seek,

Source§

impl BinRead for Vec<NonZero<u16>>

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <Vec<NonZero<u16>> as BinRead>::Args, ) -> Result<Vec<NonZero<u16>>, Error>
where R: Read + Seek,

Source§

impl<C, B> BinRead for Vec<B>
where C: Copy + 'static, B: BinRead<Args = C>,

Source§

type Args = <B as BinRead>::Args

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, args: <Vec<B> as BinRead>::Args, ) -> Result<Vec<B>, Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, ro: &ReadOptions, args: <Vec<B> as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<C, B, const N: usize> BinRead for [B; N]
where C: Copy + 'static, B: BinRead<Args = C>,

Available on crate feature const_generics only.
Source§

type Args = <B as BinRead>::Args

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, args: <[B; N] as BinRead>::Args, ) -> Result<[B; N], Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, ro: &ReadOptions, args: <B as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<T> BinRead for Option<T>
where T: BinRead,

Source§

type Args = <T as BinRead>::Args

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, args: <Option<T> as BinRead>::Args, ) -> Result<Option<T>, Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, ro: &ReadOptions, args: <Option<T> as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<T> BinRead for Box<T>
where T: BinRead,

Source§

type Args = <T as BinRead>::Args

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, args: <Box<T> as BinRead>::Args, ) -> Result<Box<T>, Error>
where R: Read + Seek,

Source§

impl<T> BinRead for PhantomData<T>

Source§

impl<b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b1: BinRead<Args = ()>, b2: BinRead<Args = ()>, b3: BinRead<Args = ()>, b4: BinRead<Args = ()>, b5: BinRead<Args = ()>, b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b2: BinRead<Args = ()>, b3: BinRead<Args = ()>, b4: BinRead<Args = ()>, b5: BinRead<Args = ()>, b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b3: BinRead<Args = ()>, b4: BinRead<Args = ()>, b5: BinRead<Args = ()>, b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b4: BinRead<Args = ()>, b5: BinRead<Args = ()>, b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b5: BinRead<Args = ()>, b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b6: BinRead<Args = ()>, b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b7: BinRead<Args = ()>, b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b8: BinRead<Args = ()>, b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b9: BinRead<Args = ()>, b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b10: BinRead<Args = ()>, b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b11: BinRead<Args = ()>, b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b12: BinRead<Args = ()>, b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b13: BinRead<Args = ()>, b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b14: BinRead<Args = ()>, b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b15: BinRead<Args = ()>, b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b16: BinRead<Args = ()>, b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b17: BinRead<Args = ()>, b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b18: BinRead<Args = ()>, b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b19: BinRead<Args = ()>, b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b20: BinRead<Args = ()>, b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b21: BinRead<Args = ()>, b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b22: BinRead<Args = ()>, b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b23, b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b23: BinRead<Args = ()>, b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b24, b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b24, b25, b26, b27, b28, b29, b30, b31, b32)
where b24: BinRead<Args = ()>, b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b25, b26, b27, b28, b29, b30, b31, b32> BinRead for (b25, b26, b27, b28, b29, b30, b31, b32)
where b25: BinRead<Args = ()>, b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b26, b27, b28, b29, b30, b31, b32> BinRead for (b26, b27, b28, b29, b30, b31, b32)
where b26: BinRead<Args = ()>, b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b27, b28, b29, b30, b31, b32> BinRead for (b27, b28, b29, b30, b31, b32)
where b27: BinRead<Args = ()>, b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b28, b29, b30, b31, b32> BinRead for (b28, b29, b30, b31, b32)
where b28: BinRead<Args = ()>, b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

impl<b29, b30, b31, b32> BinRead for (b29, b30, b31, b32)
where b29: BinRead<Args = ()>, b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <(b29, b30, b31, b32) as BinRead>::Args, ) -> Result<(b29, b30, b31, b32), Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, options: &ReadOptions, _: <(b29, b30, b31, b32) as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<b30, b31, b32> BinRead for (b30, b31, b32)
where b30: BinRead<Args = ()>, b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <(b30, b31, b32) as BinRead>::Args, ) -> Result<(b30, b31, b32), Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, options: &ReadOptions, _: <(b30, b31, b32) as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<b31, b32> BinRead for (b31, b32)
where b31: BinRead<Args = ()>, b32: BinRead<Args = ()>,

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <(b31, b32) as BinRead>::Args, ) -> Result<(b31, b32), Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, options: &ReadOptions, _: <(b31, b32) as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Source§

impl<b32> BinRead for (b32,)
where b32: BinRead<Args = ()>,

Source§

type Args = ()

Source§

fn read_options<R>( reader: &mut R, options: &ReadOptions, _: <(b32,) as BinRead>::Args, ) -> Result<(b32,), Error>
where R: Read + Seek,

Source§

fn after_parse<R>( &mut self, reader: &mut R, options: &ReadOptions, _: <(b32,) as BinRead>::Args, ) -> Result<(), Error>
where R: Read + Seek,

Implementors§

Source§

impl BinRead for NullString

Source§

impl BinRead for NullWideString

Source§

impl BinRead for HalfKPModelReader

Source§

impl<Ptr, BR> BinRead for FilePtr<Ptr, BR>
where Ptr: BinRead<Args = ()> + IntoSeekFrom, BR: BinRead,

Source§

type Args = <BR as BinRead>::Args

Source§

impl<T> BinRead for PosValue<T>
where T: BinRead,

Source§

type Args = <T as BinRead>::Args

Source§

impl<T: BinRead<Args = ()> + Copy + PartialEq + Send + Sync + 'static> BinRead for BinaryMagic<T>

Source§

impl<T: BinRead<Args = ()>> BinRead for SerdeWrapper<T>

Available on crate feature binread only.
Source§

impl<T: BinRead<Args = ()>, const N: usize> BinRead for MathVec<T, N>

Source§

impl<W: BinRead<Args = ()> + Debug, B: BinRead<Args = ()>, const NUM_INPUTS: usize, const NUM_OUTPUTS: usize> BinRead for Layer<W, B, NUM_INPUTS, NUM_OUTPUTS>