Trait InitializerTrait

Source
pub trait InitializerTrait<T, const N: usize> {
    // Required method
    fn initialize() -> [T; N];
}
Expand description

A trait for initializing a GroupTrait.

  • T - A type of individuals generated by this.
  • N - The number of individuals generated by this.

§Example

use scarlet_queen_core::InitializerTrait;

struct Initializer {}
impl<const N: usize> InitializerTrait<u8, N> for Initializer {
    fn initialize() -> [u8; N] {
        let mut i: u8 = 0;
        [0; N].map(|_| {
            i += 1;
            i - 1
        })
    }
}

let array = <Initializer as InitializerTrait<u8, 10>>::initialize();
assert_eq!(array, [0u8, 1, 2, 3, 4, 5, 6, 7, 8, 9]);

Required Methods§

Source

fn initialize() -> [T; N]

Generate an initalized array.

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§