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
impl Bake for CodePointTrieHeader
source§fn bake(&self, env: &CrateEnv) -> TokenStream
fn bake(&self, env: &CrateEnv) -> TokenStream
source§impl BakeSize for CodePointTrieHeader
impl BakeSize for CodePointTrieHeader
source§fn borrows_size(&self) -> usize
fn borrows_size(&self) -> usize
source§impl Clone for CodePointTrieHeader
impl Clone for CodePointTrieHeader
source§fn clone(&self) -> CodePointTrieHeader
fn clone(&self) -> CodePointTrieHeader
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CodePointTrieHeader
impl Debug for CodePointTrieHeader
source§impl<'de> Deserialize<'de> for CodePointTrieHeader
impl<'de> Deserialize<'de> for CodePointTrieHeader
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CodePointTrieHeader, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CodePointTrieHeader, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for CodePointTrieHeader
impl PartialEq for CodePointTrieHeader
source§impl Serialize for CodePointTrieHeader
impl Serialize for CodePointTrieHeader
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,
source§impl TryFrom<&CodePointTrieToml> for CodePointTrieHeader
impl TryFrom<&CodePointTrieToml> for CodePointTrieHeader
source§fn try_from(
cpt_data: &CodePointTrieToml,
) -> Result<CodePointTrieHeader, <CodePointTrieHeader as TryFrom<&CodePointTrieToml>>::Error>
fn try_from( cpt_data: &CodePointTrieToml, ) -> Result<CodePointTrieHeader, <CodePointTrieHeader as TryFrom<&CodePointTrieToml>>::Error>
source§impl<'a> Yokeable<'a> for CodePointTrieHeaderwhere
CodePointTrieHeader: Sized,
impl<'a> Yokeable<'a> for CodePointTrieHeaderwhere
CodePointTrieHeader: Sized,
source§type Output = CodePointTrieHeader
type Output = CodePointTrieHeader
Self
with the 'static
replaced with 'a
, i.e. Self<'a>
source§fn transform_owned(self) -> <CodePointTrieHeader as Yokeable<'a>>::Output
fn transform_owned(self) -> <CodePointTrieHeader as Yokeable<'a>>::Output
source§unsafe fn make(
this: <CodePointTrieHeader as Yokeable<'a>>::Output,
) -> CodePointTrieHeader
unsafe fn make( this: <CodePointTrieHeader as Yokeable<'a>>::Output, ) -> CodePointTrieHeader
Self<'a>
’s lifetime. Read moresource§fn transform_mut<F>(&'a mut self, f: F)
fn transform_mut<F>(&'a mut self, f: F)
self
between &'a mut Self<'static>
and &'a mut Self<'a>
,
and pass it to f
. Read moresource§impl<'zf> ZeroFrom<'zf, CodePointTrieHeader> for CodePointTrieHeader
impl<'zf> ZeroFrom<'zf, CodePointTrieHeader> for CodePointTrieHeader
source§fn zero_from(this: &'zf CodePointTrieHeader) -> CodePointTrieHeader
fn zero_from(this: &'zf CodePointTrieHeader) -> CodePointTrieHeader
C
into a struct that may retain references into C
.impl Copy for CodePointTrieHeader
impl Eq for CodePointTrieHeader
impl StructuralPartialEq for CodePointTrieHeader
Auto Trait Implementations§
impl Freeze for CodePointTrieHeader
impl RefUnwindSafe for CodePointTrieHeader
impl Send for CodePointTrieHeader
impl Sync for CodePointTrieHeader
impl Unpin for CodePointTrieHeader
impl UnwindSafe for CodePointTrieHeader
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