Enum icu::collections::codepointtrie::TrieType
source · [−]pub enum TrieType {
Fast,
Small,
}
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
Represents the “fast” type code point tries for the
TrieType
trait. The “fast max” limit is set to 0xffff
.
Small
Represents the “small” type code point tries for the
TrieType
trait. The “fast max” limit is set to 0x0fff
.
Trait Implementations
sourceimpl Bake for TrieType
impl Bake for TrieType
sourcefn bake(&self, env: &CrateEnv) -> TokenStream
fn bake(&self, env: &CrateEnv) -> TokenStream
Returns a TokenStream
that would evaluate to self
. Read more
sourceimpl<'de> Deserialize<'de> for TrieType
impl<'de> Deserialize<'de> for TrieType
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Serialize for TrieType
impl Serialize for TrieType
sourcefn 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,
Serialize this value into the given Serde serializer. Read more
impl Copy for TrieType
impl Eq for TrieType
impl StructuralEq for TrieType
impl StructuralPartialEq for TrieType
Auto Trait Implementations
impl RefUnwindSafe for TrieType
impl Send for TrieType
impl Sync for TrieType
impl Unpin for TrieType
impl UnwindSafe for TrieType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Serialize for T where
T: Serialize + ?Sized,
impl<T> Serialize for T where
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more