pub trait OrderedMapIterator: Iterator<Item = (Self::Key, Self::Val)> + Sized {
type Key;
type Val;
// Provided methods
fn inner_join_map<I>(self, map: I) -> InnerJoinMap<Self, I> ⓘ
where I: OrderedMapIterator<Key = Self::Key> { ... }
fn inner_join_set<I>(self, set: I) -> InnerJoinMapSet<Self, I> ⓘ
where I: OrderedSetIterator<Item = Self::Key> { ... }
fn outer_join<I>(self, other: I) -> OuterJoin<Self, I> ⓘ
where I: OrderedMapIterator<Key = Self::Key> { ... }
}
Expand description
Allows an iterator to do an inner join with another iterator to combine their values or filter based on their keys.
This trait is applied to an iterator over a map-like structure.
Required Associated Types§
Provided Methods§
Sourcefn inner_join_map<I>(self, map: I) -> InnerJoinMap<Self, I> ⓘwhere
I: OrderedMapIterator<Key = Self::Key>,
fn inner_join_map<I>(self, map: I) -> InnerJoinMap<Self, I> ⓘwhere
I: OrderedMapIterator<Key = Self::Key>,
Joins two ordered maps together.
Sourcefn inner_join_set<I>(self, set: I) -> InnerJoinMapSet<Self, I> ⓘwhere
I: OrderedSetIterator<Item = Self::Key>,
fn inner_join_set<I>(self, set: I) -> InnerJoinMapSet<Self, I> ⓘwhere
I: OrderedSetIterator<Item = Self::Key>,
Filters an ordered map with an ordered set.
Sourcefn outer_join<I>(self, other: I) -> OuterJoin<Self, I> ⓘwhere
I: OrderedMapIterator<Key = Self::Key>,
fn outer_join<I>(self, other: I) -> OuterJoin<Self, I> ⓘwhere
I: OrderedMapIterator<Key = Self::Key>,
Joins an ordered iterator with another ordered iterator.
The new iterator will return a key-value pair for every key in
either iterator. If a key is present in both iterators, they
will be returned together (two values). If a value is in other
but not self
, it will be returned without the value in
self
. If the value is in self
but not other
,
it will be returned without the value from other
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.