pub struct PropertyValueNameToEnumMapperBorrowed<'a, T> {
map: &'a PropertyValueNameToEnumMapV1<'a>,
markers: PhantomData<fn() -> T>,
}
Expand description
A borrowed wrapper around property value name-to-enum data, returned by
PropertyValueNameToEnumMapper::as_borrowed()
. More efficient to query.
Fields§
§map: &'a PropertyValueNameToEnumMapV1<'a>
§markers: PhantomData<fn() -> T>
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