Trait sophia_api::quad::stream::QuadSource
source · [−]pub trait QuadSource {
type Error: 'static + Error;
type Quad: QuadStreamingMode;
fn try_for_some_quad<F, E>(
&mut self,
f: &mut F
) -> StreamResult<bool, Self::Error, E>
where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error;
fn try_for_each_quad<F, E>(
&mut self,
f: F
) -> StreamResult<(), Self::Error, E>
where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error,
{ ... }
fn for_some_quad<F>(&mut self, f: &mut F) -> Result<bool, Self::Error>
where
F: FnMut(StreamedQuad<'_, Self::Quad>),
{ ... }
fn for_each_quad<F>(&mut self, f: F) -> Result<(), Self::Error>
where
F: FnMut(StreamedQuad<'_, Self::Quad>),
{ ... }
fn filter_quads<F>(self, filter: F) -> FilterSource<Self, F>
where
Self: Sized,
F: FnMut(&StreamedQuad<'_, Self::Quad>) -> bool,
{ ... }
fn filter_map_quads<F, T>(self, filter_map: F) -> FilterMapSource<Self, F>
where
Self: Sized,
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Option<T>,
{ ... }
fn map_quads<F, T>(self, map: F) -> MapSource<Self, F>
where
Self: Sized,
F: FnMut(StreamedQuad<'_, Self::Quad>) -> T,
{ ... }
fn size_hint_quads(&self) -> (usize, Option<usize>) { ... }
fn collect_quads<D>(
self
) -> StreamResult<D, Self::Error, <D as Dataset>::Error>
where
Self: Sized,
D: CollectibleDataset,
{ ... }
fn add_to_dataset<D: MutableDataset>(
self,
dataset: &mut D
) -> StreamResult<usize, Self::Error, <D as MutableDataset>::MutationError>
where
Self: Sized,
{ ... }
}
Expand description
Associated Types
type Quad: QuadStreamingMode
type Quad: QuadStreamingMode
Determine the type of Quad
s
that this quad source yields.
(see streaming_mode
Required methods
fn try_for_some_quad<F, E>(
&mut self,
f: &mut F
) -> StreamResult<bool, Self::Error, E> where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error,
fn try_for_some_quad<F, E>(
&mut self,
f: &mut F
) -> StreamResult<bool, Self::Error, E> where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error,
Call f for at least one quad from this quad source, if any.
Return false if there are no more quads in this source.
Provided methods
fn try_for_each_quad<F, E>(&mut self, f: F) -> StreamResult<(), Self::Error, E> where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error,
fn try_for_each_quad<F, E>(&mut self, f: F) -> StreamResult<(), Self::Error, E> where
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Result<(), E>,
E: Error,
Call f for all quads from this quad source.
fn for_some_quad<F>(&mut self, f: &mut F) -> Result<bool, Self::Error> where
F: FnMut(StreamedQuad<'_, Self::Quad>),
fn for_some_quad<F>(&mut self, f: &mut F) -> Result<bool, Self::Error> where
F: FnMut(StreamedQuad<'_, Self::Quad>),
Call f for at least one quad from this quad source, if any.
Return false if there are no more quads in this source.
fn for_each_quad<F>(&mut self, f: F) -> Result<(), Self::Error> where
F: FnMut(StreamedQuad<'_, Self::Quad>),
fn for_each_quad<F>(&mut self, f: F) -> Result<(), Self::Error> where
F: FnMut(StreamedQuad<'_, Self::Quad>),
Call f for all quads from this quad source.
fn filter_quads<F>(self, filter: F) -> FilterSource<Self, F> where
Self: Sized,
F: FnMut(&StreamedQuad<'_, Self::Quad>) -> bool,
fn filter_quads<F>(self, filter: F) -> FilterSource<Self, F> where
Self: Sized,
F: FnMut(&StreamedQuad<'_, Self::Quad>) -> bool,
Creates a quad source which uses a closure to determine if a quad should be yielded.
fn filter_map_quads<F, T>(self, filter_map: F) -> FilterMapSource<Self, F> where
Self: Sized,
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Option<T>,
fn filter_map_quads<F, T>(self, filter_map: F) -> FilterMapSource<Self, F> where
Self: Sized,
F: FnMut(StreamedQuad<'_, Self::Quad>) -> Option<T>,
Creates a quad source that both filters and maps.
Takes a closure and creates quad source which yield the result of that closure for each quad.
Returns the bounds on the remaining length of the quad source.
This method has the same contract as Iterator::size_hint
.
fn collect_quads<D>(self) -> StreamResult<D, Self::Error, <D as Dataset>::Error> where
Self: Sized,
D: CollectibleDataset,
fn collect_quads<D>(self) -> StreamResult<D, Self::Error, <D as Dataset>::Error> where
Self: Sized,
D: CollectibleDataset,
Collect these quads into a new dataset.
fn add_to_dataset<D: MutableDataset>(
self,
dataset: &mut D
) -> StreamResult<usize, Self::Error, <D as MutableDataset>::MutationError> where
Self: Sized,
fn add_to_dataset<D: MutableDataset>(
self,
dataset: &mut D
) -> StreamResult<usize, Self::Error, <D as MutableDataset>::MutationError> where
Self: Sized,
Insert all quads from this source into the given MutableDataset.
Stop on the first error (in the source or in the dataset).