Trait frame_support::storage::types::KeyGenerator [−][src]
pub trait KeyGenerator { type Key: EncodeLike<Self::Key>; type KArg: Encode; type HashFn: FnOnce(&[u8]) -> Vec<u8>; type HArg; const HASHER_METADATA: &'static [StorageHasher]; fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ; fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ; }
Expand description
A trait that contains the current key as an associated type.
Associated Types
type Key: EncodeLike<Self::Key>
Associated Constants
Required methods
Given a key
tuple, calculate the final key by encoding each element individuallly and
hashing them using the corresponding hasher in the KeyGenerator
.
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
Given a key
tuple, migrate the keys from using the old hashers as given by hash_fns
to using the newer hashers as specified by this KeyGenerator
.
Implementations on Foreign Types
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn, TupleElement13::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn, TupleElement13::HashFn, TupleElement14::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn, TupleElement13::HashFn, TupleElement14::HashFn, TupleElement15::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner, TupleElement16: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner, TupleElement16: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key, TupleElement16::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key, TupleElement16::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn, TupleElement13::HashFn, TupleElement14::HashFn, TupleElement15::HashFn, TupleElement16::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner, TupleElement16: KeyGeneratorInner, TupleElement17: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)
impl<TupleElement0: KeyGeneratorInner, TupleElement1: KeyGeneratorInner, TupleElement2: KeyGeneratorInner, TupleElement3: KeyGeneratorInner, TupleElement4: KeyGeneratorInner, TupleElement5: KeyGeneratorInner, TupleElement6: KeyGeneratorInner, TupleElement7: KeyGeneratorInner, TupleElement8: KeyGeneratorInner, TupleElement9: KeyGeneratorInner, TupleElement10: KeyGeneratorInner, TupleElement11: KeyGeneratorInner, TupleElement12: KeyGeneratorInner, TupleElement13: KeyGeneratorInner, TupleElement14: KeyGeneratorInner, TupleElement15: KeyGeneratorInner, TupleElement16: KeyGeneratorInner, TupleElement17: KeyGeneratorInner> KeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)
type Key = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key, TupleElement16::Key, TupleElement17::Key)
type KArg = (TupleElement0::Key, TupleElement1::Key, TupleElement2::Key, TupleElement3::Key, TupleElement4::Key, TupleElement5::Key, TupleElement6::Key, TupleElement7::Key, TupleElement8::Key, TupleElement9::Key, TupleElement10::Key, TupleElement11::Key, TupleElement12::Key, TupleElement13::Key, TupleElement14::Key, TupleElement15::Key, TupleElement16::Key, TupleElement17::Key)
type HArg = (TupleElement0::HashFn, TupleElement1::HashFn, TupleElement2::HashFn, TupleElement3::HashFn, TupleElement4::HashFn, TupleElement5::HashFn, TupleElement6::HashFn, TupleElement7::HashFn, TupleElement8::HashFn, TupleElement9::HashFn, TupleElement10::HashFn, TupleElement11::HashFn, TupleElement12::HashFn, TupleElement13::HashFn, TupleElement14::HashFn, TupleElement15::HashFn, TupleElement16::HashFn, TupleElement17::HashFn)
fn final_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: KArg
) -> Vec<u8>ⓘ
fn migrate_key<KArg: EncodeLikeTuple<Self::KArg> + TupleToEncodedIter>(
key: &KArg,
hash_fns: Self::HArg
) -> Vec<u8>ⓘ