pub enum TrieType {
    Fast = 0,
    Small = 1,
}Expand description
The type of trie represents whether the trie has an optimization that would make it smaller or faster.
Regarding performance, a trie being a small or fast type affects the number of array lookups
needed for code points in the range [0x1000, 0x10000). In this range, Small tries use 4 array lookups,
while Fast tries use 2 array lookups.
Code points before the interval (in [0, 0x1000)) will always use 2 array lookups.
Code points after the interval (in [0x10000, 0x10FFFF]) will always use 4 array lookups.
Regarding size, Fast type tries are larger than Small type tries because the minimum size of
the index array is larger. The minimum size is the “fast max” limit, which is the limit of the range
of code points with 2 array lookups.
See the document Unicode Properties and Code Point Tries in ICU4X.
Also see UCPTrieType in ICU4C.
Variants§
Fast = 0
Represents the “fast” type code point tries for the
TrieType trait. The “fast max” limit is set to 0xffff.
Small = 1
Represents the “small” type code point tries for the
TrieType trait. The “fast max” limit is set to 0x0fff.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TrieType
 
impl<'de> Deserialize<'de> for TrieType
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<TrieType, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<TrieType, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Source§impl Serialize for TrieType
 
impl Serialize for TrieType
Source§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
impl Copy for TrieType
impl Eq for TrieType
impl StructuralPartialEq for TrieType
Auto Trait Implementations§
impl Freeze for TrieType
impl RefUnwindSafe for TrieType
impl Send for TrieType
impl Sync for TrieType
impl Unpin for TrieType
impl UnwindSafe for TrieType
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