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§
sourcefn 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)>
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.