pub trait PRNGenerator:
Sized
+ ReprC
+ Clone {
// Required method
unsafe fn fill_raw(&mut self, dst_ptr: *mut u8, dst_len: usize);
// Provided methods
fn fill(&mut self, dst: &mut [u8]) { ... }
fn generate<T>(&mut self) -> T
where T: PRNConcreteGenerator<Self> { ... }
fn generate_in_range<T, TBounds: RangeBounds<T>>(
&mut self,
range: TBounds,
) -> T
where T: PRNConcreteBoundedGenerator<Self> { ... }
}Expand description
Generates pseudo random numbers.
Required Methods§
Provided Methods§
Sourcefn generate<T>(&mut self) -> Twhere
T: PRNConcreteGenerator<Self>,
fn generate<T>(&mut self) -> Twhere
T: PRNConcreteGenerator<Self>,
Generates pseudo random instance of given type if supported. This function should support at least i32, u32, i64 and u64 types.
Sourcefn generate_in_range<T, TBounds: RangeBounds<T>>(&mut self, range: TBounds) -> Twhere
T: PRNConcreteBoundedGenerator<Self>,
fn generate_in_range<T, TBounds: RangeBounds<T>>(&mut self, range: TBounds) -> Twhere
T: PRNConcreteBoundedGenerator<Self>,
Generates a pseudo random number in given range, if supported.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".