Expand description
This library provides a way to create asynchronous generator using the async/await feature in stable Rust.
§Installation
Add it as a dependency to your Rust project by adding the following line to your Cargo.toml file:
[dependencies]
async-gen = "0.2"§Examples
use std::pin::pin;
use async_gen::{gen, GeneratorState};
#[tokio::main]
async fn main() {
    let g = gen! {
        yield 42;
        return "42"
    };
    let mut g = pin!(g);
    assert_eq!(g.resume().await, GeneratorState::Yielded(42));
    assert_eq!(g.resume().await, GeneratorState::Complete("42"));
}Re-exports§
- pub use futures_core;
Macros§
- gen
- A macro for creating generator.
Structs§
- AsyncGen 
- Represent an asyncronus generator. It implementations AsyncGeneratortrait.
- AsyncIter 
- An async iterator over the values yielded by an underlying generator.
Enums§
- GeneratorState 
- The result of a generator resumption.
Traits§
- AsyncGenerator 
- Generators, also commonly referred to as coroutines.
Functions§
- gen
- Creates a new generator, which implements the AsyncGeneratortrait.