Trait libafl::mutators::MutatorsTuple[][src]

pub trait MutatorsTuple<I, S>: HasLen where
    I: Input
{ 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<usize>
    ) -> Result<(), Error>;
fn get_and_mutate(
        &mut self,
        index: usize,
        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<usize>
    ) -> Result<(), Error>; }

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

Required methods

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

Runs the mutate function on all Mutators in this Tuple.

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

Runs the post_exec function on all Mutators in this Tuple.

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

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

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

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

Loading content...

Implementations on Foreign Types

impl<I, S> MutatorsTuple<I, S> for () where
    I: Input
[src]

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

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

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

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

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

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

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

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

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

Loading content...

Implementors

Loading content...