pub trait Select:
Clone
+ Send
+ Sync
+ Debug {
// Required method
fn call<G: EvolveGenotype, R: Rng, SR: StrategyReporter<Genotype = G>>(
&mut self,
genotype: &mut G,
state: &mut EvolveState<G>,
config: &EvolveConfig,
reporter: &mut SR,
rng: &mut R,
);
// Provided methods
fn extract_elite_chromosomes<G: EvolveGenotype>(
&self,
state: &mut EvolveState<G>,
config: &EvolveConfig,
elitism_rate: f32,
) -> Vec<G::Chromosome> { ... }
fn parent_and_offspring_survival_sizes(
&self,
parents_size: usize,
offspring_size: usize,
target_size: usize,
replacement_rate: f32,
) -> (usize, usize) { ... }
}
Required Methods§
fn call<G: EvolveGenotype, R: Rng, SR: StrategyReporter<Genotype = G>>( &mut self, genotype: &mut G, state: &mut EvolveState<G>, config: &EvolveConfig, reporter: &mut SR, rng: &mut R, )
Provided Methods§
fn extract_elite_chromosomes<G: EvolveGenotype>( &self, state: &mut EvolveState<G>, config: &EvolveConfig, elitism_rate: f32, ) -> Vec<G::Chromosome>
fn parent_and_offspring_survival_sizes( &self, parents_size: usize, offspring_size: usize, target_size: usize, replacement_rate: f32, ) -> (usize, usize)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.