pub struct PropertyValueNameToEnumMapperBorrowed<'a, T> { /* private fields */ }
Expand description
A borrowed wrapper around property value name-to-enum data, returned by
PropertyValueNameToEnumMapper::as_borrowed()
. More efficient to query.
Implementations§
Source§impl<T: TrieValue> PropertyValueNameToEnumMapperBorrowed<'_, T>
impl<T: TrieValue> PropertyValueNameToEnumMapperBorrowed<'_, T>
Sourcepub fn get_strict_u16(&self, name: &str) -> Option<u16>
pub fn get_strict_u16(&self, name: &str) -> Option<u16>
Get the property value as a u16, doing a strict search looking for names that match exactly
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::name_to_enum_mapper();
assert_eq!(
lookup.get_strict_u16("Lu"),
Some(GeneralCategory::UppercaseLetter as u16)
);
assert_eq!(
lookup.get_strict_u16("Uppercase_Letter"),
Some(GeneralCategory::UppercaseLetter as u16)
);
// does not do loose matching
assert_eq!(lookup.get_strict_u16("UppercaseLetter"), None);
Sourcepub fn get_strict(&self, name: &str) -> Option<T>
pub fn get_strict(&self, name: &str) -> Option<T>
Get the property value as a T
, doing a strict search looking for
names that match exactly
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::name_to_enum_mapper();
assert_eq!(
lookup.get_strict("Lu"),
Some(GeneralCategory::UppercaseLetter)
);
assert_eq!(
lookup.get_strict("Uppercase_Letter"),
Some(GeneralCategory::UppercaseLetter)
);
// does not do loose matching
assert_eq!(lookup.get_strict("UppercaseLetter"), None);
Sourcepub fn get_loose_u16(&self, name: &str) -> Option<u16>
pub fn get_loose_u16(&self, name: &str) -> Option<u16>
Get the property value as a u16, doing a loose search looking for names that match case-insensitively, ignoring ASCII hyphens, underscores, and whitespaces.
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::name_to_enum_mapper();
assert_eq!(
lookup.get_loose_u16("Lu"),
Some(GeneralCategory::UppercaseLetter as u16)
);
assert_eq!(
lookup.get_loose_u16("Uppercase_Letter"),
Some(GeneralCategory::UppercaseLetter as u16)
);
// does do loose matching
assert_eq!(
lookup.get_loose_u16("UppercaseLetter"),
Some(GeneralCategory::UppercaseLetter as u16)
);
Sourcepub fn get_loose(&self, name: &str) -> Option<T>
pub fn get_loose(&self, name: &str) -> Option<T>
Get the property value as a T
, doing a loose search looking for
names that match case-insensitively, ignoring ASCII hyphens, underscores, and
whitespaces.
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::name_to_enum_mapper();
assert_eq!(
lookup.get_loose("Lu"),
Some(GeneralCategory::UppercaseLetter)
);
assert_eq!(
lookup.get_loose("Uppercase_Letter"),
Some(GeneralCategory::UppercaseLetter)
);
// does do loose matching
assert_eq!(
lookup.get_loose("UppercaseLetter"),
Some(GeneralCategory::UppercaseLetter)
);
Source§impl<T: TrieValue> PropertyValueNameToEnumMapperBorrowed<'static, T>
impl<T: TrieValue> PropertyValueNameToEnumMapperBorrowed<'static, T>
Sourcepub const fn static_to_owned(self) -> PropertyValueNameToEnumMapper<T>
pub const fn static_to_owned(self) -> PropertyValueNameToEnumMapper<T>
Cheaply converts a [PropertyValueNameToEnumMapperBorrowed<'static>
] into a PropertyValueNameToEnumMapper
.
Note: Due to branching and indirection, using PropertyValueNameToEnumMapper
might inhibit some
compile-time optimizations that are possible with PropertyValueNameToEnumMapperBorrowed
.
Trait Implementations§
Source§impl<'a, T: Clone> Clone for PropertyValueNameToEnumMapperBorrowed<'a, T>
impl<'a, T: Clone> Clone for PropertyValueNameToEnumMapperBorrowed<'a, T>
Source§fn clone(&self) -> PropertyValueNameToEnumMapperBorrowed<'a, T>
fn clone(&self) -> PropertyValueNameToEnumMapperBorrowed<'a, T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more