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
Required Associated Types§
Sourcetype Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized
type Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized
The container that can be used with this type: ZeroVec or VarZeroVec.
type Slice: ZeroVecLike<Self, GetType = Self::GetType> + ?Sized
Sourcetype GetType: ?Sized + 'static
type GetType: ?Sized + 'static
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
Sourcetype OwnedType: 'static
type OwnedType: 'static
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>
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<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B)
Available on crate feature alloc only.
impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B)
alloc only.Source§impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C)
Available on crate feature alloc only.
impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C)
alloc only.Source§impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D)
Available on crate feature alloc only.
impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D)
alloc only.Source§impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static, E: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D, E)
Available on crate feature alloc only.
impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static, E: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D, E)
alloc only.Source§impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static, E: Ord + AsULE + 'static, F: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D, E, F)
Available on crate feature alloc only.
impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static, D: Ord + AsULE + 'static, E: Ord + AsULE + 'static, F: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C, D, E, F)
alloc only.Implementors§
Source§impl<'a, A, B> ZeroMapKV<'a> for VarTupleULE<A, B>
impl<'a, A, B> ZeroMapKV<'a> for VarTupleULE<A, B>
type Container = VarZeroVec<'a, VarTupleULE<A, B>>
type Slice = VarZeroSlice<VarTupleULE<A, B>>
type GetType = VarTupleULE<A, B>
type OwnedType = Box<VarTupleULE<A, B>>
Source§impl<'a, T> ZeroMapKV<'a> for OptionVarULE<T>
impl<'a, T> ZeroMapKV<'a> for OptionVarULE<T>
type Container = VarZeroVec<'a, OptionVarULE<T>>
type Slice = VarZeroSlice<OptionVarULE<T>>
type GetType = OptionVarULE<T>
type OwnedType = Box<OptionVarULE<T>>
Source§impl<'a, T: AsULE + 'static, const N: usize> ZeroMapKV<'a> for NichedOption<T, N>where
T::ULE: NicheBytes<N>,
Available on crate feature alloc only.
impl<'a, T: AsULE + 'static, const N: usize> ZeroMapKV<'a> for NichedOption<T, N>where
T::ULE: NicheBytes<N>,
alloc only.