Generatable

Trait Generatable 

Source
pub trait Generatable<T>: Iterator<Item = Cancellable<T>> {
    // Required method
    fn try_next(&mut self) -> Option<Completable<T>>;

    // Provided method
    fn dyn_generatable(self) -> DynGeneratable<T>
       where Self: Sized + 'static { ... }
}
Expand description

An alternative to crate::Computable which is intended for generators.

The computation is finished once Generatable::try_next returns None.

Required Methods§

Source

fn try_next(&mut self) -> Option<Completable<T>>

Try to advance the generator and return the next item.

Returns:

  • Some(Ok(item)) when an item is available
  • Some(Err(Incomplete::Suspended)) when the generator needs to yield control
  • Some(Err(Incomplete::Cancelled(_))) when the computation was canceled
  • None when the generator is exhausted

Provided Methods§

Source

fn dyn_generatable(self) -> DynGeneratable<T>
where Self: Sized + 'static,

Utility method to convert this Generatable to a dynamic type.

Implementors§

Source§

impl<CONTEXT, STATE, OUTPUT> Generatable<OUTPUT> for DynGenAlgorithm<CONTEXT, STATE, OUTPUT>

Source§

impl<CONTEXT, STATE, OUTPUT, STEP: GeneratorStep<CONTEXT, STATE, OUTPUT>> Generatable<OUTPUT> for Generator<CONTEXT, STATE, OUTPUT, STEP>

Source§

impl<T> Generatable<T> for DynGeneratable<T>