ReadFrom

Trait ReadFrom 

Source
pub trait ReadFrom: Sized {
    type ParseError: Error;

    // Required method
    fn try_read_from<F: Format, S: BufReadExt>(
        stream: &mut S,
        format: F,
    ) -> Result<Self, ReadFromError<Self>>;

    // Provided methods
    fn try_read_n_from<F: Format, S: BufReadExt>(
        stream: &mut S,
        n: usize,
        format: F,
    ) -> Result<Vec<Self>, ReadFromError<Self>> { ... }
    fn try_read_m_n_from<F: Format, S: BufReadExt>(
        stream: &mut S,
        m: usize,
        n: usize,
        format: F,
    ) -> Result<Mat<Self>, ReadFromError<Self>> { ... }
}
Expand description

Read data from input stream.

§Errors

Required Associated Types§

Source

type ParseError: Error

Errors that come from ReadOneFrom.

Required Methods§

Source

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<Self, ReadFromError<Self>>

Read from self and parse into Self.

Provided Methods§

Source

fn try_read_n_from<F: Format, S: BufReadExt>( stream: &mut S, n: usize, format: F, ) -> Result<Vec<Self>, ReadFromError<Self>>

Read n elements from self, parse into Self and aggregate them into a single Vec.

Source

fn try_read_m_n_from<F: Format, S: BufReadExt>( stream: &mut S, m: usize, n: usize, format: F, ) -> Result<Mat<Self>, ReadFromError<Self>>

Read m * n elements from self, parse into Self and aggregate them into a single Mat.

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 ReadFrom for ()

Source§

impl<T1: ReadFrom> ReadFrom for (T1,)

Source§

type ParseError = Tuple1Error<<T1 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1,), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom> ReadFrom for (T1, T2)

Source§

type ParseError = Tuple2Error<<T1 as ReadFrom>::ParseError, <T2 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1, T2), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom> ReadFrom for (T1, T2, T3)

Source§

type ParseError = Tuple3Error<<T1 as ReadFrom>::ParseError, <T2 as ReadFrom>::ParseError, <T3 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1, T2, T3), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom> ReadFrom for (T1, T2, T3, T4)

Source§

type ParseError = Tuple4Error<<T1 as ReadFrom>::ParseError, <T2 as ReadFrom>::ParseError, <T3 as ReadFrom>::ParseError, <T4 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1, T2, T3, T4), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5)

Source§

type ParseError = Tuple5Error<<T1 as ReadFrom>::ParseError, <T2 as ReadFrom>::ParseError, <T3 as ReadFrom>::ParseError, <T4 as ReadFrom>::ParseError, <T5 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1, T2, T3, T4, T5), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6)

Source§

type ParseError = Tuple6Error<<T1 as ReadFrom>::ParseError, <T2 as ReadFrom>::ParseError, <T3 as ReadFrom>::ParseError, <T4 as ReadFrom>::ParseError, <T5 as ReadFrom>::ParseError, <T6 as ReadFrom>::ParseError>

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<(T1, T2, T3, T4, T5, T6), ReadFromError<Self>>

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom, T8: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom, T8: ReadFrom, T9: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom, T8: ReadFrom, T9: ReadFrom, T10: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom, T8: ReadFrom, T9: ReadFrom, T10: ReadFrom, T11: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<T1: ReadFrom, T2: ReadFrom, T3: ReadFrom, T4: ReadFrom, T5: ReadFrom, T6: ReadFrom, T7: ReadFrom, T8: ReadFrom, T9: ReadFrom, T10: ReadFrom, T11: ReadFrom, T12: ReadFrom> ReadFrom for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

impl<T: ReadFrom, const N: usize> ReadFrom for [T; N]

Source§

type ParseError = <T as ReadFrom>::ParseError

Source§

fn try_read_from<F: Format, S: BufReadExt>( stream: &mut S, format: F, ) -> Result<Self, ReadFromError<Self>>

Source§

impl<T: ReadFrom, const N: usize> ReadFrom for Box<[T; N]>

Implementors§

Source§

impl<T: ReadOneFrom> ReadFrom for Vec<T>

Read several data items in a line from input stream.

Such as:

1 2 3
Source§

impl<T: ReadOneFrom> ReadFrom for T