Trait xml5ever::tendril::TendrilSink [−]
pub trait TendrilSink<F, A = NonAtomic> where
F: Format,
A: Atomicity, {
type Output;
fn process(&mut self, t: Tendril<F, A>);
fn error(&mut self, desc: Cow<'static, str>);
fn finish(self) -> Self::Output;
fn one<T>(self, t: T) -> Self::Output
where
T: Into<Tendril<F, A>>,
{ ... }
fn from_iter<I>(self, i: I) -> Self::Output
where
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
{ ... }
fn read_from<R>(self, r: &mut R) -> Result<Self::Output, Error>
where
R: Read,
F: SliceFormat<Slice = [u8]>,
{ ... }
fn from_file<P>(self, path: P) -> Result<Self::Output, Error>
where
P: AsRef<Path>,
F: SliceFormat<Slice = [u8]>,
{ ... }
}
Expand description
Trait for types that can process a tendril.
This is a “push” interface, unlike the “pull” interface of
Iterator<Item=Tendril<F>>
. The push interface matches
html5ever and other incremental parsers with a similar
architecture.
Associated Types
type Output
type Output
What the overall result of processing is.
Required methods
Provided methods
fn from_iter<I>(self, i: I) -> Self::Output where
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
fn from_iter<I>(self, i: I) -> Self::Output where
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
Consume an iterator of tendrils, processing each item, then finish.
Read from the given stream of bytes until exhaustion and process incrementally,
then finish. Return Err
at the first I/O error.