Struct boulder::SubsetsFromPersianRug
source · [−]pub struct SubsetsFromPersianRug<T> { /* private fields */ }
Available on crate feature
persian-rug
only.Expand description
Produce subsets of the existing Proxy<T>
items in the context.
The yield pattern is the same as the regular
Subsets
generator. It is safe to add more
items, and they will occur in their natural place in future items
yielded by the generator.
Example:
use boulder::{GeneratorWithPersianRug, SubsetsFromPersianRug};
use persian_rug::{contextual, persian_rug, Context, Proxy};
#[contextual(Rug)]
struct Foo {
a: i32
}
#[persian_rug]
struct Rug(#[table] Foo);
let mut r = Rug(Default::default());
let f1 = r.add(Foo { a: 0 });
let f2 = r.add(Foo { a: 1 });
let mut g = SubsetsFromPersianRug::<Foo>::new();
let (s1, _) = g.generate(&mut r);
assert_eq!(s1, Vec::new());
let (s2, _) = g.generate(&mut r);
assert_eq!(s2, vec![ f1 ]);
let (s3, _) = g.generate(&mut r);
assert_eq!(s3, vec![ f2 ]);
let (s4, _) = g.generate(&mut r);
assert_eq!(s4, vec![ f1, f2 ]);
Implementations
sourceimpl<T> SubsetsFromPersianRug<T>
impl<T> SubsetsFromPersianRug<T>
Trait Implementations
sourceimpl<T> Default for SubsetsFromPersianRug<T>
impl<T> Default for SubsetsFromPersianRug<T>
sourceimpl<C, T> GeneratorWithPersianRug<C> for SubsetsFromPersianRug<T> where
C: Context + Owner<T>,
T: Contextual<Context = C>,
impl<C, T> GeneratorWithPersianRug<C> for SubsetsFromPersianRug<T> where
C: Context + Owner<T>,
T: Contextual<Context = C>,
Auto Trait Implementations
impl<T> RefUnwindSafe for SubsetsFromPersianRug<T> where
T: RefUnwindSafe,
impl<T> Send for SubsetsFromPersianRug<T> where
T: Send,
impl<T> Sync for SubsetsFromPersianRug<T> where
T: Sync,
impl<T> Unpin for SubsetsFromPersianRug<T> where
T: Unpin,
impl<T> UnwindSafe for SubsetsFromPersianRug<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more