ShuffledIterGen

Trait ShuffledIterGen 

Source
pub trait ShuffledIterGen<T>: Rng {
    type Iter: Iterator;

    // Required method
    fn iter_shuffled(&mut self, _: T) -> Self::Iter;
}
Expand description

This trait may be used to obtain an instance of ShuffledIter. It should always be implemented generically for all types implementing rand::Rng, that is for all random number generators (which is the case for this library).

As such, an instance of ShuffledIter may be obtained by calling iter_shuffled with a suitable argument on any random number generator, given that ShuffledIterGen is in scope.

An implementation of this trait is provided by this library for the following agument types:

  • all ranges of integer types (ie. 0i8.., ..10u16, 10..20)
  • slices of any kind

Required Associated Types§

Required Methods§

Source

fn iter_shuffled(&mut self, _: T) -> Self::Iter

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, T: 'a, R: Rng> ShuffledIterGen<&'a [T]> for R

Source§

type Iter = Slice<'a, T>

Source§

impl<R: Rng> ShuffledIterGen<Range<i8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<i16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<i32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<i64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<isize>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<u8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<u16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<u32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<u64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<Range<usize>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<i8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<i16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<i32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<i64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<isize>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<u8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<u16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<u32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<u64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeFrom<usize>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<i8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<i16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<i32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<i64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<isize>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<u8>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<u16>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<u32>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<u64>> for R

Source§

type Iter = Iter

Source§

impl<R: Rng> ShuffledIterGen<RangeTo<usize>> for R

Source§

type Iter = Iter