pub struct AliasesV1<'data> {
pub language_variants: VarZeroVec<'data, StrStrPairVarULE, Index16>,
pub sgn_region: ZeroMap<'data, TinyAsciiStr<3_usize>, Language>,
pub language_len2: ZeroMap<'data, TinyAsciiStr<2_usize>, str>,
pub language_len3: ZeroMap<'data, TinyAsciiStr<3_usize>, str>,
pub language: VarZeroVec<'data, StrStrPairVarULE, Index16>,
pub script: ZeroMap<'data, TinyAsciiStr<4_usize>, Script>,
pub region_alpha: ZeroMap<'data, TinyAsciiStr<2_usize>, Region>,
pub region_num: ZeroMap<'data, TinyAsciiStr<3_usize>, Region>,
pub complex_region: ZeroMap<'data, TinyAsciiStr<3_usize>, ZeroSlice<Region>>,
pub variant: ZeroMap<'data, TinyAsciiStr<8_usize>, Variant>,
pub subdivision: ZeroMap<'data, TinyAsciiStr<7_usize>, TinyAsciiStr<7_usize>>,
}
Expand description
This alias data is used for locale canonicalization. Each field defines a
mapping from an old identifier to a new identifier, based upon the rules in
from http://unicode.org/reports/tr35/#LocaleId_Canonicalization. The data
is stored in sorted order, allowing for binary search to identify rules to
apply. It is broken down into smaller vectors based upon some characteristic
of the data, to help avoid unnecessary searches. For example, the sgn_region
field contains aliases for sign language and region, so that it is not
necessary to search the data unless the input is a sign language.
The algorithm in tr35 is not guaranteed to terminate on data other than what is currently in CLDR. For this reason, it is not a good idea to attempt to add or modify aliases for use in this structure.
Fields
language_variants: VarZeroVec<'data, StrStrPairVarULE, Index16>
[language(-variant)+\] -> [langid]
This is not a map as it’s searched linearly according to the canonicalization rules.
sgn_region: ZeroMap<'data, TinyAsciiStr<3_usize>, Language>
sgn-[region] -> [language]
language_len2: ZeroMap<'data, TinyAsciiStr<2_usize>, str>
[language{2}] -> [langid]
language_len3: ZeroMap<'data, TinyAsciiStr<3_usize>, str>
[language{3}] -> [langid]
language: VarZeroVec<'data, StrStrPairVarULE, Index16>
[langid] -> [langid]
This is not a map as it’s searched linearly according to the canonicalization rules.
script: ZeroMap<'data, TinyAsciiStr<4_usize>, Script>
[script] -> [script]
region_alpha: ZeroMap<'data, TinyAsciiStr<2_usize>, Region>
[region{2}] -> [region]
region_num: ZeroMap<'data, TinyAsciiStr<3_usize>, Region>
[region{3}] -> [region]
complex_region: ZeroMap<'data, TinyAsciiStr<3_usize>, ZeroSlice<Region>>
[region] -> [region]+
variant: ZeroMap<'data, TinyAsciiStr<8_usize>, Variant>
[variant] -> [variant]
subdivision: ZeroMap<'data, TinyAsciiStr<7_usize>, TinyAsciiStr<7_usize>>
[value{7}] -> [value{7}]
Trait Implementations
sourceimpl<'data> Bake for AliasesV1<'data>
impl<'data> Bake for AliasesV1<'data>
sourcefn bake(&self, env: &CrateEnv) -> TokenStream
fn bake(&self, env: &CrateEnv) -> TokenStream
Returns a TokenStream
that would evaluate to self
. Read more
sourceimpl<'de, 'data> Deserialize<'de> for AliasesV1<'data> where
'de: 'data,
impl<'de, 'data> Deserialize<'de> for AliasesV1<'data> where
'de: 'data,
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<AliasesV1<'data>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<AliasesV1<'data>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<'data> Serialize for AliasesV1<'data>
impl<'data> Serialize for AliasesV1<'data>
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl<'a> Yokeable<'a> for AliasesV1<'static>
impl<'a> Yokeable<'a> for AliasesV1<'static>
sourcefn transform(&'a self) -> &'a <AliasesV1<'static> as Yokeable<'a>>::Output
fn transform(&'a self) -> &'a <AliasesV1<'static> as Yokeable<'a>>::Output
This method must cast self
between &'a Self<'static>
and &'a Self<'a>
. Read more
sourcefn transform_owned(self) -> <AliasesV1<'static> as Yokeable<'a>>::Output
fn transform_owned(self) -> <AliasesV1<'static> as Yokeable<'a>>::Output
This method must cast self
between Self<'static>
and Self<'a>
. Read more
impl<'data> StructuralPartialEq for AliasesV1<'data>
Auto Trait Implementations
impl<'data> RefUnwindSafe for AliasesV1<'data>
impl<'data> Send for AliasesV1<'data>
impl<'data> Sync for AliasesV1<'data>
impl<'data> Unpin for AliasesV1<'data>
impl<'data> UnwindSafe for AliasesV1<'data>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Serialize for T where
T: Serialize + ?Sized,
impl<T> Serialize for T where
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more