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", so this trait is not object safe.