Trait necsim_partitioning_core::LocalPartition

source ·
pub trait LocalPartition<'p, R: Reporter>: Sized {
    type Reporter: Reporter;
    type IsLive: Boolean;
    type ImmigrantIterator<'a>: Iterator<Item = MigratingLineage>
       where Self: 'a,
             'p: 'a;

    // Required methods
    fn get_reporter(&mut self) -> &mut Self::Reporter;
    fn get_partition(&self) -> Partition;
    fn migrate_individuals<'a, E: Iterator<Item = (u32, MigratingLineage)>>(
        &'a mut self,
        emigrants: &mut E,
        emigration_mode: MigrationMode,
        immigration_mode: MigrationMode
    ) -> Self::ImmigrantIterator<'a>
       where 'p: 'a;
    fn reduce_vote_any(&mut self, vote: bool) -> bool;
    fn reduce_vote_min_time(
        &mut self,
        local_time: PositiveF64
    ) -> Result<PositiveF64, PositiveF64>;
    fn wait_for_termination(&mut self) -> ControlFlow<(), ()>;
    fn report_progress_sync(&mut self, remaining: u64);
}

Required Associated Types§

source

type Reporter: Reporter

source

type IsLive: Boolean

source

type ImmigrantIterator<'a>: Iterator<Item = MigratingLineage> where Self: 'a, 'p: 'a

Required Methods§

source

fn get_reporter(&mut self) -> &mut Self::Reporter

source

fn get_partition(&self) -> Partition

source

fn migrate_individuals<'a, E: Iterator<Item = (u32, MigratingLineage)>>( &'a mut self, emigrants: &mut E, emigration_mode: MigrationMode, immigration_mode: MigrationMode ) -> Self::ImmigrantIterator<'a>
where 'p: 'a,

source

fn reduce_vote_any(&mut self, vote: bool) -> bool

source

fn reduce_vote_min_time( &mut self, local_time: PositiveF64 ) -> Result<PositiveF64, PositiveF64>

source

fn wait_for_termination(&mut self) -> ControlFlow<(), ()>

source

fn report_progress_sync(&mut self, remaining: u64)

Object Safety§

This trait is not object safe.

Implementors§