Struct FlatMap

#[must_use = "futures/streams/sinks do nothing unless you `.await` or poll them"]
pub struct FlatMap<St, U, F> { /* private fields */ }

Stream for the flat_map method.

Implementations

impl<St, U, F> FlatMap<St, U, F>

fn get_ref(&self) -> &St

Acquires a reference to the underlying sink or stream that this combinator is pulling from.

fn get_mut(&mut self) -> &mut St

Acquires 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) -> St

Consumes 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, U, F> Unpin for FlatMap<St, U, F> where PinnedFieldsOf<__Origin<'__pin, St, U, F>>: Unpin,

impl<St, U, F> Debug for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Debug,

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl<St, U, F> FusedStream for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: FusedStream,

fn is_terminated(&self) -> bool

impl<St, U, F> Stream for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Stream,

type Item = <Flatten<Map<St, F>, U> as Stream>::Item;
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>
fn size_hint(&self) -> (usize, Option<usize>)

impl<_Item, St, U, F> Sink<_Item> for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Sink<_Item>,

type Error = <Flatten<Map<St, F>, U> 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>>

Auto Trait Implementations

impl<St, U, F> Freeze for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Freeze,

impl<St, U, F> RefUnwindSafe for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: RefUnwindSafe,

impl<St, U, F> Send for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Send,

impl<St, U, F> Sync for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: Sync,

impl<St, U, F> UnsafeUnpin for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: UnsafeUnpin,

impl<St, U, F> UnwindSafe for FlatMap<St, U, F> where Flatten<Map<St, F>, U>: UnwindSafe,

Blanket Implementations

impl<S> TryStreamExt for FlatMap<St, U, F> where S: TryStream + ?Sized,

impl<S, T, E> TryStream for FlatMap<St, U, 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 FlatMap<St, U, F> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for FlatMap<St, U, F> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for FlatMap<St, U, F> where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for FlatMap<St, U, F>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> StreamExt for FlatMap<St, U, F> where T: Stream + ?Sized,

impl<T, Item> SinkExt<Item> for FlatMap<St, U, F> where T: Sink<Item> + ?Sized,

impl<T, U> Into<U> for FlatMap<St, U, F> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for FlatMap<St, U, F> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for FlatMap<St, U, F> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>