Trait QuadsParser

Source
pub trait QuadsParser: Sized {
    type Error: Error;

    // Required methods
    fn parse_step<E: From<Self::Error>>(
        &mut self,
        on_quad: &mut impl FnMut(Quad<'_>) -> 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(Quad<'_>) -> Result<(), E>,
    ) -> Result<(), E> { ... }
    fn into_iter<T, E: From<Self::Error>, F: FnMut(Quad<'_>) -> Result<T, E>>(
        self,
        convert_quad: F,
    ) -> QuadsParserIterator<T, E, F, Self>  { ... }
}
Expand description

A parser returning Quad.

Required Associated Types§

Required Methods§

Source

fn parse_step<E: From<Self::Error>>( &mut self, on_quad: &mut impl FnMut(Quad<'_>) -> 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(Quad<'_>) -> 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: From<Self::Error>, F: FnMut(Quad<'_>) -> Result<T, E>>( self, convert_quad: F, ) -> QuadsParserIterator<T, E, F, Self>

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

convert_triple is a function converting Rio Triple 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§