Trait GeneralizedQuadsParser

Source
pub trait GeneralizedQuadsParser {
    type Error: Error;

    // Required methods
    fn parse_step<E: From<Self::Error>>(
        &mut self,
        on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>,
    ) -> Result<(), E>;
    fn is_end(&self) -> bool;

    // Provided methods
    fn parse_all<E: From<Self::Error>>(
        &mut self,
        on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>,
    ) -> Result<(), E> { ... }
    fn into_iter<T, E, F>(
        self,
        convert_quad: F,
    ) -> GeneralizedQuadsParserIterator<T, E, F, Self> 
       where E: From<Self::Error>,
             F: FnMut(GeneralizedQuad<'_>) -> Result<T, E>,
             Self: Sized { ... }
}
Expand description

A parser returning generalized Quad.

Using it requires to enable the generalized feature.

Required Associated Types§

Required Methods§

Source

fn parse_step<E: From<Self::Error>>( &mut self, on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>, ) -> Result<(), E>

Parses a small chunk of the file and calls on_quad each time a new quad is read. (A “small chunk” could be a line for an N-Quads parser.)

This method should be called as long as is_end returns false.

May fails on errors caused by the parser itself or by the callback function on_quad.

Source

fn is_end(&self) -> bool

Returns true if the file has been completely consumed by the parser.

Provided Methods§

Source

fn parse_all<E: From<Self::Error>>( &mut self, on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>, ) -> Result<(), E>

Parses the complete file and calls on_quad each time a new quad is read.

May fails on errors caused by the parser itself or by the callback function on_quad.

Source

fn into_iter<T, E, F>( self, convert_quad: F, ) -> GeneralizedQuadsParserIterator<T, E, F, Self>
where E: From<Self::Error>, F: FnMut(GeneralizedQuad<'_>) -> Result<T, E>, Self: Sized,

Converts the parser into a Result<T, E> iterator.

convert_quad is a function converting Rio GeneralizedQuads to T.

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.

Implementors§