Trait necsim_partitioning_core::Partitioning

source ·
pub trait Partitioning: Sized {
    type LocalPartition<'p, R: Reporter>: LocalPartition<'p, R>;
    type FinalisableReporter<R: Reporter>: FinalisableReporter;
    type Auxiliary;

    // Required methods
    fn get_size(&self) -> PartitionSize;
    fn with_local_partition<R: Reporter, P: ReporterContext<Reporter = R>, A: Data, Q: Data + Serialize + DeserializeOwned>(
        self,
        reporter_context: P,
        auxiliary: Self::Auxiliary,
        args: A,
        inner: for<'p> fn(_: &mut Self::LocalPartition<'p, R>, _: A) -> Q,
        fold: fn(_: Q, _: Q) -> Q
    ) -> Result<(Q, Self::FinalisableReporter<R>)>;
}

Required Associated Types§

Required Methods§

source

fn get_size(&self) -> PartitionSize

source

fn with_local_partition<R: Reporter, P: ReporterContext<Reporter = R>, A: Data, Q: Data + Serialize + DeserializeOwned>( self, reporter_context: P, auxiliary: Self::Auxiliary, args: A, inner: for<'p> fn(_: &mut Self::LocalPartition<'p, R>, _: A) -> Q, fold: fn(_: Q, _: Q) -> Q ) -> Result<(Q, Self::FinalisableReporter<R>)>

Object Safety§

This trait is not object safe.

Implementors§