pub trait Generator<I, S>where
    I: Input,{
    // Required method
    fn generate(&mut self, state: &mut S) -> Result<I, Error>;
}
Expand description

Generators can generate ranges of bytes.

Required Methods§

source

fn generate(&mut self, state: &mut S) -> Result<I, Error>

Generate a new input

Implementors§

source§

impl<'a, S> Generator<GramatronInput, S> for GramatronGenerator<'a, S>where S: HasRand,

source§

impl<S> Generator<BytesInput, S> for RandBytesGenerator<S>where S: HasRand,

source§

impl<S> Generator<BytesInput, S> for RandPrintablesGenerator<S>where S: HasRand,

source§

impl<T, I, S> Generator<I, S> for Twhere T: Iterator<Item = I>, I: Input,

Iterators may be used as generators.

generate throws a Error::Empty if an input is requested but Iterator::next returns None.