Trait Select

Source
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§

Source

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§

Source

fn extract_elite_chromosomes<G: EvolveGenotype>( &self, state: &mut EvolveState<G>, config: &EvolveConfig, elitism_rate: f32, ) -> Vec<G::Chromosome>

Source

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.

Implementors§