pub struct CollectionExtender<K, V, T, R, P, F>where
K: ExchangeData,
V: ExchangeData,
T: Lattice + ExchangeData + Timestamp,
R: Monoid + Multiply<Output = R> + ExchangeData,
F: Fn(&P) -> K + Clone,{ /* private fields */ }
Trait Implementations§
Source§impl<G, K, V, R, P, F> PrefixExtender<G, R> for CollectionExtender<K, V, G::Timestamp, R, P, F>where
G: Scope,
K: ExchangeData + Hash + Default,
V: ExchangeData + Hash + Default,
P: ExchangeData,
G::Timestamp: Lattice + ExchangeData,
R: Monoid + Multiply<Output = R> + ExchangeData,
F: Fn(&P) -> K + Clone + 'static,
impl<G, K, V, R, P, F> PrefixExtender<G, R> for CollectionExtender<K, V, G::Timestamp, R, P, F>where
G: Scope,
K: ExchangeData + Hash + Default,
V: ExchangeData + Hash + Default,
P: ExchangeData,
G::Timestamp: Lattice + ExchangeData,
R: Monoid + Multiply<Output = R> + ExchangeData,
F: Fn(&P) -> K + Clone + 'static,
Source§fn count(
&mut self,
prefixes: &Collection<G, (P, usize, usize), R>,
index: usize,
) -> Collection<G, (P, usize, usize), R>
fn count( &mut self, prefixes: &Collection<G, (P, usize, usize), R>, index: usize, ) -> Collection<G, (P, usize, usize), R>
Annotates prefixes with the number of extensions the relation would propose.
Source§fn propose(
&mut self,
prefixes: &Collection<G, P, R>,
) -> Collection<G, (P, V), R>
fn propose( &mut self, prefixes: &Collection<G, P, R>, ) -> Collection<G, (P, V), R>
Extends each prefix with corresponding extensions.
Source§fn validate(
&mut self,
extensions: &Collection<G, (P, V), R>,
) -> Collection<G, (P, V), R>
fn validate( &mut self, extensions: &Collection<G, (P, V), R>, ) -> Collection<G, (P, V), R>
Restricts proposed extensions by those the extender would have proposed.
Auto Trait Implementations§
impl<K, V, T, R, P, F> Freeze for CollectionExtender<K, V, T, R, P, F>
impl<K, V, T, R, P, F> !RefUnwindSafe for CollectionExtender<K, V, T, R, P, F>
impl<K, V, T, R, P, F> !Send for CollectionExtender<K, V, T, R, P, F>
impl<K, V, T, R, P, F> !Sync for CollectionExtender<K, V, T, R, P, F>
impl<K, V, T, R, P, F> Unpin for CollectionExtender<K, V, T, R, P, F>
impl<K, V, T, R, P, F> !UnwindSafe for CollectionExtender<K, V, T, R, P, F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.