pub struct PropertyNamesLongBorrowed<'a, T: NamedEnumeratedProperty> { /* private fields */ }
Expand description
A borrowed wrapper around property value name-to-enum data, returned by
PropertyNamesLong::as_borrowed()
. More efficient to query.
Implementations§
Source§impl<'a, T: NamedEnumeratedProperty> PropertyNamesLongBorrowed<'a, T>
impl<'a, T: NamedEnumeratedProperty> PropertyNamesLongBorrowed<'a, T>
Sourcepub fn get(self, property: T) -> Option<&'a str>
pub fn get(self, property: T) -> Option<&'a str>
Get the property name given a value
§Example
use icu::properties::props::CanonicalCombiningClass;
use icu::properties::PropertyNamesLong;
let lookup = PropertyNamesLong::<CanonicalCombiningClass>::new();
assert_eq!(
lookup.get(CanonicalCombiningClass::KanaVoicing),
Some("Kana_Voicing")
);
assert_eq!(
lookup.get(CanonicalCombiningClass::AboveLeft),
Some("Above_Left")
);
Source§impl<T: NamedEnumeratedProperty> PropertyNamesLongBorrowed<'static, T>
impl<T: NamedEnumeratedProperty> PropertyNamesLongBorrowed<'static, T>
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new instance of PropertyNamesLongBorrowed<T>
.
✨ Enabled with the compiled_data
Cargo feature.
Sourcepub fn static_to_owned(self) -> PropertyNamesLong<T>
pub fn static_to_owned(self) -> PropertyNamesLong<T>
Cheaply converts a PropertyNamesLongBorrowed<'static>
into a PropertyNamesLong
.
Note: Due to branching and indirection, using PropertyNamesLong
might inhibit some
compile-time optimizations that are possible with PropertyNamesLongBorrowed
.
This is currently not const
unlike other static_to_owned()
functions since it needs
const traits to do that safely
Trait Implementations§
Source§impl<T: NamedEnumeratedProperty> Clone for PropertyNamesLongBorrowed<'_, T>
impl<T: NamedEnumeratedProperty> Clone for PropertyNamesLongBorrowed<'_, T>
Source§impl<'a, T: Debug + NamedEnumeratedProperty> Debug for PropertyNamesLongBorrowed<'a, T>where
T::DataStructLongBorrowed<'a>: Debug,
impl<'a, T: Debug + NamedEnumeratedProperty> Debug for PropertyNamesLongBorrowed<'a, T>where
T::DataStructLongBorrowed<'a>: Debug,
Source§impl<T: NamedEnumeratedProperty> Default for PropertyNamesLongBorrowed<'static, T>
impl<T: NamedEnumeratedProperty> Default for PropertyNamesLongBorrowed<'static, T>
impl<T: NamedEnumeratedProperty> Copy for PropertyNamesLongBorrowed<'_, T>
Auto Trait Implementations§
impl<'a, T> Freeze for PropertyNamesLongBorrowed<'a, T>
impl<'a, T> RefUnwindSafe for PropertyNamesLongBorrowed<'a, T>
impl<'a, T> Send for PropertyNamesLongBorrowed<'a, T>
impl<'a, T> Sync for PropertyNamesLongBorrowed<'a, T>
impl<'a, T> Unpin for PropertyNamesLongBorrowed<'a, T>
impl<'a, T> UnwindSafe for PropertyNamesLongBorrowed<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes