[][src]Trait random_trait::GenerateRand

pub trait GenerateRand {
    fn generate<R: Random + ?Sized>(rand: &mut R) -> Self;
}

This trait is used by Random::gen() as a generic function to create a random value for any type which implements it. I try to give by default implementations for all the types in libcore, including arrays and tuples, if anything is missing please raise the issue. You can implement this for any of your types.

Examples

use random_trait::{Random, GenerateRand};
struct MyStuff{
    a: u64,
    b: char,
}

impl GenerateRand for MyStuff {
    fn generate<R: Random + ?Sized>(rand: &mut R) -> Self {
        MyStuff {a: rand.gen(), b: rand.gen() }
    }
}

Required methods

fn generate<R: Random + ?Sized>(rand: &mut R) -> Self

Generate a random value, using the rand as source of randomness.

Loading content...

Implementors

impl GenerateRand for bool[src]

impl GenerateRand for char[src]

impl GenerateRand for f32[src]

impl GenerateRand for f64[src]

impl GenerateRand for i8[src]

impl GenerateRand for i16[src]

impl GenerateRand for i32[src]

impl GenerateRand for i64[src]

impl GenerateRand for i128[src]

impl GenerateRand for isize[src]

impl GenerateRand for u8[src]

impl GenerateRand for u16[src]

impl GenerateRand for u32[src]

impl GenerateRand for u64[src]

impl GenerateRand for u128[src]

impl GenerateRand for usize[src]

impl<A: GenerateRand> GenerateRand for (A,)[src]

impl<A: GenerateRand, B: GenerateRand> GenerateRand for (A, B)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand> GenerateRand for (A, B, C)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand> GenerateRand for (A, B, C, D)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand> GenerateRand for (A, B, C, D, E)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand> GenerateRand for (A, B, C, D, E, F)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand> GenerateRand for (A, B, C, D, E, F, G)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand, L: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K, L)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand, L: GenerateRand, M: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K, L, M)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand, L: GenerateRand, M: GenerateRand, N: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand, L: GenerateRand, M: GenerateRand, N: GenerateRand, O: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)[src]

impl<A: GenerateRand, B: GenerateRand, C: GenerateRand, D: GenerateRand, E: GenerateRand, F: GenerateRand, G: GenerateRand, H: GenerateRand, I: GenerateRand, J: GenerateRand, K: GenerateRand, L: GenerateRand, M: GenerateRand, N: GenerateRand, O: GenerateRand, P: GenerateRand> GenerateRand for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)[src]

impl<T: GenerateRand> GenerateRand for [T; 0][src]

impl<T: GenerateRand> GenerateRand for [T; 1][src]

impl<T: GenerateRand> GenerateRand for [T; 2][src]

impl<T: GenerateRand> GenerateRand for [T; 3][src]

impl<T: GenerateRand> GenerateRand for [T; 4][src]

impl<T: GenerateRand> GenerateRand for [T; 5][src]

impl<T: GenerateRand> GenerateRand for [T; 6][src]

impl<T: GenerateRand> GenerateRand for [T; 7][src]

impl<T: GenerateRand> GenerateRand for [T; 8][src]

impl<T: GenerateRand> GenerateRand for [T; 9][src]

impl<T: GenerateRand> GenerateRand for [T; 10][src]

impl<T: GenerateRand> GenerateRand for [T; 11][src]

impl<T: GenerateRand> GenerateRand for [T; 12][src]

impl<T: GenerateRand> GenerateRand for [T; 13][src]

impl<T: GenerateRand> GenerateRand for [T; 14][src]

impl<T: GenerateRand> GenerateRand for [T; 15][src]

impl<T: GenerateRand> GenerateRand for [T; 16][src]

impl<T: GenerateRand> GenerateRand for [T; 17][src]

impl<T: GenerateRand> GenerateRand for [T; 18][src]

impl<T: GenerateRand> GenerateRand for [T; 19][src]

impl<T: GenerateRand> GenerateRand for [T; 20][src]

impl<T: GenerateRand> GenerateRand for [T; 21][src]

impl<T: GenerateRand> GenerateRand for [T; 22][src]

impl<T: GenerateRand> GenerateRand for [T; 23][src]

impl<T: GenerateRand> GenerateRand for [T; 24][src]

impl<T: GenerateRand> GenerateRand for [T; 25][src]

impl<T: GenerateRand> GenerateRand for [T; 26][src]

impl<T: GenerateRand> GenerateRand for [T; 27][src]

impl<T: GenerateRand> GenerateRand for [T; 28][src]

impl<T: GenerateRand> GenerateRand for [T; 29][src]

impl<T: GenerateRand> GenerateRand for [T; 30][src]

impl<T: GenerateRand> GenerateRand for [T; 31][src]

impl<T: GenerateRand> GenerateRand for [T; 32][src]

impl<T: GenerateRand> GenerateRand for [T; 33][src]

impl<T: GenerateRand> GenerateRand for [T; 34][src]

impl<T: GenerateRand> GenerateRand for [T; 35][src]

impl<T: GenerateRand> GenerateRand for [T; 36][src]

impl<T: GenerateRand> GenerateRand for [T; 37][src]

impl<T: GenerateRand> GenerateRand for [T; 38][src]

impl<T: GenerateRand> GenerateRand for [T; 39][src]

impl<T: GenerateRand> GenerateRand for [T; 40][src]

impl<T: GenerateRand> GenerateRand for [T; 41][src]

impl<T: GenerateRand> GenerateRand for [T; 42][src]

impl<T: GenerateRand> GenerateRand for [T; 43][src]

impl<T: GenerateRand> GenerateRand for [T; 44][src]

impl<T: GenerateRand> GenerateRand for [T; 45][src]

impl<T: GenerateRand> GenerateRand for [T; 46][src]

impl<T: GenerateRand> GenerateRand for [T; 47][src]

impl<T: GenerateRand> GenerateRand for [T; 48][src]

impl<T: GenerateRand> GenerateRand for [T; 49][src]

impl<T: GenerateRand> GenerateRand for [T; 50][src]

impl<T: GenerateRand> GenerateRand for [T; 51][src]

impl<T: GenerateRand> GenerateRand for [T; 52][src]

impl<T: GenerateRand> GenerateRand for [T; 53][src]

impl<T: GenerateRand> GenerateRand for [T; 54][src]

impl<T: GenerateRand> GenerateRand for [T; 55][src]

impl<T: GenerateRand> GenerateRand for [T; 56][src]

impl<T: GenerateRand> GenerateRand for [T; 57][src]

impl<T: GenerateRand> GenerateRand for [T; 58][src]

impl<T: GenerateRand> GenerateRand for [T; 59][src]

impl<T: GenerateRand> GenerateRand for [T; 60][src]

impl<T: GenerateRand> GenerateRand for [T; 61][src]

impl<T: GenerateRand> GenerateRand for [T; 62][src]

impl<T: GenerateRand> GenerateRand for [T; 63][src]

impl<T: GenerateRand> GenerateRand for [T; 64][src]

impl<T: GenerateRand> GenerateRand for [T; 65][src]

impl<T: GenerateRand> GenerateRand for [T; 66][src]

impl<T: GenerateRand> GenerateRand for [T; 67][src]

impl<T: GenerateRand> GenerateRand for [T; 68][src]

impl<T: GenerateRand> GenerateRand for [T; 69][src]

impl<T: GenerateRand> GenerateRand for [T; 70][src]

impl<T: GenerateRand> GenerateRand for [T; 71][src]

impl<T: GenerateRand> GenerateRand for [T; 72][src]

impl<T: GenerateRand> GenerateRand for [T; 73][src]

impl<T: GenerateRand> GenerateRand for [T; 74][src]

impl<T: GenerateRand> GenerateRand for [T; 75][src]

impl<T: GenerateRand> GenerateRand for [T; 76][src]

impl<T: GenerateRand> GenerateRand for [T; 77][src]

impl<T: GenerateRand> GenerateRand for [T; 78][src]

impl<T: GenerateRand> GenerateRand for [T; 79][src]

impl<T: GenerateRand> GenerateRand for [T; 80][src]

impl<T: GenerateRand> GenerateRand for [T; 81][src]

impl<T: GenerateRand> GenerateRand for [T; 82][src]

impl<T: GenerateRand> GenerateRand for [T; 83][src]

impl<T: GenerateRand> GenerateRand for [T; 84][src]

impl<T: GenerateRand> GenerateRand for [T; 85][src]

impl<T: GenerateRand> GenerateRand for [T; 86][src]

impl<T: GenerateRand> GenerateRand for [T; 87][src]

impl<T: GenerateRand> GenerateRand for [T; 88][src]

impl<T: GenerateRand> GenerateRand for [T; 89][src]

impl<T: GenerateRand> GenerateRand for [T; 90][src]

impl<T: GenerateRand> GenerateRand for [T; 91][src]

impl<T: GenerateRand> GenerateRand for [T; 92][src]

impl<T: GenerateRand> GenerateRand for [T; 93][src]

impl<T: GenerateRand> GenerateRand for [T; 94][src]

impl<T: GenerateRand> GenerateRand for [T; 95][src]

impl<T: GenerateRand> GenerateRand for [T; 96][src]

impl<T: GenerateRand> GenerateRand for [T; 97][src]

impl<T: GenerateRand> GenerateRand for [T; 98][src]

impl<T: GenerateRand> GenerateRand for [T; 99][src]

impl<T: GenerateRand> GenerateRand for [T; 100][src]

impl<T: GenerateRand> GenerateRand for [T; 101][src]

impl<T: GenerateRand> GenerateRand for [T; 102][src]

impl<T: GenerateRand> GenerateRand for [T; 103][src]

impl<T: GenerateRand> GenerateRand for [T; 104][src]

impl<T: GenerateRand> GenerateRand for [T; 105][src]

impl<T: GenerateRand> GenerateRand for [T; 106][src]

impl<T: GenerateRand> GenerateRand for [T; 107][src]

impl<T: GenerateRand> GenerateRand for [T; 108][src]

impl<T: GenerateRand> GenerateRand for [T; 109][src]

impl<T: GenerateRand> GenerateRand for [T; 110][src]

impl<T: GenerateRand> GenerateRand for [T; 111][src]

impl<T: GenerateRand> GenerateRand for [T; 112][src]

impl<T: GenerateRand> GenerateRand for [T; 113][src]

impl<T: GenerateRand> GenerateRand for [T; 114][src]

impl<T: GenerateRand> GenerateRand for [T; 115][src]

impl<T: GenerateRand> GenerateRand for [T; 116][src]

impl<T: GenerateRand> GenerateRand for [T; 117][src]

impl<T: GenerateRand> GenerateRand for [T; 118][src]

impl<T: GenerateRand> GenerateRand for [T; 119][src]

impl<T: GenerateRand> GenerateRand for [T; 120][src]

impl<T: GenerateRand> GenerateRand for [T; 121][src]

impl<T: GenerateRand> GenerateRand for [T; 122][src]

impl<T: GenerateRand> GenerateRand for [T; 123][src]

impl<T: GenerateRand> GenerateRand for [T; 124][src]

impl<T: GenerateRand> GenerateRand for [T; 125][src]

impl<T: GenerateRand> GenerateRand for [T; 126][src]

impl<T: GenerateRand> GenerateRand for [T; 127][src]

impl<T: GenerateRand> GenerateRand for [T; 128][src]

Loading content...