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::from_rng(&mut rand::rng());
18//! # let _: f32 = r.random();
19//! ```
20
21#[doc(no_inline)]
22pub use crate::distr::Distribution;
23#[cfg(feature = "small_rng")]
24#[doc(no_inline)]
25pub use crate::rngs::SmallRng;
26#[cfg(feature = "std_rng")]
27#[doc(no_inline)]
28pub use crate::rngs::StdRng;
29#[doc(no_inline)]
30#[cfg(feature = "thread_rng")]
31pub use crate::rngs::ThreadRng;
32#[doc(no_inline)]
33pub use crate::seq::{IndexedMutRandom, IndexedRandom, IteratorRandom, SliceRandom};
34#[doc(no_inline)]
35pub use crate::{CryptoRng, Rng, RngCore, SeedableRng};