Trait pusherator::PusheratorBuild
source · pub trait PusheratorBuild {
type ItemOut;
type Output<Next: Pusherator<Item = Self::ItemOut>>;
// Required method
fn push_to<Next>(self, input: Next) -> Self::Output<Next>
where Next: Pusherator<Item = Self::ItemOut>;
// Provided methods
fn map<Func, Out>(self, func: Func) -> MapBuild<Self, Func>
where Self: Sized,
Func: FnMut(Self::ItemOut) -> Out { ... }
fn inspect<Func>(self, func: Func) -> InspectBuild<Self, Func>
where Self: Sized,
Func: FnMut(&Self::ItemOut) { ... }
fn filter<Func>(self, func: Func) -> FilterBuild<Self, Func>
where Self: Sized,
Func: FnMut(&Self::ItemOut) -> bool { ... }
fn tee<Next1>(self, next1: Next1) -> TeeBuild<Self, Next1>
where Self: Sized,
Self::ItemOut: Clone,
Next1: Pusherator<Item = Self::ItemOut> { ... }
fn unzip<Next1, Item2>(self, next1: Next1) -> UnzipBuild<Self, Next1>
where Self: Sized + PusheratorBuild<ItemOut = (Next1::Item, Item2)>,
Next1: Pusherator { ... }
fn switch<Next1, Item2>(self, next1: Next1) -> SwitchBuild<Self, Next1>
where Self: Sized + PusheratorBuild<ItemOut = Either<Next1::Item, Item2>>,
Next1: Pusherator { ... }
fn for_each<Func>(
self,
func: Func,
) -> Self::Output<ForEach<Func, Self::ItemOut>>
where Self: Sized,
Func: FnMut(Self::ItemOut) { ... }
fn demux<Func, Nexts>(
self,
func: Func,
nexts: Nexts,
) -> Self::Output<Demux<Func, Nexts, Self::ItemOut>>
where Self: Sized,
Func: FnMut(Self::ItemOut, &mut Nexts) { ... }
}
Required Associated Types§
Required Methods§
fn push_to<Next>(self, input: Next) -> Self::Output<Next>where
Next: Pusherator<Item = Self::ItemOut>,
Provided Methods§
fn map<Func, Out>(self, func: Func) -> MapBuild<Self, Func>
fn inspect<Func>(self, func: Func) -> InspectBuild<Self, Func>
fn filter<Func>(self, func: Func) -> FilterBuild<Self, Func>
fn tee<Next1>(self, next1: Next1) -> TeeBuild<Self, Next1>
fn unzip<Next1, Item2>(self, next1: Next1) -> UnzipBuild<Self, Next1>
fn switch<Next1, Item2>(self, next1: Next1) -> SwitchBuild<Self, Next1>
fn for_each<Func>( self, func: Func, ) -> Self::Output<ForEach<Func, Self::ItemOut>>
fn demux<Func, Nexts>( self, func: Func, nexts: Nexts, ) -> Self::Output<Demux<Func, Nexts, Self::ItemOut>>
Object Safety§
This trait is not object safe.