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§
Sourcefn parse_step<E: From<Self::Error>>(
&mut self,
on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>,
) -> Result<(), E>
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
.
Provided Methods§
Sourcefn parse_all<E: From<Self::Error>>(
&mut self,
on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E>,
) -> Result<(), E>
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
.
Sourcefn into_iter<T, E, F>(
self,
convert_quad: F,
) -> GeneralizedQuadsParserIterator<T, E, F, Self> ⓘ
fn into_iter<T, E, F>( self, convert_quad: F, ) -> GeneralizedQuadsParserIterator<T, E, F, Self> ⓘ
Converts the parser into a Result<T, E>
iterator.
convert_quad
is a function converting Rio GeneralizedQuad
s 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.