pub trait MapReduceKer<T, Params = ()>:
Send
+ Sync
+ Debug
+ DynClone
+ Clone
+ 'static{
// Required methods
fn name() -> &'static str;
fn alignment_items() -> usize;
fn nr() -> usize;
fn map_neutral() -> T;
fn reduce_neutral() -> T;
fn reduce_two(a: T, b: T) -> T;
fn run(vec: &mut [T], params: Params) -> T;
// Provided methods
fn alignment_bytes() -> usize { ... }
fn red() -> Box<dyn MapReduce<T, Params>> { ... }
}Required Methods§
fn name() -> &'static str
fn alignment_items() -> usize
fn nr() -> usize
fn map_neutral() -> T
fn reduce_neutral() -> T
fn reduce_two(a: T, b: T) -> T
fn run(vec: &mut [T], params: Params) -> T
Provided Methods§
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.