icu_provider::ule

Trait MaybeAsVarULE

Source
pub trait MaybeAsVarULE {
    type EncodedStruct: ?Sized + VarULE;
}
Expand description

A trait that associates a [VarULE] type with a data struct.

Some data structs can be represented compactly as a single [VarULE], such as str or a packed pattern. This trait allows for data providers to use optimizations for such types.

❗ Not all data structs benefit from this optimization. It works best when the data struct is multiplied across a large number of data marker attributes.

Both MaybeAsVarULE and MaybeEncodeAsVarULE should be implemented on all data structs. The data_struct! macro provides an impl.

Required Associated Types§

Source

type EncodedStruct: ?Sized + VarULE

The [VarULE] type for this data struct, or [()] if it cannot be represented as [VarULE].

Implementations on Foreign Types§

Source§

impl<'a, K0, K1, V> MaybeAsVarULE for ZeroMap2d<'a, K0, K1, V>
where K0: ZeroMapKV<'a> + ?Sized, K1: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized,

Source§

impl<T, const N: usize> MaybeAsVarULE for [T; N]

Implementors§

Source§

impl<'data> MaybeAsVarULE for HelloWorld<'data>

impl MaybeAsVarULE for ChineseBasedCache<'_>

impl MaybeAsVarULE for HijriCache<'_>

impl MaybeAsVarULE for JapaneseEras<'_>

impl MaybeAsVarULE for WeekData

impl MaybeAsVarULE for CaseMap<'_>

impl MaybeAsVarULE for CaseMapUnfold<'_>

impl MaybeAsVarULE for CollationData<'_>

impl MaybeAsVarULE for CollationDiacritics<'_>

impl MaybeAsVarULE for CollationJamo<'_>

impl MaybeAsVarULE for CollationMetadata

impl MaybeAsVarULE for CollationReordering<'_>

impl MaybeAsVarULE for CollationSpecialPrimaries<'_>

impl MaybeAsVarULE for MonthNames<'_>

impl MaybeAsVarULE for YearNames<'_>

impl MaybeAsVarULE for DateLengths<'_>

impl MaybeAsVarULE for DateSymbols<'_>

impl MaybeAsVarULE for TimeLengths<'_>

impl MaybeAsVarULE for TimeSymbols<'_>

impl MaybeAsVarULE for DateTimeSkeletons<'_>

impl MaybeAsVarULE for GluePattern<'_>

impl MaybeAsVarULE for LinearNames<'_>

impl MaybeAsVarULE for PackedPatterns<'_>

impl MaybeAsVarULE for ExemplarCities<'_>

impl MaybeAsVarULE for Locations<'_>

impl MaybeAsVarULE for MetazoneGenericNames<'_>

impl MaybeAsVarULE for MetazonePeriod<'_>

impl MaybeAsVarULE for MetazoneSpecificNames<'_>

impl MaybeAsVarULE for TimeZoneEssentials<'_>

impl MaybeAsVarULE for DecimalSymbols<'_>

impl MaybeAsVarULE for CompactDecimalPatternData<'_>

impl MaybeAsVarULE for CurrencyEssentials<'_>

impl MaybeAsVarULE for ShortCurrencyCompact<'_>

impl MaybeAsVarULE for CurrencyDisplayname<'_>

impl MaybeAsVarULE for CurrencyPatternsData<'_>

impl MaybeAsVarULE for CurrencyExtendedData<'_>

impl MaybeAsVarULE for PercentEssentials<'_>

impl MaybeAsVarULE for UnitsDisplayName<'_>

impl MaybeAsVarULE for UnitsEssentials<'_>

impl MaybeAsVarULE for LanguageDisplayNames<'_>

impl MaybeAsVarULE for LocaleDisplayNames<'_>

impl MaybeAsVarULE for RegionDisplayNames<'_>

impl MaybeAsVarULE for ScriptDisplayNames<'_>

impl MaybeAsVarULE for VariantDisplayNames<'_>

impl MaybeAsVarULE for DigitalDurationData<'_>

impl MaybeAsVarULE for UnitsTrie<'_>

impl MaybeAsVarULE for PersonNamesFormat<'_>

impl MaybeAsVarULE for RelativeTimePatternData<'_>

impl MaybeAsVarULE for RuleBasedTransliterator<'_>

impl MaybeAsVarULE for UnitsInfo<'_>

impl MaybeAsVarULE for ListFormatterPatterns<'_>

impl MaybeAsVarULE for Aliases<'_>

impl MaybeAsVarULE for ExemplarCharactersData<'_>

impl MaybeAsVarULE for LikelySubtagsExtended<'_>

impl MaybeAsVarULE for LikelySubtagsForLanguage<'_>

impl MaybeAsVarULE for LikelySubtagsForScriptRegion<'_>

impl MaybeAsVarULE for Parents<'_>

impl MaybeAsVarULE for ScriptDirection<'_>

impl MaybeAsVarULE for CanonicalCompositions<'_>

impl MaybeAsVarULE for DecompositionData<'_>

impl MaybeAsVarULE for DecompositionTables<'_>

impl MaybeAsVarULE for NonRecursiveDecompositionSupplement<'_>

impl MaybeAsVarULE for PluralRanges<'_>

impl MaybeAsVarULE for PluralRulesData<'_>

impl MaybeAsVarULE for PropertyCodePointSet<'_>

impl MaybeAsVarULE for PropertyUnicodeSet<'_>

impl MaybeAsVarULE for PropertyEnumToValueNameLinearMap<'_>

impl MaybeAsVarULE for PropertyEnumToValueNameSparseMap<'_>

impl MaybeAsVarULE for PropertyScriptToIcuScriptMap<'_>

impl MaybeAsVarULE for PropertyValueNameToEnumMap<'_>

impl MaybeAsVarULE for ScriptWithExtensionsProperty<'_>

impl<T: TrieValue> MaybeAsVarULE for PropertyCodePointMap<'_, T>

impl MaybeAsVarULE for LstmData<'_>

impl MaybeAsVarULE for RuleBreakData<'_>

impl MaybeAsVarULE for RuleBreakDataOverride<'_>

impl MaybeAsVarULE for UCharDictionaryBreakData<'_>

impl MaybeAsVarULE for IanaNames<'_>

impl MaybeAsVarULE for IanaToBcp47Map<'_>

impl MaybeAsVarULE for WindowsZonesToBcp47Map<'_>