pub trait Rng<const OUTPUT: usize>: Clone {
// Required method
fn rand(&mut self) -> [u8; OUTPUT];
// Provided methods
fn generate<Generated>(&mut self) -> Generated
where Generated: RandomGen<Self, OUTPUT> { ... }
fn fill_bytes<Bytes>(&mut self, buffer: Bytes)
where Bytes: AsMut<[u8]> { ... }
fn fill<Contents, Array>(&mut self, target: Array)
where Contents: RandomGen<Self, OUTPUT>,
Array: AsMut<[Contents]> { ... }
fn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Number
where Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number> { ... }
fn shuffle<Contents, Array>(&mut self, target: Array)
where Array: AsMut<[Contents]> { ... }
}
Expand description
A trait that represents a random number generator.
Required Methods§
Provided Methods§
sourcefn generate<Generated>(&mut self) -> Generatedwhere
Generated: RandomGen<Self, OUTPUT>,
fn generate<Generated>(&mut self) -> Generatedwhere
Generated: RandomGen<Self, OUTPUT>,
Generates a random of the specified type, seeding from the internal state.
sourcefn fill_bytes<Bytes>(&mut self, buffer: Bytes)
fn fill_bytes<Bytes>(&mut self, buffer: Bytes)
Fill an array of bytes with randomness.
sourcefn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Numberwhere
Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number>,
fn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Numberwhere
Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number>,
Generates a random of the specified type, seeding from the internal state.
sourcefn shuffle<Contents, Array>(&mut self, target: Array)where
Array: AsMut<[Contents]>,
fn shuffle<Contents, Array>(&mut self, target: Array)where
Array: AsMut<[Contents]>,
Shuffle a slice, using the RNG.
Object Safety§
This trait is not object safe.