pub trait SampleRange<T> {
    // Required methods
    fn sample_single<R: RngCore + ?Sized>(self, rng: &mut R) -> Result<T, Error>;
    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: RngCore + ?Sized>(self, rng: &mut R) -> Result<T, Error>

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: SampleUniform + PartialOrd> SampleRange<T> for Range<T>

source§

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

source§

fn is_empty(&self) -> bool

source§

impl<T: SampleUniform + PartialOrd> SampleRange<T> for RangeInclusive<T>

source§

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

source§

fn is_empty(&self) -> bool

Implementors§