zerovec::maps

Trait ZeroMapKV

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

Source

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.

Source

type Slice: ZeroVecLike<Self, GetType = Self::GetType> + ?Sized

Source

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

Source

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> ZeroMapKV<'a> for char

Source§

impl<'a> ZeroMapKV<'a> for f32

Source§

impl<'a> ZeroMapKV<'a> for f64

Source§

impl<'a> ZeroMapKV<'a> for i8

Source§

impl<'a> ZeroMapKV<'a> for i16

Source§

impl<'a> ZeroMapKV<'a> for i32

Source§

impl<'a> ZeroMapKV<'a> for i64

Source§

impl<'a> ZeroMapKV<'a> for i128

Source§

impl<'a> ZeroMapKV<'a> for str

Source§

impl<'a> ZeroMapKV<'a> for u8

Source§

impl<'a> ZeroMapKV<'a> for u16

Source§

impl<'a> ZeroMapKV<'a> for u32

Source§

impl<'a> ZeroMapKV<'a> for u64

Source§

impl<'a> ZeroMapKV<'a> for u128

Source§

impl<'a> ZeroMapKV<'a> for NonZeroI8

Source§

impl<'a> ZeroMapKV<'a> for NonZeroU8

Source§

impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B)

Source§

impl<'a, A: Ord + AsULE + 'static, B: Ord + AsULE + 'static, C: Ord + AsULE + 'static> ZeroMapKV<'a> for (A, B, C)

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)

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)

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)

Source§

impl<'a, T> ZeroMapKV<'a> for Option<T>
where Option<T>: AsULE + 'static,

Source§

impl<'a, T> ZeroMapKV<'a> for [T]
where T: ULE + AsULE<ULE = T>,

Source§

impl<'a, T, const N: usize> ZeroMapKV<'a> for [T; N]
where T: AsULE + 'static,

Implementors§

Source§

impl<'a, T> ZeroMapKV<'a> for ZeroSlice<T>
where T: AsULE + 'static,

Source§

impl<'a, T> ZeroMapKV<'a> for OptionVarULE<T>
where T: VarULE + ?Sized,

Source§

impl<'a, T: AsULE + 'static, const N: usize> ZeroMapKV<'a> for NichedOption<T, N>
where T::ULE: NicheBytes<N>,

impl<'a> ZeroMapKV<'a> for EraStartDate

impl<'a> ZeroMapKV<'a> for MonthCode

impl<'a> ZeroMapKV<'a> for ExceptionULE

impl<'a> ZeroMapKV<'a> for CodePointInversionListULE

impl<'a> ZeroMapKV<'a> for CodePointInversionListAndStringListULE

impl<'a> ZeroMapKV<'a> for Day

impl<'a> ZeroMapKV<'a> for DayPeriod

impl<'a> ZeroMapKV<'a> for DecimalSecond

impl<'a> ZeroMapKV<'a> for Hour

impl<'a> ZeroMapKV<'a> for Month

impl<'a> ZeroMapKV<'a> for Second

impl<'a> ZeroMapKV<'a> for TimeZone

impl<'a> ZeroMapKV<'a> for Weekday

impl<'a> ZeroMapKV<'a> for Year

impl<'a> ZeroMapKV<'a> for Field

impl<'a> ZeroMapKV<'a> for PatternMetadata

impl<'a> ZeroMapKV<'a> for PatternULE

impl<'a> ZeroMapKV<'a> for DecimalSymbolsStrs

impl<'a> ZeroMapKV<'a> for Count

impl<'a> ZeroMapKV<'a> for PatternSelection

impl<'a> ZeroMapKV<'a> for PatternKey

impl<'a> ZeroMapKV<'a> for CompoundCount

impl<'a> ZeroMapKV<'a> for Base

impl<'a> ZeroMapKV<'a> for Exactness

impl<'a> ZeroMapKV<'a> for Sign

impl<'a> ZeroMapKV<'a> for PatternULE

impl<'a> ZeroMapKV<'a> for CurrencyPatternConfig

impl<'a> ZeroMapKV<'a> for SiPrefix

impl<'a> ZeroMapKV<'a> for SingleUnit

impl<'a> ZeroMapKV<'a> for FunctionCallULE

impl<'a> ZeroMapKV<'a> for RuleULE

impl<'a> ZeroMapKV<'a> for SegmentULE

impl<'a> ZeroMapKV<'a> for SimpleIdULE

impl<'a> ZeroMapKV<'a> for ConversionInfoULE

impl<'a> ZeroMapKV<'a> for LanguageStrStrPairVarULE

impl<'a> ZeroMapKV<'a> for StrStrPairVarULE

impl<'a> ZeroMapKV<'a> for Subtag

impl<'a> ZeroMapKV<'a> for Key

impl<'a> ZeroMapKV<'a> for Attribute

impl<'a> ZeroMapKV<'a> for Key

impl<'a> ZeroMapKV<'a> for SubdivisionSuffix

impl<'a> ZeroMapKV<'a> for Language

impl<'a> ZeroMapKV<'a> for Region

impl<'a> ZeroMapKV<'a> for Script

impl<'a> ZeroMapKV<'a> for Subtag

impl<'a> ZeroMapKV<'a> for Variant

impl<'a, B: PatternBackend> ZeroMapKV<'a> for Pattern<B>
where Pattern<B>: VarULE,

impl<'a> ZeroMapKV<'a> for PluralCategory

impl<'a> ZeroMapKV<'a> for RawPluralCategory

impl<'a> ZeroMapKV<'a> for RelationULE

impl<'a> ZeroMapKV<'a> for UnvalidatedPluralRange

impl<'a> ZeroMapKV<'a> for GeneralCategory

impl<'a> ZeroMapKV<'a> for DataMarkerIdHash

impl<'a> ZeroMapKV<'a> for WordType

impl<'a> ZeroMapKV<'a> for TimeZoneVariant

impl<'a> ZeroMapKV<'a> for MinutesSinceEpoch

impl<'a> ZeroMapKV<'a> for TimeZone

impl<'a> ZeroMapKV<'a> for PotentialUtf8

impl<'a, const N: usize> ZeroMapKV<'a> for TinyAsciiStr<N>

impl<'a, const N: usize> ZeroMapKV<'a> for UnvalidatedTinyAsciiStr<N>