[][src]Struct restricted_tuple::Generator

pub struct Generator<'a, T: Clone> { /* fields omitted */ }

Generator for yielding restricted tuple

Methods

impl<'a, T: 'a + Clone> Generator<'a, T>[src]

pub fn new(
    cache: &mut CountingFunctionCache,
    sets: &'a [Vec<T>]
) -> Generator<'a, T>
[src]

Creates a generator.

Example

let sets: Vec<Vec<u32>> = vec![vec![10, 20], vec![30, 40]];
let mut cache = CountingFunctionCache::default();
let generator = Generator::new(&mut cache, &sets);

pub fn generate(&self, length: usize, value: BigUint) -> Vec<T>[src]

Generates a restricted tuple with given length and value.

Panics

Panics when no restricted tuple can be generated. This could happen if the length is smaller than the number of sets, or if there is any empty set in the provided sets, or the provided sets itself is empty.

Trait Implementations

impl<'a, T: Clone> Clone for Generator<'a, T>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<'a, T> Sync for Generator<'a, T> where
    T: Sync

impl<'a, T> Send for Generator<'a, T> where
    T: Sync

impl<'a, T> Unpin for Generator<'a, T>

impl<'a, T> RefUnwindSafe for Generator<'a, T> where
    T: RefUnwindSafe

impl<'a, T> UnwindSafe for Generator<'a, T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]