IntoStorageKeys

Trait IntoStorageKeys 

Source
pub trait IntoStorageKeys {
    type Keys: StorageKeys;

    // Required methods
    fn into_storage_keys(self) -> Self::Keys;
    fn num_keys(&self) -> usize;
}
Expand description

This can be implemented for anything that can be converted into something implementing StorageKeys. It is implemented by default for tuples up to length 10, vectors and arrays (where the values all implement scale_encode::EncodeAsType).

Required Associated Types§

Source

type Keys: StorageKeys

An implementation of StorageKeys that can be used to iterate through the keys.

Required Methods§

Source

fn into_storage_keys(self) -> Self::Keys

Return an implementation of StorageKeys for this type.

Source

fn num_keys(&self) -> usize

The number of storage keys this type represents.

Implementations on Foreign Types§

Source§

impl IntoStorageKeys for ()

Source§

impl<A: EncodeAsType> IntoStorageKeys for (A,)

Source§

type Keys = TupleIter<A>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType> IntoStorageKeys for (A, B)

Source§

type Keys = TupleIter<A, B>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType> IntoStorageKeys for (A, B, C)

Source§

type Keys = TupleIter<A, B, C>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType> IntoStorageKeys for (A, B, C, D)

Source§

type Keys = TupleIter<A, B, C, D>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType> IntoStorageKeys for (A, B, C, D, E)

Source§

type Keys = TupleIter<A, B, C, D, E>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType, F: EncodeAsType> IntoStorageKeys for (A, B, C, D, E, F)

Source§

type Keys = TupleIter<A, B, C, D, E, F>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType, F: EncodeAsType, G: EncodeAsType> IntoStorageKeys for (A, B, C, D, E, F, G)

Source§

type Keys = TupleIter<A, B, C, D, E, F, G>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType, F: EncodeAsType, G: EncodeAsType, H: EncodeAsType> IntoStorageKeys for (A, B, C, D, E, F, G, H)

Source§

type Keys = TupleIter<A, B, C, D, E, F, G, H>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType, F: EncodeAsType, G: EncodeAsType, H: EncodeAsType, I: EncodeAsType> IntoStorageKeys for (A, B, C, D, E, F, G, H, I)

Source§

type Keys = TupleIter<A, B, C, D, E, F, G, H, I>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<A: EncodeAsType, B: EncodeAsType, C: EncodeAsType, D: EncodeAsType, E: EncodeAsType, F: EncodeAsType, G: EncodeAsType, H: EncodeAsType, I: EncodeAsType, J: EncodeAsType> IntoStorageKeys for (A, B, C, D, E, F, G, H, I, J)

Source§

type Keys = TupleIter<A, B, C, D, E, F, G, H, I, J>

Source§

fn num_keys(&self) -> usize

Source§

fn into_storage_keys(self) -> Self::Keys

Source§

impl<K: EncodeAsType> IntoStorageKeys for Vec<K>

Source§

impl<K: EncodeAsType, const N: usize> IntoStorageKeys for [K; N]

Implementors§