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

Formats the value using the given formatter. 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<'a> Yokeable<'a> for CodePointTrieHeader
where Self: Sized,

source§

type Output = CodePointTrieHeader

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

fn transform(&self) -> &Self::Output

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

fn transform_owned(self) -> Self::Output

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

unsafe fn make(this: Self::Output) -> Self

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 Self::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 Self) -> Self

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, 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> 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> ErasedDestructor for T
where T: 'static,