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§
Sourcefn initialize() -> [T; N]
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.