# Struct futures_util::stream::AndThen [−] [src]

    #[must_use = "streams do nothing unless polled"]pub struct AndThen<St, Fut, F> { /* fields omitted */ }

Stream for the `and_then` method.

## Implementations

### `impl<St, Fut, F> AndThen<St, Fut, F> where
St: TryStream,
F: FnMut(St::Ok) -> Fut,
Fut: TryFuture<Error = St::Error>,` [src]

#### `pub fn get_ref(&self) -> &St` [src]

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

#### `pub fn get_mut(&mut self) -> &mut St` [src]

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.

#### `pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut St>` [src]

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.

#### `pub fn into_inner(self) -> St` [src]

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<St, Fut, F> Debug for AndThen<St, Fut, F> where
St: Debug,
Fut: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl<St, Fut, F> FusedStream for AndThen<St, Fut, F> where
St: TryStream + FusedStream,
F: FnMut(St::Ok) -> Fut,
Fut: TryFuture<Error = St::Error>,` [src]

#### `fn is_terminated(&self) -> bool` [src]

Returns `true` if the stream should no longer be polled.

### `impl<St, Fut, F> Stream for AndThen<St, Fut, F> where
St: TryStream,
F: FnMut(St::Ok) -> Fut,
Fut: TryFuture<Error = St::Error>,` [src]

#### `type Item = Result<Fut::Ok, St::Error>`

Values yielded by the stream.

#### `fn poll_next(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>` [src]

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning `None` if the stream is exhausted. Read more

#### `fn size_hint(&self) -> (usize, Option<usize>)` [src]

Returns the bounds on the remaining length of the stream. Read more

### `impl<'__pin, St, Fut, F> Unpin for AndThen<St, Fut, F> where
__Origin<'__pin, St, Fut, F>: Unpin,` [src]

## Auto Trait Implementations

### `impl<St, Fut, F> RefUnwindSafe for AndThen<St, Fut, F> where
F: RefUnwindSafe,
Fut: RefUnwindSafe,
St: RefUnwindSafe,`

### `impl<St, Fut, F> Send for AndThen<St, Fut, F> where
F: Send,
Fut: Send,
St: Send,`

### `impl<St, Fut, F> Sync for AndThen<St, Fut, F> where
F: Sync,
Fut: Sync,
St: Sync,`

### `impl<St, Fut, F> UnwindSafe for AndThen<St, Fut, F> where
F: UnwindSafe,
Fut: UnwindSafe,
St: UnwindSafe,`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.

### `impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,` [src]

#### `type Ok = T`

The type of successful values yielded by this future

#### `type Error = E`

The type of failures yielded by this future

#### `pub fn try_poll_next(
self: Pin<&mut S>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>` [src]

Poll this `TryStream` as if it were a `Stream`. Read more