Struct icu_properties::CanonicalCombiningClass
source · #[repr(transparent)]pub struct CanonicalCombiningClass(pub u8);
Expand description
Property Canonical_Combining_Class. See UAX #15: https://www.unicode.org/reports/tr15/.
See icu_normalizer::properties::CanonicalCombiningClassMap
for the API
to look up the Canonical_Combining_Class property by scalar value.
Tuple Fields§
§0: u8
Implementations§
source§impl CanonicalCombiningClass
impl CanonicalCombiningClass
pub const NotReordered: CanonicalCombiningClass = _
pub const Overlay: CanonicalCombiningClass = _
pub const HanReading: CanonicalCombiningClass = _
pub const Nukta: CanonicalCombiningClass = _
pub const KanaVoicing: CanonicalCombiningClass = _
pub const Virama: CanonicalCombiningClass = _
pub const CCC10: CanonicalCombiningClass = _
pub const CCC11: CanonicalCombiningClass = _
pub const CCC12: CanonicalCombiningClass = _
pub const CCC13: CanonicalCombiningClass = _
pub const CCC14: CanonicalCombiningClass = _
pub const CCC15: CanonicalCombiningClass = _
pub const CCC16: CanonicalCombiningClass = _
pub const CCC17: CanonicalCombiningClass = _
pub const CCC18: CanonicalCombiningClass = _
pub const CCC19: CanonicalCombiningClass = _
pub const CCC20: CanonicalCombiningClass = _
pub const CCC21: CanonicalCombiningClass = _
pub const CCC22: CanonicalCombiningClass = _
pub const CCC23: CanonicalCombiningClass = _
pub const CCC24: CanonicalCombiningClass = _
pub const CCC25: CanonicalCombiningClass = _
pub const CCC26: CanonicalCombiningClass = _
pub const CCC27: CanonicalCombiningClass = _
pub const CCC28: CanonicalCombiningClass = _
pub const CCC29: CanonicalCombiningClass = _
pub const CCC30: CanonicalCombiningClass = _
pub const CCC31: CanonicalCombiningClass = _
pub const CCC32: CanonicalCombiningClass = _
pub const CCC33: CanonicalCombiningClass = _
pub const CCC34: CanonicalCombiningClass = _
pub const CCC35: CanonicalCombiningClass = _
pub const CCC36: CanonicalCombiningClass = _
pub const CCC84: CanonicalCombiningClass = _
pub const CCC91: CanonicalCombiningClass = _
pub const CCC103: CanonicalCombiningClass = _
pub const CCC107: CanonicalCombiningClass = _
pub const CCC118: CanonicalCombiningClass = _
pub const CCC122: CanonicalCombiningClass = _
pub const CCC129: CanonicalCombiningClass = _
pub const CCC130: CanonicalCombiningClass = _
pub const CCC132: CanonicalCombiningClass = _
pub const CCC133: CanonicalCombiningClass = _
pub const AttachedBelowLeft: CanonicalCombiningClass = _
pub const AttachedBelow: CanonicalCombiningClass = _
pub const AttachedAbove: CanonicalCombiningClass = _
pub const AttachedAboveRight: CanonicalCombiningClass = _
pub const BelowLeft: CanonicalCombiningClass = _
pub const Below: CanonicalCombiningClass = _
pub const BelowRight: CanonicalCombiningClass = _
pub const Left: CanonicalCombiningClass = _
pub const Right: CanonicalCombiningClass = _
pub const AboveLeft: CanonicalCombiningClass = _
pub const Above: CanonicalCombiningClass = _
pub const AboveRight: CanonicalCombiningClass = _
pub const DoubleBelow: CanonicalCombiningClass = _
pub const DoubleAbove: CanonicalCombiningClass = _
pub const IotaSubscript: CanonicalCombiningClass = _
source§impl CanonicalCombiningClass
impl CanonicalCombiningClass
sourcepub fn get_name_to_enum_mapper(
provider: &impl DataProvider<CanonicalCombiningClassNameToValueV1Marker> + ?Sized
) -> Result<PropertyValueNameToEnumMapper<CanonicalCombiningClass>, PropertiesError>
pub fn get_name_to_enum_mapper( provider: &impl DataProvider<CanonicalCombiningClassNameToValueV1Marker> + ?Sized ) -> Result<PropertyValueNameToEnumMapper<CanonicalCombiningClass>, PropertiesError>
Return a PropertyValueNameToEnumMapper
, capable of looking up values
from strings for the Canonical_Combining_Class
enumerated property
Example
use icu::properties::CanonicalCombiningClass;
let lookup = CanonicalCombiningClass::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
// short name for value
assert_eq!(lookup.get_strict("AL"), Some(CanonicalCombiningClass::AboveLeft));
assert_eq!(lookup.get_strict("ATBL"), Some(CanonicalCombiningClass::AttachedBelowLeft));
assert_eq!(lookup.get_strict("CCC10"), Some(CanonicalCombiningClass::CCC10));
// long name for value
assert_eq!(lookup.get_strict("Above_Left"), Some(CanonicalCombiningClass::AboveLeft));
assert_eq!(lookup.get_strict("Attached_Below_Left"), Some(CanonicalCombiningClass::AttachedBelowLeft));
// name has incorrect casing and hyphens
assert_eq!(lookup.get_strict("attached-below-left"), None);
// loose matching of name
assert_eq!(lookup.get_loose("attached-below-left"), Some(CanonicalCombiningClass::AttachedBelowLeft));
// fake property
assert_eq!(lookup.get_strict("Linear_Z"), None);
sourcepub fn get_enum_to_short_name_mapper(
provider: &impl DataProvider<CanonicalCombiningClassValueToShortNameV1Marker> + ?Sized
) -> Result<PropertyEnumToValueNameSparseMapper<CanonicalCombiningClass>, PropertiesError>
pub fn get_enum_to_short_name_mapper( provider: &impl DataProvider<CanonicalCombiningClassValueToShortNameV1Marker> + ?Sized ) -> Result<PropertyEnumToValueNameSparseMapper<CanonicalCombiningClass>, PropertiesError>
Return a PropertyEnumToValueNameSparseMapper
, capable of looking up short names
for values of the Canonical_Combining_Class
enumerated property
Example
use icu::properties::CanonicalCombiningClass;
let lookup = CanonicalCombiningClass::get_enum_to_short_name_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
assert_eq!(lookup.get(CanonicalCombiningClass::AboveLeft), Some("AL"));
assert_eq!(lookup.get(CanonicalCombiningClass::AttachedBelowLeft), Some("ATBL"));
assert_eq!(lookup.get(CanonicalCombiningClass::CCC10), Some("CCC10"));
sourcepub fn get_enum_to_long_name_mapper(
provider: &impl DataProvider<CanonicalCombiningClassValueToLongNameV1Marker> + ?Sized
) -> Result<PropertyEnumToValueNameSparseMapper<CanonicalCombiningClass>, PropertiesError>
pub fn get_enum_to_long_name_mapper( provider: &impl DataProvider<CanonicalCombiningClassValueToLongNameV1Marker> + ?Sized ) -> Result<PropertyEnumToValueNameSparseMapper<CanonicalCombiningClass>, PropertiesError>
Return a PropertyEnumToValueNameSparseMapper
, capable of looking up long names
for values of the Canonical_Combining_Class
enumerated property
Example
use icu::properties::CanonicalCombiningClass;
let lookup = CanonicalCombiningClass::get_enum_to_long_name_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
assert_eq!(lookup.get(CanonicalCombiningClass::AboveLeft), Some("Above_Left"));
assert_eq!(lookup.get(CanonicalCombiningClass::AttachedBelowLeft), Some("Attached_Below_Left"));
assert_eq!(lookup.get(CanonicalCombiningClass::CCC10), Some("CCC10"));
Trait Implementations§
source§impl AsULE for CanonicalCombiningClass
impl AsULE for CanonicalCombiningClass
source§impl Bake for CanonicalCombiningClass
impl Bake for CanonicalCombiningClass
source§fn bake(&self, env: &CrateEnv) -> TokenStream
fn bake(&self, env: &CrateEnv) -> TokenStream
source§impl Clone for CanonicalCombiningClass
impl Clone for CanonicalCombiningClass
source§fn clone(&self) -> CanonicalCombiningClass
fn clone(&self) -> CanonicalCombiningClass
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CanonicalCombiningClass
impl Debug for CanonicalCombiningClass
source§impl<'de> Deserialize<'de> for CanonicalCombiningClass
impl<'de> Deserialize<'de> for CanonicalCombiningClass
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for CanonicalCombiningClass
impl Ord for CanonicalCombiningClass
source§fn cmp(&self, other: &CanonicalCombiningClass) -> Ordering
fn cmp(&self, other: &CanonicalCombiningClass) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<CanonicalCombiningClass> for CanonicalCombiningClass
impl PartialEq<CanonicalCombiningClass> for CanonicalCombiningClass
source§fn eq(&self, other: &CanonicalCombiningClass) -> bool
fn eq(&self, other: &CanonicalCombiningClass) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<CanonicalCombiningClass> for CanonicalCombiningClass
impl PartialOrd<CanonicalCombiningClass> for CanonicalCombiningClass
source§fn partial_cmp(&self, other: &CanonicalCombiningClass) -> Option<Ordering>
fn partial_cmp(&self, other: &CanonicalCombiningClass) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for CanonicalCombiningClass
impl Serialize for CanonicalCombiningClass
source§impl TrieValue for CanonicalCombiningClass
impl TrieValue for CanonicalCombiningClass
§type TryFromU32Error = TryFromIntError
type TryFromU32Error = TryFromIntError
Last-resort fallback value to return if we cannot read data from the trie. Read more
source§fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
A parsing function that is primarily motivated by deserialization contexts.
When the serialization type width is smaller than 32 bits, then it is expected
that the call site will widen the value to a
u32
first.source§impl<'a> ZeroMapKV<'a> for CanonicalCombiningClass
impl<'a> ZeroMapKV<'a> for CanonicalCombiningClass
§type Container = ZeroVec<'a, CanonicalCombiningClass>
type Container = ZeroVec<'a, CanonicalCombiningClass>
The container that can be used with this type:
ZeroVec
or VarZeroVec
.type Slice = ZeroSlice<CanonicalCombiningClass>
§type OwnedType = CanonicalCombiningClass
type OwnedType = CanonicalCombiningClass
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()
Read more