Trait IterableMap

Source
pub trait IterableMap: Map {
    type Keys<'a>: Iterator<Item = &'a Self::K>
       where Self: 'a;
    type Values<'a>: Iterator<Item = &'a Self::V>
       where Self: 'a;
    type ValuesMut<'a>: Iterator<Item = &'a mut Self::V>
       where Self: 'a;
    type Iter<'a>: Iterator<Item = (&'a Self::K, &'a Self::V)>
       where Self: 'a;
    type IterMut<'a>: Iterator<Item = (&'a Self::K, &'a mut Self::V)>
       where Self: 'a;
    type Drain<'a>: Iterator<Item = (Self::K, Self::V)>
       where Self: 'a;

    // Required methods
    fn len(&self) -> usize;
    fn keys(&self) -> Self::Keys<'_>;
    fn values(&self) -> Self::Values<'_>;
    fn values_mut(&mut self) -> Self::ValuesMut<'_>;
    fn iter(&self) -> Self::Iter<'_>;
    fn iter_mut(&mut self) -> Self::IterMut<'_>;
    fn drain(&mut self) -> Self::Drain<'_>;
    fn clear(&mut self);

    // Provided method
    fn is_empty(&self) -> bool { ... }
}

Required Associated Types§

Source

type Keys<'a>: Iterator<Item = &'a Self::K> where Self: 'a

Source

type Values<'a>: Iterator<Item = &'a Self::V> where Self: 'a

Source

type ValuesMut<'a>: Iterator<Item = &'a mut Self::V> where Self: 'a

Source

type Iter<'a>: Iterator<Item = (&'a Self::K, &'a Self::V)> where Self: 'a

Source

type IterMut<'a>: Iterator<Item = (&'a Self::K, &'a mut Self::V)> where Self: 'a

Source

type Drain<'a>: Iterator<Item = (Self::K, Self::V)> where Self: 'a

Required Methods§

Source

fn len(&self) -> usize

Source

fn keys(&self) -> Self::Keys<'_>

Source

fn values(&self) -> Self::Values<'_>

Source

fn values_mut(&mut self) -> Self::ValuesMut<'_>

Source

fn iter(&self) -> Self::Iter<'_>

Source

fn iter_mut(&mut self) -> Self::IterMut<'_>

Source

fn drain(&mut self) -> Self::Drain<'_>

Source

fn clear(&mut self)

Provided Methods§

Source

fn is_empty(&self) -> bool

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<K, V> IterableMap for BTreeMap<K, V>
where K: Eq + Ord,

Source§

type Keys<'a> = Keys<'a, K, V> where Self: 'a

Source§

type Values<'a> = Values<'a, K, V> where Self: 'a

Source§

type ValuesMut<'a> = ValuesMut<'a, K, V> where Self: 'a

Source§

type Iter<'a> = Iter<'a, K, V> where Self: 'a

Source§

type IterMut<'a> = IterMut<'a, K, V> where Self: 'a

Source§

type Drain<'a> = IntoIter<K, V> where Self: 'a

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn keys(&self) -> Self::Keys<'_>

Source§

fn values(&self) -> Self::Values<'_>

Source§

fn values_mut(&mut self) -> Self::ValuesMut<'_>

Source§

fn iter(&self) -> Self::Iter<'_>

Source§

fn iter_mut(&mut self) -> Self::IterMut<'_>

Source§

fn drain(&mut self) -> Self::Drain<'_>

Source§

fn clear(&mut self)

Source§

impl<K, V, H> IterableMap for IterableMap<K, V, H>
where K: Ord + BorshSerialize + BorshDeserialize + Clone, V: BorshSerialize + BorshDeserialize, H: ToKey,

Source§

type Keys<'a> = Keys<'a, K> where Self: 'a

Source§

type Values<'a> = Values<'a, K, V, H> where Self: 'a

Source§

type ValuesMut<'a> = ValuesMut<'a, K, V, H> where Self: 'a

Source§

type Iter<'a> = Iter<'a, K, V, H> where Self: 'a

Source§

type IterMut<'a> = IterMut<'a, K, V, H> where Self: 'a

Source§

type Drain<'a> = Drain<'a, K, V, H> where Self: 'a

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn keys(&self) -> Self::Keys<'_>

Source§

fn values(&self) -> Self::Values<'_>

Source§

fn values_mut(&mut self) -> Self::ValuesMut<'_>

Source§

fn iter(&self) -> Self::Iter<'_>

Source§

fn iter_mut(&mut self) -> Self::IterMut<'_>

Source§

fn drain(&mut self) -> Self::Drain<'_>

Source§

fn clear(&mut self)

Source§

impl<K, V, S> IterableMap for HashMap<K, V, S>
where K: Eq + Hash, S: BuildHasher,

Source§

type Keys<'a> = Keys<'a, K, V> where Self: 'a

Source§

type Values<'a> = Values<'a, K, V> where Self: 'a

Source§

type ValuesMut<'a> = ValuesMut<'a, K, V> where Self: 'a

Source§

type Iter<'a> = Iter<'a, K, V> where Self: 'a

Source§

type IterMut<'a> = IterMut<'a, K, V> where Self: 'a

Source§

type Drain<'a> = Drain<'a, K, V> where Self: 'a

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn keys(&self) -> Self::Keys<'_>

Source§

fn values(&self) -> Self::Values<'_>

Source§

fn values_mut(&mut self) -> Self::ValuesMut<'_>

Source§

fn iter(&self) -> Self::Iter<'_>

Source§

fn iter_mut(&mut self) -> Self::IterMut<'_>

Source§

fn drain(&mut self) -> Self::Drain<'_>

Source§

fn clear(&mut self)

Implementors§