Struct rand::rngs::adapter::ReadRng [−][src]
pub struct ReadRng<R> { /* fields omitted */ }
An RNG that reads random bytes straight from any type supporting
std::io::Read
, for example files.
This will work best with an infinite reader, but that is not required.
This can be used with /dev/urandom
on Unix but it is recommended to use
OsRng
instead.
Panics
ReadRng
uses std::io::read_exact
, which retries on interrupts. All other
errors from the underlying reader, including when it does not have enough
data, will only be reported through try_fill_bytes
. The other
RngCore
methods will panic in case of an error.
Example
use rand::{read, Rng}; let data = vec![1, 2, 3, 4, 5, 6, 7, 8]; let mut rng = read::ReadRng::new(&data[..]); println!("{:x}", rng.gen::<u32>());
Methods
impl<R: Read> ReadRng<R>
[src]
impl<R: Read> ReadRng<R>
Trait Implementations
impl<R: Debug> Debug for ReadRng<R>
[src]
impl<R: Debug> Debug for ReadRng<R>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<R: Read> RngCore for ReadRng<R>
[src]
impl<R: Read> RngCore for ReadRng<R>
fn next_u32(&mut self) -> u32
[src]
fn next_u32(&mut self) -> u32
Return the next random u32
. Read more
fn next_u64(&mut self) -> u64
[src]
fn next_u64(&mut self) -> u64
Return the next random u64
. Read more
fn fill_bytes(&mut self, dest: &mut [u8])
[src]
fn fill_bytes(&mut self, dest: &mut [u8])
Fill dest
with random data. Read more
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>
[src]
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>
Fill dest
entirely with random data. Read more