Trait html5ever::tendril::stream::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
Self: Sized,
T: Into<Tendril<F, A>>,
{ ... }
fn from_iter<I>(self, i: I) -> Self::Output
where
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
{ ... }
fn read_from<R>(self, r: &mut R) -> Result<Self::Output, Error>
where
Self: Sized,
R: Read,
F: SliceFormat<Slice = [u8]>,
{ ... }
fn from_file<P>(self, path: P) -> Result<Self::Output, Error>
where
Self: Sized,
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.
Required Associated Types
type Output
type Output
What the overall result of processing is.
Required Methods
Provided Methods
fn one<T>(self, t: T) -> Self::Outputwhere
Self: Sized,
T: Into<Tendril<F, A>>,
fn one<T>(self, t: T) -> Self::Outputwhere
Self: Sized,
T: Into<Tendril<F, A>>,
Process one tendril and finish.
fn from_iter<I>(self, i: I) -> Self::Outputwhere
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
fn from_iter<I>(self, i: I) -> Self::Outputwhere
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<Tendril<F, A>>,
Consume an iterator of tendrils, processing each item, then finish.