pub trait CrossoverHook: Send + Sync {
// Required methods
fn before_crossover(
&self,
parent1: &Trace,
parent2: &Trace,
generation: usize,
) -> bool;
fn after_crossover(
&self,
parent1: &Trace,
parent2: &Trace,
child1: &Trace,
child2: &Trace,
record: &CrossoverRecord,
);
}Expand description
Operation hook for the trace-based crossover operator.
NOTE: a plain before/after callback, not a [fugue::Handler].
Required Methods§
Sourcefn before_crossover(
&self,
parent1: &Trace,
parent2: &Trace,
generation: usize,
) -> bool
fn before_crossover( &self, parent1: &Trace, parent2: &Trace, generation: usize, ) -> bool
Called before crossover is applied. Returns true if crossover should proceed, false to skip.
Sourcefn after_crossover(
&self,
parent1: &Trace,
parent2: &Trace,
child1: &Trace,
child2: &Trace,
record: &CrossoverRecord,
)
fn after_crossover( &self, parent1: &Trace, parent2: &Trace, child1: &Trace, child2: &Trace, record: &CrossoverRecord, )
Called after crossover is applied
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".