pub struct CodePointMapData<T> where
    T: TrieValue
{ /* private fields */ }
Expand description

A wrapper around code point map data. It is returned by APIs that return Unicode property data in a map-like form, ex: enumerated property value data keyed by code point. Access its data via the borrowed version, CodePointMapDataBorrowed.

Implementations

Construct a borrowed version of this type that can be queried.

This avoids a potential small underlying cost per API call (like get()) by consolidating it up front.

Example
use icu::properties::{maps, GeneralCategory};
use icu_collections::codepointtrie::CodePointTrie;

let data =
    maps::load_general_category(&icu_testdata::unstable())
        .expect("The data should be valid");

let gc = data.as_borrowed();

assert_eq!(gc.get('木'), GeneralCategory::OtherLetter);  // U+6728
assert_eq!(gc.get('🎃'), GeneralCategory::OtherSymbol);  // U+1F383 JACK-O-LANTERN

Convert this map to a map around another type

Typically useful for type-erasing maps into maps around integers.

Panics

Will panic if T and P are different sizes

Example
use icu::properties::{maps, GeneralCategory};
use icu_collections::codepointtrie::CodePointTrie;

let data =
    maps::load_general_category(&icu_testdata::unstable())
        .expect("The data should be valid");

let gc = data.try_into_converted::<u8>().unwrap();
let gc = gc.as_borrowed();

assert_eq!(gc.get('木'), GeneralCategory::OtherLetter as u8);  // U+6728
assert_eq!(gc.get('🎃'), GeneralCategory::OtherSymbol as u8);  // U+1F383 JACK-O-LANTERN

Construct a new one from loaded data

Typically it is preferable to use getters like load_general_category() instead

Construct a new one an owned CodePointTrie

Convert this type to a CodePointTrie as a borrowed value.

The data backing this is extensible and supports multiple implementations. Currently it is always CodePointTrie; however in the future more backends may be added, and users may select which at data generation time.

This method returns an Option in order to return None when the backing data provider cannot return a CodePointTrie, or cannot do so within the expected constant time constraint.

Convert this type to a CodePointTrie, borrowing if possible, otherwise allocating a new CodePointTrie.

The data backing this is extensible and supports multiple implementations. Currently it is always CodePointTrie; however in the future more backends may be added, and users may select which at data generation time.

The performance of the conversion to this specific return type will vary depending on the data structure that is backing self.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.