rand/prelude.rs
1// Copyright 2018 Developers of the Rand project.
2//
3// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
4// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
5// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
6// option. This file may not be copied, modified, or distributed
7// except according to those terms.
8
9//! Convenience re-export of common members
10//!
11//! Like the standard library's prelude, this module simplifies importing of
12//! common items. Unlike the standard prelude, the contents of this module must
13//! be imported manually:
14//!
15//! ```
16//! use rand::prelude::*;
17//! # let mut r: StdRng = rand::make_rng();
18//! # let _: f32 = r.random();
19//! ```
20
21#[doc(no_inline)]
22pub use crate::distr::Distribution;
23#[doc(no_inline)]
24pub use crate::rngs::SmallRng;
25#[cfg(feature = "std_rng")]
26#[doc(no_inline)]
27pub use crate::rngs::StdRng;
28#[doc(no_inline)]
29#[cfg(feature = "thread_rng")]
30pub use crate::rngs::ThreadRng;
31#[doc(no_inline)]
32pub use crate::seq::{IndexedMutRandom, IndexedRandom, IteratorRandom, SliceRandom};
33#[doc(no_inline)]
34pub use crate::{CryptoRng, Rng, RngExt, SeedableRng};