pub trait SampleRange<T> {
    // Required methods
    fn sample_single<R>(self, rng: &mut R) -> T
       where R: RngCore + ?Sized;
    fn is_empty(&self) -> bool;
}
Expand description

Range that supports generating a single sample efficiently.

Any type implementing this trait can be used to specify the sampled range for Rng::gen_range.

Required Methods§

source

fn sample_single<R>(self, rng: &mut R) -> T
where R: RngCore + ?Sized,

Generate a sample from the given range.

source

fn is_empty(&self) -> bool

Check whether the range is empty.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> SampleRange<T> for Range<T>

source§

fn sample_single<R>(self, rng: &mut R) -> T
where R: RngCore + ?Sized,

source§

fn is_empty(&self) -> bool

source§

impl<T> SampleRange<T> for RangeInclusive<T>

source§

fn sample_single<R>(self, rng: &mut R) -> T
where R: RngCore + ?Sized,

source§

fn is_empty(&self) -> bool

Implementors§