Skip to main content

ParallelGenerator

Trait ParallelGenerator 

Source
pub trait ParallelGenerator: Generator + Sized {
    // Required method
    fn split(self, parts: usize) -> Vec<Self>;

    // Provided method
    fn merge_results(results: Vec<Vec<Self::Item>>) -> Vec<Self::Item> { ... }
}
Expand description

Trait for generators that can be parallelized.

Allows splitting a generator into multiple independent generators for parallel execution.

Required Methods§

Source

fn split(self, parts: usize) -> Vec<Self>

Split the generator into multiple independent generators.

Each split generator will produce a portion of the total items. The splits should be deterministic based on the original seed.

Provided Methods§

Source

fn merge_results(results: Vec<Vec<Self::Item>>) -> Vec<Self::Item>

Merge results from parallel execution.

Combines results from multiple generators into a single sequence.

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§