Trait necsim_core::cogs::emigration_exit::EmigrationExit

source ·
pub trait EmigrationExit<M: MathsCore, H: Habitat<M>, G: RngCore<M>, S: LineageStore<M, H>>: Backup + Debug {
    // Provided method
    fn optionally_emigrate(
        &mut self,
        global_reference: GlobalLineageReference,
        dispersal_origin: IndexedLocation,
        dispersal_target: Location,
        prior_time: NonNegativeF64,
        event_time: PositiveF64,
        simulation: &mut PartialSimulation<M, H, G, S>,
        rng: &mut G
    ) -> Option<(GlobalLineageReference, IndexedLocation, Location, NonNegativeF64, PositiveF64)> { ... }
}

Provided Methods§

source

fn optionally_emigrate( &mut self, global_reference: GlobalLineageReference, dispersal_origin: IndexedLocation, dispersal_target: Location, prior_time: NonNegativeF64, event_time: PositiveF64, simulation: &mut PartialSimulation<M, H, G, S>, rng: &mut G ) -> Option<(GlobalLineageReference, IndexedLocation, Location, NonNegativeF64, PositiveF64)>

§Contracts

Post-condition - debug: if ret is Some, it returns the input parameters unchanged

  • match & ret { Some((ret_lineage_reference, ret_dispersal_origin, ret_dispersal_target, ret_prior_time, ret_event_time,)) => { ret_lineage_reference == &old(global_reference.clone()) && ret_dispersal_origin == &old(dispersal_origin.clone()) && ret_dispersal_target == &old(dispersal_target.clone()) && ret_prior_time == &old(prior_time) && ret_event_time == &old(event_time) }, None => true, }

Object Safety§

This trait is not object safe.

Implementors§