KeyEncoding

Trait KeyEncoding 

Source
pub trait KeyEncoding<K = Self>: Send + Sync {
    type Error: AnyError;

    const LENGTH: Option<usize>;

    // Required methods
    fn describe<Visitor>(visitor: &mut Visitor)
       where Visitor: KeyVisitor;
    fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>;
}
Expand description

A trait that enables a type to convert itself into a memcmp-compatible sequence of bytes.

Required Associated Constants§

Source

const LENGTH: Option<usize>

The size of the key, if constant. If this type doesn’t produce the same number of bytes for each value, this should be None.

Required Associated Types§

Source

type Error: AnyError

The error type that can be produced by either serialization or deserialization.

Required Methods§

Source

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Describes this type by invoking functions on visitor describing the key being encoded.

See the KeyVisitor trait for more information.

KeyDescription::for_key()/KeyDescription::for_encoding() are built-in functions

Source

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Convert self into a Cow<'_, [u8]> containing bytes that are able to be compared via memcmp in a way that is comptaible with its own Ord implementation.

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 KeyEncoding for bool

Source§

const LENGTH: Option<usize>

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for i8

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for i16

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for i32

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for i64

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for i128

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for isize

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for u8

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for u16

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for u32

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for u64

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for u128

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for ()

Source§

const LENGTH: Option<usize>

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for usize

Source§

const LENGTH: Option<Self> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for String

Source§

const LENGTH: Option<usize> = None

Source§

type Error = FromUtf8Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for Vec<u8>

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for Duration

Source§

const LENGTH: Option<usize> = None

Source§

type Error = TimeError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for SystemTime

Source§

const LENGTH: Option<usize> = None

Source§

type Error = TimeError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for Bytes

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for Signed

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for Unsigned

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroI8

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroI16

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroI32

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroI64

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroI128

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroIsize

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroU8

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroU16

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroU32

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroU64

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroU128

Source§

const LENGTH: Option<usize>

Source§

type Error = NonZeroKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding for NonZeroUsize

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl KeyEncoding<String> for str

Source§

const LENGTH: Option<usize> = None

Source§

type Error = FromUtf8Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'a, 'k, K, KE> KeyEncoding<K> for &'a KE
where KE: KeyEncoding<K> + ?Sized + PartialEq, K: Key<'k> + PartialEq<KE>,

Source§

const LENGTH: Option<usize> = K::LENGTH

Source§

type Error = <KE as KeyEncoding<K>>::Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding for Cow<'k, str>

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Utf8Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding for CowBytes<'k>

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding for ArcBytes<'k>

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding<Cow<'k, [u8]>> for &'k [u8]

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding<Vec<u8>> for &'k [u8]

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding<Bytes> for &'k [u8]

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding<CowBytes<'k>> for &'k [u8]

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k> KeyEncoding<ArcBytes<'k>> for &'k [u8]

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k, 'ke> KeyEncoding<Cow<'ke, [u8]>> for Cow<'k, [u8]>

Source§

const LENGTH: Option<usize> = None

Source§

type Error = Infallible

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k, T, E, TBorrowed, EBorrowed> KeyEncoding<Result<T, E>> for Result<TBorrowed, EBorrowed>
where TBorrowed: KeyEncoding<T>, T: Key<'k, Error = TBorrowed::Error>, EBorrowed: KeyEncoding<E, Error = TBorrowed::Error>, E: Key<'k, Error = TBorrowed::Error>,

Source§

const LENGTH: Option<usize> = None

Source§

type Error = <TBorrowed as KeyEncoding<T>>::Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<'k, T, K> KeyEncoding<Option<K>> for Option<T>
where T: KeyEncoding<K>, K: Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = <T as KeyEncoding<K>>::Error

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1> KeyEncoding for (T1,)
where T1: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2> KeyEncoding for (T1, T2)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3> KeyEncoding for (T1, T2, T3)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3, T4> KeyEncoding for (T1, T2, T3, T4)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3, T4, T5> KeyEncoding for (T1, T2, T3, T4, T5)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3, T4, T5, T6> KeyEncoding for (T1, T2, T3, T4, T5, T6)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3, T4, T5, T6, T7> KeyEncoding for (T1, T2, T3, T4, T5, T6, T7)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>, T7: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> KeyEncoding for (T1, T2, T3, T4, T5, T6, T7, T8)
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>, T7: for<'k> Key<'k>, T8: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize>

Source§

type Error = CompositeKeyError

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Source§

impl<const N: usize> KeyEncoding for [u8; N]

Source§

const LENGTH: Option<usize>

Source§

type Error = IncorrectByteLength

Source§

fn describe<Visitor>(visitor: &mut Visitor)
where Visitor: KeyVisitor,

Source§

fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, Self::Error>

Implementors§

Source§

impl KeyEncoding for SensitiveBytes

Source§

impl KeyEncoding for SensitiveString

Source§

impl KeyEncoding for Timestamp

Source§

impl<'a, 'k, TOwned, TBorrowed> KeyEncoding for MaybeOwned<'a, TOwned, TBorrowed>
where TBorrowed: KeyEncoding<TOwned, Error = TOwned::Error> + PartialEq + ?Sized, TOwned: Key<'k> + PartialEq<TBorrowed>,

Source§

const LENGTH: Option<usize> = TBorrowed::LENGTH

Source§

type Error = <TOwned as KeyEncoding>::Error

Source§

impl<K, T> KeyEncoding<OptionKeyV1<K>> for OptionKeyV1<T>
where T: KeyEncoding<K>, K: for<'k> Key<'k>,

Source§

const LENGTH: Option<usize> = T::LENGTH

Source§

type Error = <T as KeyEncoding<K>>::Error

Source§

impl<PrimaryKey> KeyEncoding<PrimaryKey> for DocumentId
where PrimaryKey: for<'pk> Key<'pk>,

Source§

impl<Resolution> KeyEncoding for LimitedResolutionDuration<Resolution>
where Resolution: TimeResolution,

Source§

impl<Resolution, Epoch> KeyEncoding for LimitedResolutionTimestamp<Resolution, Epoch>
where Resolution: TimeResolution, Epoch: TimeEpoch,

Source§

impl<T1> KeyEncoding for TupleEncodingV1<(T1,)>
where T1: for<'k> Key<'k>,

Source§

impl<T1, T2> KeyEncoding for TupleEncodingV1<(T1, T2)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>,

Source§

impl<T1, T2, T3> KeyEncoding for TupleEncodingV1<(T1, T2, T3)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>,

Source§

impl<T1, T2, T3, T4> KeyEncoding for TupleEncodingV1<(T1, T2, T3, T4)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>,

Source§

impl<T1, T2, T3, T4, T5> KeyEncoding for TupleEncodingV1<(T1, T2, T3, T4, T5)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>,

Source§

impl<T1, T2, T3, T4, T5, T6> KeyEncoding for TupleEncodingV1<(T1, T2, T3, T4, T5, T6)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7> KeyEncoding for TupleEncodingV1<(T1, T2, T3, T4, T5, T6, T7)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>, T7: for<'k> Key<'k>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> KeyEncoding for TupleEncodingV1<(T1, T2, T3, T4, T5, T6, T7, T8)>
where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>, T4: for<'k> Key<'k>, T5: for<'k> Key<'k>, T6: for<'k> Key<'k>, T7: for<'k> Key<'k>, T8: for<'k> Key<'k>,

Source§

impl<T> KeyEncoding for EnumKey<T>

Source§

impl<T> KeyEncoding for VarInt<T>
where T: VariableInteger,