pub struct FilterMapValuesPlan<S, K, V, U, F>where
S: MapQuery<Key = K, Value = V>,
K: Hash + Eq + CellValue,
V: CellValue,
U: CellValue,
F: Fn(&K, &V) -> Option<U> + Send + Sync + 'static,{ /* private fields */ }Expand description
Zero-or-one, key-preserving value projection.
Implementations§
Source§impl<S, K, V, U, F> FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> FilterMapValuesPlan<S, K, V, U, F>
Sourcepub fn map_values<W, G>(
self,
g: G,
) -> FilterMapValuesPlan<S, K, V, W, impl Fn(&K, &V) -> Option<W> + Send + Sync + 'static>
pub fn map_values<W, G>( self, g: G, ) -> FilterMapValuesPlan<S, K, V, W, impl Fn(&K, &V) -> Option<W> + Send + Sync + 'static>
Fuse an exactly-one projection after this optional kernel.
Sourcepub fn filter_map_values<W, G>(
self,
g: G,
) -> FilterMapValuesPlan<S, K, V, W, impl Fn(&K, &V) -> Option<W> + Send + Sync + 'static>
pub fn filter_map_values<W, G>( self, g: G, ) -> FilterMapValuesPlan<S, K, V, W, impl Fn(&K, &V) -> Option<W> + Send + Sync + 'static>
Fuse another filtering projection into this optional kernel.
Trait Implementations§
Source§impl<S, K, V, U, F> MapQuery for FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> MapQuery for FilterMapValuesPlan<S, K, V, U, F>
Source§fn materialize(self) -> CellMap<Self::Key, Self::Value, CellImmutable>
fn materialize(self) -> CellMap<Self::Key, Self::Value, CellImmutable>
Auto Trait Implementations§
impl<S, K, V, U, F> Freeze for FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> RefUnwindSafe for FilterMapValuesPlan<S, K, V, U, F>where
S: RefUnwindSafe,
F: RefUnwindSafe,
impl<S, K, V, U, F> Send for FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> Sync for FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> Unpin for FilterMapValuesPlan<S, K, V, U, F>
impl<S, K, V, U, F> UnsafeUnpin for FilterMapValuesPlan<S, K, V, U, F>where
S: UnsafeUnpin,
F: UnsafeUnpin,
impl<S, K, V, U, F> UnwindSafe for FilterMapValuesPlan<S, K, V, U, F>where
S: UnwindSafe,
F: UnwindSafe,
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<K, V, M> CountByExt<K, V> for M
impl<K, V, M> CountByExt<K, V> for M
Source§impl<K, V, M> FlatMapEntriesExt<K, V> for M
impl<K, V, M> FlatMapEntriesExt<K, V> for M
Source§impl<K, V, M> GroupByExt<K, V> for M
impl<K, V, M> GroupByExt<K, V> for M
Source§impl<K, V, M> InnerJoinExt<K, V> for M
impl<K, V, M> InnerJoinExt<K, V> for M
Source§fn inner_join<R, RV>(self, right: R) -> impl MapQuery<Key = K, Value = (V, RV)>
fn inner_join<R, RV>(self, right: R) -> impl MapQuery<Key = K, Value = (V, RV)>
Inner join on equal map keys. Read more
Source§fn inner_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<InnerJoinByPairPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
fn inner_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<InnerJoinByPairPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
Inner join using foreign key relationship. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<K, V, M> LeftJoinExt<K, V> for M
impl<K, V, M> LeftJoinExt<K, V> for M
Source§fn left_join<R, RV>(
self,
right: R,
) -> LeftJoinPlan<Self, R, K, V, K, RV, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, RequiredRightKey<impl Fn(&K, &RV) -> K + Send + Sync + 'static>>
fn left_join<R, RV>( self, right: R, ) -> LeftJoinPlan<Self, R, K, V, K, RV, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, RequiredRightKey<impl Fn(&K, &RV) -> K + Send + Sync + 'static>>
Left join on equal map keys. Read more
Source§fn left_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<LeftJoinPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
fn left_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<LeftJoinPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
Left join using foreign key relationship. Read more
Source§fn left_join_by<R, RK, RV, JK, FL, FR>(
self,
right: R,
left_key: FL,
right_key: FR,
) -> LeftJoinPlan<Self, R, K, V, RK, RV, JK, FL, RequiredRightKey<FR>>
fn left_join_by<R, RK, RV, JK, FL, FR>( self, right: R, left_key: FL, right_key: FR, ) -> LeftJoinPlan<Self, R, K, V, RK, RV, JK, FL, RequiredRightKey<FR>>
Left join using explicit key extractors. Read more
Source§impl<K, V, M> LeftSemiJoinExt<K, V> for M
impl<K, V, M> LeftSemiJoinExt<K, V> for M
Source§fn left_semi_join<R, RV>(self, right: R) -> impl MapQuery<Key = K, Value = V>
fn left_semi_join<R, RV>(self, right: R) -> impl MapQuery<Key = K, Value = V>
Left semi join on equal map keys. Read more
Source§fn left_semi_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<LeftSemiJoinPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
fn left_semi_join_fk<Rel, R>(
self,
right: R,
) -> RelationPlan<LeftSemiJoinPlan<Self, R, K, V, R::Key, Rel::Child, K, impl Fn(&K, &V) -> K + Send + Sync + 'static, OptionalRightKey<impl Fn(&R::Key, &Rel::Child) -> Option<K> + Send + Sync + 'static>>, Rel>where
Rel: ForeignKeyRelation,
R: MapQuery<Value = Rel::Child>,
Rel::ForeignKey: IdFor<Rel::Parent, MapKey = K>,
Left semi join using foreign key relationship. Read more
Source§fn left_semi_join_by<R, RK, RV, JK, FL, FR>(
self,
right: R,
left_key: FL,
right_key: FR,
) -> impl MapQuery<Key = K, Value = V>
fn left_semi_join_by<R, RK, RV, JK, FL, FR>( self, right: R, left_key: FL, right_key: FR, ) -> impl MapQuery<Key = K, Value = V>
Left semi join using explicit key extractors. Read more
Source§impl<K, V, M> MapEntriesExt<K, V> for M
impl<K, V, M> MapEntriesExt<K, V> for M
Source§fn map_entries<K2, V2, F>(self, f: F) -> impl MapQuery<Key = K2, Value = V2>
fn map_entries<K2, V2, F>(self, f: F) -> impl MapQuery<Key = K2, Value = V2>
Map every input row to exactly one output row with a unique output key. Read more
Convert this map query into a Clone-able multicast handle.
Source§impl<K, V, M> MapValuesExt<K, V> for M
impl<K, V, M> MapValuesExt<K, V> for M
Source§fn map_values<U, F>(self, f: F) -> MapValuesPlan<Self, K, V, U, F>
fn map_values<U, F>(self, f: F) -> MapValuesPlan<Self, K, V, U, F>
Map every value while retaining its input key.
Source§impl<K, V, M> MultiLeftJoinExt<K, V> for M
impl<K, V, M> MultiLeftJoinExt<K, V> for M
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<K, V, M> ProjectCellExt<K, V> for M
impl<K, V, M> ProjectCellExt<K, V> for M
Source§fn project_cell<K2, V2, W, F>(
self,
mapper: F,
) -> impl MapQuery<Key = K2, Value = V2>
fn project_cell<K2, V2, W, F>( self, mapper: F, ) -> impl MapQuery<Key = K2, Value = V2>
Reactive project variant: each row maps to a watchable optional output row. Read more