Struct AsyncGen

Source
pub struct AsyncGen<Fut, Y> { /* private fields */ }
Expand description

Represent an asyncronus generator. It implementations AsyncGenerator trait.

This struct is created by gen(). See its documentation for more details.

Implementations§

Source§

impl<Fut, Y, R> AsyncGen<Fut, Y>
where Fut: Future<Output = Return<R>>,

Source

pub async fn resume(self: &mut Pin<&mut Self>) -> GeneratorState<Y, R>

See AsyncGenerator::poll_resume for more details.

Source§

impl<Fut, Y> AsyncGen<Fut, Y>
where Fut: Future<Output = Return<()>>,

Source

pub fn into_async_iter(self) -> AsyncIter<Self>

Creates an async iterator from this generator.

See AsyncIter for more details.

Trait Implementations§

Source§

impl<Fut, Y, R> AsyncGenerator for AsyncGen<Fut, Y>
where Fut: Future<Output = Return<R>>,

Source§

type Yield = Y

The type of value this generator yields. Read more
Source§

type Return = R

The type of value this generator returns. Read more
Source§

fn poll_resume( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<GeneratorState<Self::Yield, Self::Return>>

Resumes the execution of this generator. Read more
Source§

impl<Fut, Y> Stream for AsyncGen<Fut, Y>
where Fut: Future<Output = Return<()>>,

Source§

type Item = Y

Values yielded by the stream.
Source§

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

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
Source§

fn size_hint(&self) -> (usize, Option<usize>)

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

impl<'__pin, Fut, Y> Unpin for AsyncGen<Fut, Y>
where PinnedFieldsOf<__Origin<'__pin, Fut, Y>>: Unpin,

Auto Trait Implementations§

§

impl<Fut, Y> Freeze for AsyncGen<Fut, Y>
where Fut: Freeze,

§

impl<Fut, Y> !RefUnwindSafe for AsyncGen<Fut, Y>

§

impl<Fut, Y> Send for AsyncGen<Fut, Y>
where Fut: Send, Y: Send + Sync,

§

impl<Fut, Y> Sync for AsyncGen<Fut, Y>
where Fut: Sync, Y: Send + Sync,

§

impl<Fut, Y> !UnwindSafe for AsyncGen<Fut, Y>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

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

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