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 Types§

source

type Error: AnyError

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

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 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.

Implementations on Foreign Types§

source§

impl KeyEncoding<SystemTime> for SystemTime

§

type Error = TimeError

source§

const LENGTH: Option<usize> = None

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<(T1, T2, T3, T4, T5, T6, T7)> 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>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

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<(T1,)> for (T1,)where T1: for<'k> Key<'k>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroIsize> for NonZeroIsize

§

type Error = Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<i16> for i16

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<i32> for i32

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<Duration> for Duration

§

type Error = TimeError

source§

const LENGTH: Option<usize> = None

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 KEwhere KE: KeyEncoding<K> + ?Sized + PartialEq, K: Key<'k> + PartialEq<KE>,

§

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

source§

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

source§

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

source§

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

source§

impl KeyEncoding<i64> for i64

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<u128> for u128

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

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]

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<i8> for i8

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroI8> for NonZeroI8

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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]

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

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]

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<NonZeroI64> for NonZeroI64

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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, Global>> for &'k [u8]

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<NonZeroU64> for NonZeroU64

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroU128> for NonZeroU128

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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 CowBytes<'k>

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

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<(T1, T2, T3, T4, T5)> 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>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroI16> for NonZeroI16

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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 ArcBytes<'k>

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

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]>

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

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 String

§

type Error = FromUtf8Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<u32> for u32

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

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<(T1, T2)> for (T1, T2)where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroU8> for NonZeroU8

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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<(T1, T2, T3)> for (T1, T2, T3)where T1: for<'k> Key<'k>, T2: for<'k> Key<'k>, T3: for<'k> Key<'k>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

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 ()

§

type Error = Infallible

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<bool> for bool

§

type Error = Infallible

source§

const LENGTH: Option<usize> = _

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]

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<Uuid> for Uuid

§

type Error = TryFromSliceError

source§

const LENGTH: Option<usize> = _

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<[u8; N]> for [u8; N]

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

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>,

§

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

source§

const LENGTH: Option<usize> = None

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<(T1, T2, T3, T4, T5, T6, T7, T8)> 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>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroU16> for NonZeroU16

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroU32> for NonZeroU32

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<Unsigned> for Unsigned

§

type Error = Error

source§

const LENGTH: Option<usize> = None

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<(T1, T2, T3, T4)> 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>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<Signed> for Signed

§

type Error = Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<u64> for u64

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<NonZeroUsize> for NonZeroUsize

§

type Error = Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<NonZeroI32> for NonZeroI32

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<u8> for u8

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<i128> for i128

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<isize> for isize

§

type Error = Error

source§

const LENGTH: Option<usize> = None

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

§

type Error = FromUtf8Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<NonZeroI128> for NonZeroI128

§

type Error = NonZeroKeyError

source§

const LENGTH: Option<usize> = _

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>,

§

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

source§

const LENGTH: Option<usize> = _

source§

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

source§

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

source§

impl KeyEncoding<Bytes> for Bytes

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<Vec<u8, Global>> for Vec<u8>

§

type Error = Infallible

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

impl KeyEncoding<usize> for usize

§

type Error = Error

source§

const LENGTH: Option<Self> = None

source§

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

source§

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

source§

impl KeyEncoding<u16> for u16

§

type Error = IncorrectByteLength

source§

const LENGTH: Option<usize> = _

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<(T1, T2, T3, T4, T5, T6)> 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>,

§

type Error = CompositeKeyError

source§

const LENGTH: Option<usize> = _

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, str>> for Cow<'k, str>

§

type Error = Utf8Error

source§

const LENGTH: Option<usize> = None

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<SensitiveBytes> for SensitiveBytes

source§

impl KeyEncoding<SensitiveString> for SensitiveString

source§

impl KeyEncoding<Timestamp> for Timestamp

source§

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

§

type Error = <TOwned as KeyEncoding<TOwned>>::Error

source§

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

source§

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

§

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

source§

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

source§

impl<PrimaryKey> KeyEncoding<PrimaryKey> for DocumentIdwhere PrimaryKey: for<'pk> Key<'pk>,

§

type Error = Error

source§

const LENGTH: Option<usize> = None

source§

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

source§

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

source§

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

source§

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

source§

impl<T1, T2, T3> KeyEncoding<TupleEncodingV1<(T1, T2, T3)>> 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<TupleEncodingV1<(T1, T2, T3, T4)>> 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<TupleEncodingV1<(T1, T2, T3, T4, T5)>> 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<TupleEncodingV1<(T1, T2, T3, T4, T5, T6)>> 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<TupleEncodingV1<(T1, T2, T3, T4, T5, T6, T7)>> 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<TupleEncodingV1<(T1, T2, T3, T4, T5, T6, T7, T8)>> 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<EnumKey<T>> for EnumKey<T>where T: ToPrimitive + FromPrimitive + Clone + Eq + Ord + Debug + Send + Sync,

§

type Error = Error

source§

const LENGTH: Option<usize> = None

source§

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

§

type Error = Error

source§

const LENGTH: Option<usize> = None