Struct Peekable
struct Peekable<St: Stream> { ... }
A Stream that implements a peek method.
The peek method can be used to retrieve a reference
to the next Stream::Item if available. A subsequent
call to poll will return the owned item.
Implementations
impl<St: Stream> Peekable<St>
fn get_ref(self: &Self) -> &StAcquires a reference to the underlying sink or stream that this combinator is pulling from.
fn get_mut(self: &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: 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.
fn peek(self: Pin<&mut Self>) -> Peek<'_, St>Produces a future which retrieves a reference to the next item in the stream, or
Noneif the underlying stream terminates.fn poll_peek(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<&<St as >::Item>>Peek retrieves a reference to the next item in the stream.
This method polls the underlying stream and return either a reference to the next item if the stream is ready or passes through any errors.
fn peek_mut(self: Pin<&mut Self>) -> PeekMut<'_, St>Produces a future which retrieves a mutable reference to the next item in the stream, or
Noneif the underlying stream terminates.Examples
# block_on;fn poll_peek_mut(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<&mut <St as >::Item>>Peek retrieves a mutable reference to the next item in the stream.
fn next_if<F>(self: Pin<&mut Self>, func: F) -> NextIf<'_, St, F> where F: FnOnce(&<St as >::Item) -> boolCreates a future which will consume and return the next value of this stream if a condition is true.
If
funcreturnstruefor the next value of this stream, consume and return it. Otherwise, returnNone.Examples
Consume a number if it's equal to 0.
# block_on;Consume any number less than 10.
# block_on;fn next_if_eq<'a, T>(self: Pin<&'a mut Self>, expected: &'a T) -> NextIfEq<'a, St, T> where T: ?Sized, <St as >::Item: PartialEq<T>Creates a future which will consume and return the next item if it is equal to
expected.Example
Consume a number if it's equal to 0.
# block_on;
impl<'__pin, St: Stream> Unpin for Peekable<St>
impl<S> TryStreamExt for Peekable<St>
impl<S, Item> Sink for Peekable<S>
fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>fn start_send(self: Pin<&mut Self>, item: Item) -> Result<(), <Self as >::Error>fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<(), <Self as >::Error>>
impl<S, T, E> TryStream for Peekable<St>
fn try_poll_next(self: Pin<&mut S>, cx: &mut Context<'_>) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
impl<S: Stream> Stream for Peekable<S>
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<<Self as >::Item>>fn size_hint(self: &Self) -> (usize, Option<usize>)
impl<St> Freeze for Peekable<St>
impl<St> RefUnwindSafe for Peekable<St>
impl<St> Send for Peekable<St>
impl<St> Sync for Peekable<St>
impl<St> UnsafeUnpin for Peekable<St>
impl<St> UnwindSafe for Peekable<St>
impl<St: $crate::fmt::Debug + Stream> Debug for Peekable<St>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<St: Stream> FusedStream for Peekable<St>
fn is_terminated(self: &Self) -> bool
impl<T> Any for Peekable<St>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Peekable<St>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Peekable<St>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for Peekable<St>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> StreamExt for Peekable<St>
impl<T, Item> SinkExt for Peekable<St>
impl<T, U> Into for Peekable<St>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Peekable<St>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Peekable<St>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>