pub trait UntrustedOriginSampler<'h, M: MathsCore>: Debug + Iterator<Item = Lineage> {
    type Habitat: 'h + Habitat<M>;
    type PreSampler: Iterator<Item = u64>;

    // Provided methods
    fn habitat(&self) -> &'h Self::Habitat { ... }
    fn into_pre_sampler(self) -> OriginPreSampler<M, Self::PreSampler>
       where Self: Sized { ... }
    fn full_upper_bound_size_hint(&self) -> u64 { ... }
}
Expand description

Lineages produced by the sampler’s iterator must have

  • unique global references

Required Associated Types§

source

type Habitat: 'h + Habitat<M>

source

type PreSampler: Iterator<Item = u64>

Provided Methods§

source

fn habitat(&self) -> &'h Self::Habitat

source

fn into_pre_sampler(self) -> OriginPreSampler<M, Self::PreSampler>
where Self: Sized,

source

fn full_upper_bound_size_hint(&self) -> u64

Implementors§

source§

impl<'d, M: MathsCore, O: UntrustedOriginSampler<'d, M>, D: Decomposition<M, O::Habitat>> UntrustedOriginSampler<'d, M> for DecompositionOriginSampler<'d, M, O, D>

source§

impl<'h, M: MathsCore, H: SingletonDemesHabitat<M>, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for SingletonDemesOriginSampler<'h, M, H, I>

§

type Habitat = H

§

type PreSampler = I

source§

impl<'h, M: MathsCore, H: SingletonDemesHabitat<M>, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for SingletonDemesCircleOriginSampler<'h, M, H, I>

§

type Habitat = H

§

type PreSampler = I

source§

impl<'h, M: MathsCore, H: SingletonDemesHabitat<M>, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for SingletonDemesRectangleOriginSampler<'h, M, H, I>

§

type Habitat = H

§

type PreSampler = I

source§

impl<'h, M: MathsCore, H: Habitat<M>, L: ExactSizeIterator<Item = Lineage>, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for ResumingOriginSampler<'h, M, H, L, I>

§

type Habitat = H

§

type PreSampler = I

source§

impl<'h, M: MathsCore, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for InMemoryOriginSampler<'h, M, I>

source§

impl<'h, M: MathsCore, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for NonSpatialOriginSampler<'h, M, I>

source§

impl<'h, M: MathsCore, I: Iterator<Item = u64>> UntrustedOriginSampler<'h, M> for SpatiallyImplicitOriginSampler<'h, M, I>