pub trait MutatorsTuple<I, S>: HasConstLen {
    fn mutate_all(
        &mut self,
        state: &mut S,
        input: &mut I,
        stage_idx: i32
    ) -> Result<MutationResult, Error>; fn post_exec_all(
        &mut self,
        state: &mut S,
        stage_idx: i32,
        corpus_idx: Option<CorpusId>
    ) -> Result<(), Error>; fn get_and_mutate(
        &mut self,
        index: MutationId,
        state: &mut S,
        input: &mut I,
        stage_idx: i32
    ) -> Result<MutationResult, Error>; fn get_and_post_exec(
        &mut self,
        index: usize,
        state: &mut S,
        stage_idx: i32,
        corpus_idx: Option<CorpusId>
    ) -> Result<(), Error>; }
Expand description

A Tuple of Mutators that can execute multiple Mutators in a row.

Required Methods§

source

fn mutate_all(
    &mut self,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>

Runs the mutate function on all Mutators in this Tuple.

source

fn post_exec_all(
    &mut self,
    state: &mut S,
    stage_idx: i32,
    corpus_idx: Option<CorpusId>
) -> Result<(), Error>

Runs the post_exec function on all Mutators in this Tuple.

source

fn get_and_mutate(
    &mut self,
    index: MutationId,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>

Gets the Mutator at the given index and runs the mutate function on it.

source

fn get_and_post_exec(
    &mut self,
    index: usize,
    state: &mut S,
    stage_idx: i32,
    corpus_idx: Option<CorpusId>
) -> Result<(), Error>

Gets the Mutator at the given index and runs the post_exec function on it.

Implementations on Foreign Types§

source§

impl<I, S> MutatorsTuple<I, S> for ()

source§

fn mutate_all(
    &mut self,
    _state: &mut S,
    _input: &mut I,
    _stage_idx: i32
) -> Result<MutationResult, Error>

source§

fn post_exec_all(
    &mut self,
    _state: &mut S,
    _stage_idx: i32,
    _corpus_idx: Option<CorpusId>
) -> Result<(), Error>

source§

fn get_and_mutate(
    &mut self,
    _index: MutationId,
    _state: &mut S,
    _input: &mut I,
    _stage_idx: i32
) -> Result<MutationResult, Error>

source§

fn get_and_post_exec(
    &mut self,
    _index: usize,
    _state: &mut S,
    _stage_idx: i32,
    _corpus_idx: Option<CorpusId>
) -> Result<(), Error>

source§

impl<Head, Tail, I, S> MutatorsTuple<I, S> for (Head, Tail)where
    Head: Mutator<I, S> + Named,
    Tail: MutatorsTuple<I, S>,

source§

fn mutate_all(
    &mut self,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>

source§

fn post_exec_all(
    &mut self,
    state: &mut S,
    stage_idx: i32,
    corpus_idx: Option<CorpusId>
) -> Result<(), Error>

source§

fn get_and_mutate(
    &mut self,
    index: MutationId,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>

source§

fn get_and_post_exec(
    &mut self,
    index: usize,
    state: &mut S,
    stage_idx: i32,
    corpus_idx: Option<CorpusId>
) -> Result<(), Error>

Implementors§