Struct Then
#[must_use = "streams do nothing unless polled"]
pub struct Then<St, Fut, F> { /* private fields */ }
Stream for the then method.
Implementations
impl<St, Fut, F> Then<St, Fut, F>
where
St: Stream,
F: FnMut(St::Item) -> Fut,
fn get_ref(&self) -> &StAcquires a reference to the underlying sink or stream that this combinator is pulling from.
fn get_mut(&mut self) -> &mut StAcquires a mutable reference to the underlying sink or stream that this combinator is pulling from.
Note that care must be taken to avoid tampering with the state of the sink or stream which may otherwise confuse this combinator.
fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut St>Acquires a pinned mutable reference to the underlying sink or stream that this combinator is pulling from.
Note that care must be taken to avoid tampering with the state of the sink or stream which may otherwise confuse this combinator.
fn into_inner(self) -> StConsumes this combinator, returning the underlying sink or stream.
Note that this may discard intermediate state of this combinator, so care should be taken to avoid losing resources when this is called.
Trait Implementations
impl<'__pin, St, Fut, F> Unpin for Then<St, Fut, F>
where
PinnedFieldsOf<__Origin<'__pin, St, Fut, F>>: Unpin,
impl<S, Fut, F, Item> Sink<Item> for Then<S, Fut, F>
where
S: Sink<Item>,
type Error = <S as Sink<Item>>::Error;fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>fn start_send(self: Pin<&mut Self>, item: Item) -> Result<(), Self::Error>fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
impl<St, Fut, F> Debug for Then<St, Fut, F>
where
St: Debug,
Fut: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<St, Fut, F> FusedStream for Then<St, Fut, F>
where
St: FusedStream,
F: FnMut(St::Item) -> Fut,
Fut: Future,
fn is_terminated(&self) -> bool
impl<St, Fut, F> Stream for Then<St, Fut, F>
where
St: Stream,
F: FnMut(St::Item) -> Fut,
Fut: Future,
type Item = <Fut as Future>::Output;fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>fn size_hint(&self) -> (usize, Option<usize>)
Auto Trait Implementations
impl<St, Fut, F> Freeze for Then<St, Fut, F>
where
St: Freeze,
Option<Fut>: Freeze,
F: Freeze,
impl<St, Fut, F> RefUnwindSafe for Then<St, Fut, F>
where
St: RefUnwindSafe,
Option<Fut>: RefUnwindSafe,
F: RefUnwindSafe,
impl<St, Fut, F> Send for Then<St, Fut, F>
where
St: Send,
Option<Fut>: Send,
F: Send,
impl<St, Fut, F> Sync for Then<St, Fut, F>
where
St: Sync,
Option<Fut>: Sync,
F: Sync,
impl<St, Fut, F> UnsafeUnpin for Then<St, Fut, F>
where
St: UnsafeUnpin,
Option<Fut>: UnsafeUnpin,
F: UnsafeUnpin,
impl<St, Fut, F> UnwindSafe for Then<St, Fut, F>
where
St: UnwindSafe,
Option<Fut>: UnwindSafe,
F: UnwindSafe,
Blanket Implementations
impl<S> TryStreamExt for Then<St, Fut, F>
where
S: TryStream + ?Sized,
impl<S, T, E> TryStream for Then<St, Fut, F>
where
S: Stream<Item = Result<T, E>> + ?Sized,
type Ok = T;type Error = E;fn try_poll_next(self: Pin<&mut S>, cx: &mut Context<'_>) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
impl<T> Any for Then<St, Fut, F>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Then<St, Fut, F>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Then<St, Fut, F>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Then<St, Fut, F>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> StreamExt for Then<St, Fut, F>
where
T: Stream + ?Sized,
impl<T, Item> SinkExt<Item> for Then<St, Fut, F>
where
T: Sink<Item> + ?Sized,
impl<T, U> Into<U> for Then<St, Fut, F>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Then<St, Fut, F>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Then<St, Fut, F>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>