Enum icu::collections::codepointtrie::TrieType
source · 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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