pub struct CodePointMapDataBorrowed<'a, T>where
    T: TrieValue,{ /* private fields */ }Expand description
A borrowed wrapper around code point set data, returned by
CodePointSetData::as_borrowed(). More efficient to query.
Implementations§
Source§impl<'a, T> CodePointMapDataBorrowed<'a, T>where
    T: TrieValue,
 
impl<'a, T> CodePointMapDataBorrowed<'a, T>where
    T: TrieValue,
Sourcepub fn get(self, ch: char) -> T
 
pub fn get(self, ch: char) -> T
Get the value this map has associated with code point ch
§Example
use icu::properties::CodePointMapData;
use icu::properties::props::GeneralCategory;
let gc = CodePointMapData::<GeneralCategory>::new();
assert_eq!(gc.get('木'), GeneralCategory::OtherLetter);  // U+6728
assert_eq!(gc.get('🎃'), GeneralCategory::OtherSymbol);  // U+1F383 JACK-O-LANTERNSourcepub fn get_set_for_value(self, value: T) -> CodePointSetData
 
pub fn get_set_for_value(self, value: T) -> CodePointSetData
Get a CodePointSetData for all elements corresponding to a particular value
§Example
use icu::properties::props::GeneralCategory;
use icu::properties::CodePointMapData;
let gc = CodePointMapData::<GeneralCategory>::new();
let other_letter_set_data =
    gc.get_set_for_value(GeneralCategory::OtherLetter);
let other_letter_set = other_letter_set_data.as_borrowed();
assert!(other_letter_set.contains('木')); // U+6728
assert!(!other_letter_set.contains('🎃')); // U+1F383 JACK-O-LANTERNSourcepub fn iter_ranges(self) -> impl Iterator<Item = CodePointMapRange<T>> + 'a
 
pub fn iter_ranges(self) -> impl Iterator<Item = CodePointMapRange<T>> + 'a
Yields an Iterator returning ranges of consecutive code points that
share the same value in the CodePointMapData.
§Examples
use icu::properties::props::GeneralCategory;
use icu::properties::CodePointMapData;
let gc = CodePointMapData::<GeneralCategory>::new();
let mut ranges = gc.iter_ranges();
let next = ranges.next().unwrap();
assert_eq!(next.range, 0..=31);
assert_eq!(next.value, GeneralCategory::Control);
let next = ranges.next().unwrap();
assert_eq!(next.range, 32..=32);
assert_eq!(next.value, GeneralCategory::SpaceSeparator);Sourcepub fn iter_ranges_for_value(
    self,
    val: T,
) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
 
pub fn iter_ranges_for_value( self, val: T, ) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
Yields an Iterator returning ranges of consecutive code points that
share the same value v in the CodePointMapData.
§Examples
use icu::properties::props::GeneralCategory;
use icu::properties::CodePointMapData;
let gc = CodePointMapData::<GeneralCategory>::new();
let mut ranges = gc.iter_ranges_for_value(GeneralCategory::UppercaseLetter);
assert_eq!(ranges.next().unwrap(), 'A' as u32..='Z' as u32);
assert_eq!(ranges.next().unwrap(), 'À' as u32..='Ö' as u32);
assert_eq!(ranges.next().unwrap(), 'Ø' as u32..='Þ' as u32);Sourcepub fn iter_ranges_for_value_complemented(
    self,
    val: T,
) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
 
pub fn iter_ranges_for_value_complemented( self, val: T, ) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
Yields an Iterator returning ranges of consecutive code points that
do not have the value v in the CodePointMapData.
Source§impl CodePointMapDataBorrowed<'_, GeneralCategory>
 
impl CodePointMapDataBorrowed<'_, GeneralCategory>
Sourcepub fn get_set_for_value_group(
    self,
    value: GeneralCategoryGroup,
) -> CodePointSetData
 
pub fn get_set_for_value_group( self, value: GeneralCategoryGroup, ) -> CodePointSetData
Get a CodePointSetData for all elements corresponding to a particular value group
§Example
use icu::properties::props::{GeneralCategory, GeneralCategoryGroup};
use icu::properties::CodePointMapData;
let gc = CodePointMapData::<GeneralCategory>::new();
let other_letter_set_data =
    gc.get_set_for_value_group(GeneralCategoryGroup::OtherLetter);
let other_letter_set = other_letter_set_data.as_borrowed();
assert!(other_letter_set.contains('木')); // U+6728
assert!(!other_letter_set.contains('🎃')); // U+1F383 JACK-O-LANTERNSource§impl<T> CodePointMapDataBorrowed<'static, T>where
    T: TrieValue,
 
impl<T> CodePointMapDataBorrowed<'static, T>where
    T: TrieValue,
Sourcepub const fn new() -> CodePointMapDataBorrowed<'static, T>where
    T: EnumeratedProperty,
 
pub const fn new() -> CodePointMapDataBorrowed<'static, T>where
    T: EnumeratedProperty,
Creates a new CodePointMapDataBorrowed for a EnumeratedProperty.
See the documentation on EnumeratedProperty implementations for details.
✨ Enabled with the compiled_data Cargo feature.
Sourcepub const fn static_to_owned(self) -> CodePointMapData<T>
 
pub const fn static_to_owned(self) -> CodePointMapData<T>
Cheaply converts a [CodePointMapDataBorrowed<'static>] into a CodePointMapData.
Note: Due to branching and indirection, using CodePointMapData might inhibit some
compile-time optimizations that are possible with CodePointMapDataBorrowed.
Source§impl<'a> CodePointMapDataBorrowed<'a, GeneralCategory>
 
impl<'a> CodePointMapDataBorrowed<'a, GeneralCategory>
Sourcepub fn iter_ranges_for_group(
    self,
    group: GeneralCategoryGroup,
) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
 
pub fn iter_ranges_for_group( self, group: GeneralCategoryGroup, ) -> impl Iterator<Item = RangeInclusive<u32>> + 'a
Yields an Iterator returning ranges of consecutive code points that
have a General_Category value belonging to the specified GeneralCategoryGroup
§Examples
use icu::properties::props::{GeneralCategory, GeneralCategoryGroup};
use icu::properties::CodePointMapData;
let gc = CodePointMapData::<GeneralCategory>::new();
let mut ranges = gc.iter_ranges_for_group(GeneralCategoryGroup::Letter);
assert_eq!(ranges.next().unwrap(), 'A' as u32..='Z' as u32);
assert_eq!(ranges.next().unwrap(), 'a' as u32..='z' as u32);
assert_eq!(ranges.next().unwrap(), 'ª' as u32..='ª' as u32);
assert_eq!(ranges.next().unwrap(), 'µ' as u32..='µ' as u32);
assert_eq!(ranges.next().unwrap(), 'º' as u32..='º' as u32);
assert_eq!(ranges.next().unwrap(), 'À' as u32..='Ö' as u32);
assert_eq!(ranges.next().unwrap(), 'Ø' as u32..='ö' as u32);Trait Implementations§
Source§impl<'a, T> Clone for CodePointMapDataBorrowed<'a, T>
 
impl<'a, T> Clone for CodePointMapDataBorrowed<'a, T>
Source§fn clone(&self) -> CodePointMapDataBorrowed<'a, T>
 
fn clone(&self) -> CodePointMapDataBorrowed<'a, T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a, T> Debug for CodePointMapDataBorrowed<'a, T>
 
impl<'a, T> Debug for CodePointMapDataBorrowed<'a, T>
Source§impl<T> Default for CodePointMapDataBorrowed<'static, T>where
    T: EnumeratedProperty,
 
impl<T> Default for CodePointMapDataBorrowed<'static, T>where
    T: EnumeratedProperty,
Source§fn default() -> CodePointMapDataBorrowed<'static, T>
 
fn default() -> CodePointMapDataBorrowed<'static, T>
impl<'a, T> Copy for CodePointMapDataBorrowed<'a, T>
Auto Trait Implementations§
impl<'a, T> Freeze for CodePointMapDataBorrowed<'a, T>
impl<'a, T> RefUnwindSafe for CodePointMapDataBorrowed<'a, T>
impl<'a, T> Send for CodePointMapDataBorrowed<'a, T>
impl<'a, T> Sync for CodePointMapDataBorrowed<'a, T>
impl<'a, T> Unpin for CodePointMapDataBorrowed<'a, T>
impl<'a, T> UnwindSafe for CodePointMapDataBorrowed<'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,
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more