[][src]Trait frame_support::storage::IterableStorageMap

pub trait IterableStorageMap<K: FullEncode, V: FullCodec>: StorageMap<K, V> {
    type Iterator: Iterator<Item = (K, V)>;
    fn iter() -> Self::Iterator;
fn drain() -> Self::Iterator;
fn translate<O: Decode, F: Fn(K, O) -> Option<V>>(f: F); }
[]

A strongly-typed map in storage whose keys and values can be iterated over.

Associated Types

type Iterator: Iterator<Item = (K, V)>[]

The type that iterates over all (key, value).

Required methods

fn iter() -> Self::Iterator[]

Enumerate all elements in the map in no particular order. If you alter the map while doing this, you'll get undefined results.

fn drain() -> Self::Iterator[]

Remove all elements from the map and iterate through them in no particular order. If you add elements to the map while doing this, you'll get undefined results.

fn translate<O: Decode, F: Fn(K, O) -> Option<V>>(f: F)[]

Translate the values of all elements by a function f, in the map in no particular order. By returning None from f for an element, you'll remove it from the map.

Implementors

impl<K: FullCodec, V: FullCodec, G: StorageMap<K, V>> IterableStorageMap<K, V> for G where
    G::Hasher: ReversibleStorageHasher
[src][+]

type Iterator = StorageMapIterator<K, V, G::Hasher>

fn iter() -> Self::Iterator[src][]

Enumerate all elements in the map.

fn drain() -> Self::Iterator[src][]

Enumerate all elements in the map.