pub struct LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> { /* private fields */ }Expand description
Pull combinator for lattice bimorphism operations.
Implementations§
Source§impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
Trait Implementations§
Source§impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> Pull for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> Pull for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
Source§type Ctx<'ctx> = <<LhsPrev as Pull>::Ctx<'ctx> as Context<'ctx>>::Merged<<RhsPrev as Pull>::Ctx<'ctx>>
type Ctx<'ctx> = <<LhsPrev as Pull>::Ctx<'ctx> as Context<'ctx>>::Merged<<RhsPrev as Pull>::Ctx<'ctx>>
The context type required to poll this pull.
Source§type CanPend = <<LhsPrev as Pull>::CanPend as Toggle>::Or<<RhsPrev as Pull>::CanPend>
type CanPend = <<LhsPrev as Pull>::CanPend as Toggle>::Or<<RhsPrev as Pull>::CanPend>
Whether this pull can return [
Step::Pending].Source§type CanEnd = <<LhsPrev as Pull>::CanEnd as Toggle>::And<<RhsPrev as Pull>::CanEnd>
type CanEnd = <<LhsPrev as Pull>::CanEnd as Toggle>::And<<RhsPrev as Pull>::CanEnd>
Whether this pull can return [
Step::Ended].Source§fn pull(
self: Pin<&mut Self>,
ctx: &mut Self::Ctx<'_>,
) -> Step<Self::Item, Self::Meta, Self::CanPend, Self::CanEnd>
fn pull( self: Pin<&mut Self>, ctx: &mut Self::Ctx<'_>, ) -> Step<Self::Item, Self::Meta, Self::CanPend, Self::CanEnd>
Attempts to pull the next item from this stream.
§fn size_hint(self: Pin<&Self>) -> (usize, Option<usize>)
fn size_hint(self: Pin<&Self>) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the pull. Read more
§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Creates a pull which gives the current iteration count as well as the next value. Read more
§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
Creates a pull which uses a closure to determine if an element should be yielded. Read more
§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
Creates a pull that both filters and maps. Read more
§fn flat_map<U, F>(
self,
f: F,
) -> FlatMap<Self, F, <U as IntoIterator>::IntoIter, Self::Meta>
fn flat_map<U, F>( self, f: F, ) -> FlatMap<Self, F, <U as IntoIterator>::IntoIter, Self::Meta>
Creates a pull that works like map, but flattens nested structure. Read more
§fn flatten(
self,
) -> Flatten<Self, <Self::Item as IntoIterator>::IntoIter, Self::Meta>where
Self: Sized,
Self::Item: IntoIterator,
fn flatten(
self,
) -> Flatten<Self, <Self::Item as IntoIterator>::IntoIter, Self::Meta>where
Self: Sized,
Self::Item: IntoIterator,
Creates a pull that flattens nested structure. Read more
§fn for_each<F>(self, f: F) -> ForEach<Self, F>
fn for_each<F>(self, f: F) -> ForEach<Self, F>
Creates a future which runs the given function on each element of a pull.
§fn collect<C>(self) -> Collect<Self, C>
fn collect<C>(self) -> Collect<Self, C>
Creates a future which collects all elements of a pull into a collection. Read more
§fn fuse(self) -> impl for<'ctx> FusedPullwhere
Self: Sized,
fn fuse(self) -> impl for<'ctx> FusedPullwhere
Self: Sized,
Creates a pull that ends after the first
None. Read more§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Does something with each element of a pull, passing the value on. Read more
§fn map<B, F>(self, f: F) -> Map<Self, F>
fn map<B, F>(self, f: F) -> Map<Self, F>
Takes a closure and creates a pull that calls that closure on each element. Read more
§fn send_sink<Push>(self, push: Push) -> SendSink<Self, Push>where
Self: Sized,
Push: Sink<Self::Item>,
fn send_sink<Push>(self, push: Push) -> SendSink<Self, Push>where
Self: Sized,
Push: Sink<Self::Item>,
Creates a future that pulls all items and sends them into a [
Sink].§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates a pull that skips the first
n elements.§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
Creates a pull that skips elements based on a predicate. Read more
§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates a pull that yields the first
n elements, or fewer if the
underlying pull ends sooner.§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
Creates a pull that yields elements based on a predicate. Read more
§fn next(self) -> Next<Self>where
Self: Sized,
fn next(self) -> Next<Self>where
Self: Sized,
Creates a future that resolves with the next item from this pull. Read more
§fn cross_singleton<SinglePull>(
self,
singleton_pull: SinglePull,
) -> CrossSingleton<Self, SinglePull, Option<<SinglePull as Pull>::Item>>
fn cross_singleton<SinglePull>( self, singleton_pull: SinglePull, ) -> CrossSingleton<Self, SinglePull, Option<<SinglePull as Pull>::Item>>
Crosses each item from this pull with a singleton value from another pull. Read more
§fn cross_singleton_state<SinglePull>(
self,
singleton_pull: SinglePull,
singleton_state: &mut Option<<SinglePull as Pull>::Item>,
) -> CrossSingleton<Self, SinglePull, &mut Option<<SinglePull as Pull>::Item>>
fn cross_singleton_state<SinglePull>( self, singleton_pull: SinglePull, singleton_state: &mut Option<<SinglePull as Pull>::Item>, ) -> CrossSingleton<Self, SinglePull, &mut Option<<SinglePull as Pull>::Item>>
[Self::cross_singleton] with external state.
impl<'__pin, 'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> Unpin for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>where
PinnedFieldsOf<__Origin<'__pin, 'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>>: Unpin,
Auto Trait Implementations§
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> Freeze for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> !RefUnwindSafe for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> !Send for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> !Sync for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> UnsafeUnpin for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
impl<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output> !UnwindSafe for LatticeBimorphismPull<'a, Func, LhsPrev, RhsPrev, LhsState, RhsState, Output>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> ToSinkBuild for T
impl<T> ToSinkBuild for T
§fn iter_to_sink_build(self) -> SendIterBuild<Self>
fn iter_to_sink_build(self) -> SendIterBuild<Self>
§fn stream_to_sink_build(self) -> SendStreamBuild<Self>where
Self: Sized + Stream,
fn stream_to_sink_build(self) -> SendStreamBuild<Self>where
Self: Sized + Stream,
Starts a [
SinkBuild] adaptor chain to send all items from self as a [Stream].