pub trait ZeroMapKV<'a> {
    type Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized;
    type Slice: ZeroVecLike<Self, GetType = Self::GetType> + ?Sized;
    type GetType: ?Sized + 'static;
    type OwnedType: 'static;
}
Expand description

Trait marking types which are allowed to be keys or values in ZeroMap.

Users should not be calling methods of this trait directly, however if you are implementing your own AsULE or VarULE type you may wish to implement this trait.

Required Associated Types

The container that can be used with this type: ZeroVec or VarZeroVec.

The type produced by Container::get()

This type will be predetermined by the choice of Self::Container: For sized types this must be T::ULE, and for unsized types this must be T

The type produced by Container::replace() and Container::remove(), also used during deserialization. If Self is human readable serialized, deserializing to Self::OwnedType should produce the same value once passed through Self::owned_as_self()

This type will be predetermined by the choice of Self::Container: For sized types this must be T and for unsized types this must be Box<T>

Implementations on Foreign Types

Implementors