Trait OrderedMapIterator

Source
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§

Source

fn inner_join_map<I>(self, map: I) -> InnerJoinMap<Self, I>
where I: OrderedMapIterator<Key = Self::Key>,

Joins two ordered maps together.

Source

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.

Source

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.

Implementations on Foreign Types§

Source§

impl<'a, K: Ord, V> OrderedMapIterator for Iter<'a, K, V>

Source§

impl<'a, K: Ord, V> OrderedMapIterator for IterMut<'a, K, V>

Source§

impl<'a, V> OrderedMapIterator for Iter<'a, V>

Source§

impl<K: Ord, V> OrderedMapIterator for IntoIter<K, V>

Source§

type Key = K

Source§

type Val = V

Implementors§