[][src]Struct futures::stream::TakeWhile

#[must_use = "streams do nothing unless polled"]
pub struct TakeWhile<S, P, R> where
    S: Stream,
    R: IntoFuture
{ /* fields omitted */ }

A stream combinator which takes elements from a stream while a predicate holds.

This structure is produced by the Stream::take_while method.

Methods

impl<S, P, R> TakeWhile<S, P, R> where
    S: Stream,
    R: IntoFuture
[src]

pub fn get_ref(&self) -> &S[src]

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

pub fn get_mut(&mut self) -> &mut S[src]

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

Note that care must be taken to avoid tampering with the state of the stream which may otherwise confuse this combinator.

pub fn into_inner(self) -> S[src]

Consumes this combinator, returning the underlying 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<S, P, R> Stream for TakeWhile<S, P, R> where
    S: Stream,
    P: FnMut(&S::Item) -> R,
    R: IntoFuture<Item = bool, Error = S::Error>, 
[src]

type Item = S::Item

The type of item this stream will yield on success.

type Error = S::Error

The type of error this stream may generate.

impl<S, P, R> Sink for TakeWhile<S, P, R> where
    S: Sink + Stream,
    R: IntoFuture
[src]

type SinkItem = S::SinkItem

The type of value that the sink accepts.

type SinkError = S::SinkError

The type of value produced by the sink when an error occurs.

impl<S: Debug, P: Debug, R: Debug> Debug for TakeWhile<S, P, R> where
    S: Stream,
    R: IntoFuture,
    R::Future: Debug,
    S::Item: Debug
[src]

Auto Trait Implementations

impl<S, P, R> Unpin for TakeWhile<S, P, R> where
    P: Unpin,
    S: Unpin,
    <R as IntoFuture>::Future: Unpin,
    <S as Stream>::Item: Unpin

impl<S, P, R> Send for TakeWhile<S, P, R> where
    P: Send,
    S: Send,
    <R as IntoFuture>::Future: Send,
    <S as Stream>::Item: Send

impl<S, P, R> Sync for TakeWhile<S, P, R> where
    P: Sync,
    S: Sync,
    <R as IntoFuture>::Future: Sync,
    <S as Stream>::Item: Sync

impl<S, P, R> UnwindSafe for TakeWhile<S, P, R> where
    P: UnwindSafe,
    S: UnwindSafe,
    <R as IntoFuture>::Future: UnwindSafe,
    <S as Stream>::Item: UnwindSafe

impl<S, P, R> RefUnwindSafe for TakeWhile<S, P, R> where
    P: RefUnwindSafe,
    S: RefUnwindSafe,
    <R as IntoFuture>::Future: RefUnwindSafe,
    <S as Stream>::Item: RefUnwindSafe

Blanket Implementations

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

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.

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

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.

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

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

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