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]

[src]

Create a new ReadRng from a Read.

Trait Implementations

impl<R: Debug> Debug for ReadRng<R>
[src]

[src]

Formats the value using the given formatter. Read more

impl<R: Read> RngCore for ReadRng<R>
[src]

[src]

Return the next random u32. Read more

[src]

Return the next random u64. Read more

[src]

Fill dest with random data. Read more

[src]

Fill dest entirely with random data. Read more

Auto Trait Implementations

impl<R> Send for ReadRng<R> where
    R: Send

impl<R> Sync for ReadRng<R> where
    R: Sync