Struct icu::collections::codepointtrie::CodePointTrieHeader

source ·
pub struct CodePointTrieHeader {
    pub high_start: u32,
    pub shifted12_high_start: u16,
    pub index3_null_offset: u16,
    pub data_null_offset: u32,
    pub null_value: u32,
    pub trie_type: TrieType,
}
Expand description

This struct contains the fixed-length header fields of a CodePointTrie.

Fields§

§high_start: u32

The code point of the start of the last range of the trie. A range is defined as a partition of the code point space such that the value in this trie associated with all code points of the same range is the same.

For the property value data for many Unicode properties, often times, high_start is U+10000 or lower. In such cases, not reserving space in the index array for duplicate values is a large savings. The “highValue” associated with the high_start range is stored at the second-to-last position of the data array. (See impl_const::HIGH_VALUE_NEG_DATA_OFFSET.)

§shifted12_high_start: u16

A version of the high_start value that is right-shifted 12 spaces, but is rounded up to a multiple 0x1000 for easy testing from UTF-8 lead bytes.

§index3_null_offset: u16

Offset for the null block in the “index-3” table of the index array. Set to an impossibly high value (e.g., 0xffff) if there is no dedicated index-3 null block.

§data_null_offset: u32

Internal data null block offset, not shifted. Set to an impossibly high value (e.g., 0xfffff) if there is no dedicated data null block.

§null_value: u32

The value stored in the trie that represents a null value being associated to a code point.

§trie_type: TrieType

The enum value representing the type of trie, where trie type is as it is defined in ICU (ex: Fast, Small).

Trait Implementations§

source§

impl Bake for CodePointTrieHeader

source§

fn bake(&self, env: &CrateEnv) -> TokenStream

Returns a TokenStream that would evaluate to self. Read more
source§

impl BakeSize for CodePointTrieHeader

source§

fn borrows_size(&self) -> usize

Returns the size
source§

impl Clone for CodePointTrieHeader

source§

fn clone(&self) -> CodePointTrieHeader

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CodePointTrieHeader

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for CodePointTrieHeader

source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<CodePointTrieHeader, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for CodePointTrieHeader

source§

fn eq(&self, other: &CodePointTrieHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for CodePointTrieHeader

source§

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
source§

impl TryFrom<&CodePointTrieToml> for CodePointTrieHeader

source§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( cpt_data: &CodePointTrieToml, ) -> Result<CodePointTrieHeader, <CodePointTrieHeader as TryFrom<&CodePointTrieToml>>::Error>

Performs the conversion.
source§

impl<'a> Yokeable<'a> for CodePointTrieHeader

source§

type Output = CodePointTrieHeader

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
source§

fn transform(&self) -> &<CodePointTrieHeader as Yokeable<'a>>::Output

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
source§

fn transform_owned(self) -> <CodePointTrieHeader as Yokeable<'a>>::Output

This method must cast self between Self<'static> and Self<'a>. Read more
source§

unsafe fn make( this: <CodePointTrieHeader as Yokeable<'a>>::Output, ) -> CodePointTrieHeader

This method can be used to cast away Self<'a>’s lifetime. Read more
source§

fn transform_mut<F>(&'a mut self, f: F)
where F: 'static + for<'b> FnOnce(&'b mut <CodePointTrieHeader as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>, and pass it to f. Read more
source§

impl<'zf> ZeroFrom<'zf, CodePointTrieHeader> for CodePointTrieHeader

source§

fn zero_from(this: &'zf CodePointTrieHeader) -> CodePointTrieHeader

Clone the other C into a struct that may retain references into C.
source§

impl Copy for CodePointTrieHeader

source§

impl Eq for CodePointTrieHeader

source§

impl StructuralPartialEq for CodePointTrieHeader

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> GetField<T> for T
where T: Copy,

source§

fn get_field(&self) -> T

Returns the value of this trait’s field T.
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T
where T: Send + Sync,