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> PropertyValueNameToEnumMapperBorrowed<'_, T>where
T: TrieValue,
impl<T> PropertyValueNameToEnumMapperBorrowed<'_, T>where T: TrieValue,
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::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
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::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
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::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
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::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
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)
);