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".
Implementations on Foreign Types§
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)
Available on crate feature
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)
Available on crate feature
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)
Available on crate feature
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)
Available on crate feature
alloc only.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)
Available on crate feature
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: 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>,
Available on crate feature
alloc only.