Struct icu::segmenter::provider::RuleBreakDataV2
source · pub struct RuleBreakDataV2<'data> {
pub property_table: CodePointTrie<'data, u8>,
pub break_state_table: ZeroVec<'data, BreakState>,
pub word_type_table: ZeroVec<'data, WordType>,
pub property_count: u8,
pub last_codepoint_property: u8,
pub sot_property: u8,
pub eot_property: u8,
pub complex_property: u8,
}
Expand description
Pre-processed Unicode data in the form of tables to be used for rule-based breaking.
🚧 This code is considered unstable; it may change at any time, in breaking or non-breaking ways,
including in SemVer minor releases. While the serde representation of data structs is guaranteed
to be stable, their Rust representation might not be. Use with caution.
Fields§
§property_table: CodePointTrie<'data, u8>
Property table.
break_state_table: ZeroVec<'data, BreakState>
Break state table.
word_type_table: ZeroVec<'data, WordType>
Word type table. Only used for word segmenter.
property_count: u8
Number of properties; should be the square root of the length of Self::break_state_table
.
last_codepoint_property: u8
The index of the last simple state for Self::break_state_table
. (A simple state has no
left
nor right
in SegmenterProperty).
sot_property: u8
The index of SOT (start of text) state for Self::break_state_table
.
eot_property: u8
The index of EOT (end of text) state Self::break_state_table
.
complex_property: u8
The index of “SA” state (or 127 if the complex language isn’t handled) for
Self::break_state_table
.
Trait Implementations§
source§impl<'data> Bake for RuleBreakDataV2<'data>
impl<'data> Bake for RuleBreakDataV2<'data>
source§fn bake(&self, env: &CrateEnv) -> TokenStream
fn bake(&self, env: &CrateEnv) -> TokenStream
source§impl<'data> BakeSize for RuleBreakDataV2<'data>
impl<'data> BakeSize for RuleBreakDataV2<'data>
source§fn borrows_size(&self) -> usize
fn borrows_size(&self) -> usize
Returns the size
source§impl<'data> Clone for RuleBreakDataV2<'data>
impl<'data> Clone for RuleBreakDataV2<'data>
source§fn clone(&self) -> RuleBreakDataV2<'data>
fn clone(&self) -> RuleBreakDataV2<'data>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'data> Debug for RuleBreakDataV2<'data>
impl<'data> Debug for RuleBreakDataV2<'data>
source§impl<'de, 'data> Deserialize<'de> for RuleBreakDataV2<'data>where
'de: 'data,
impl<'de, 'data> Deserialize<'de> for RuleBreakDataV2<'data>where
'de: 'data,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RuleBreakDataV2<'data>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RuleBreakDataV2<'data>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'data> PartialEq for RuleBreakDataV2<'data>
impl<'data> PartialEq for RuleBreakDataV2<'data>
source§impl<'data> Serialize for RuleBreakDataV2<'data>
impl<'data> Serialize for RuleBreakDataV2<'data>
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,
Serialize this value into the given Serde serializer. Read more
source§impl<'a> Yokeable<'a> for RuleBreakDataV2<'static>
impl<'a> Yokeable<'a> for RuleBreakDataV2<'static>
source§type Output = RuleBreakDataV2<'a>
type Output = RuleBreakDataV2<'a>
This type MUST be
Self
with the 'static
replaced with 'a
, i.e. Self<'a>
source§fn transform_owned(self) -> <RuleBreakDataV2<'static> as Yokeable<'a>>::Output
fn transform_owned(self) -> <RuleBreakDataV2<'static> as Yokeable<'a>>::Output
source§unsafe fn make(
this: <RuleBreakDataV2<'static> as Yokeable<'a>>::Output,
) -> RuleBreakDataV2<'static>
unsafe fn make( this: <RuleBreakDataV2<'static> as Yokeable<'a>>::Output, ) -> RuleBreakDataV2<'static>
This method can be used to cast away
Self<'a>
’s lifetime. Read moresource§fn transform_mut<F>(&'a mut self, f: F)
fn transform_mut<F>(&'a mut self, f: F)
This method must cast
self
between &'a mut Self<'static>
and &'a mut Self<'a>
,
and pass it to f
. Read moresource§impl<'zf, 'zf_inner> ZeroFrom<'zf, RuleBreakDataV2<'zf_inner>> for RuleBreakDataV2<'zf>
impl<'zf, 'zf_inner> ZeroFrom<'zf, RuleBreakDataV2<'zf_inner>> for RuleBreakDataV2<'zf>
source§fn zero_from(this: &'zf RuleBreakDataV2<'zf_inner>) -> RuleBreakDataV2<'zf>
fn zero_from(this: &'zf RuleBreakDataV2<'zf_inner>) -> RuleBreakDataV2<'zf>
Clone the other
C
into a struct that may retain references into C
.impl<'data> StructuralPartialEq for RuleBreakDataV2<'data>
Auto Trait Implementations§
impl<'data> Freeze for RuleBreakDataV2<'data>
impl<'data> RefUnwindSafe for RuleBreakDataV2<'data>
impl<'data> Send for RuleBreakDataV2<'data>
impl<'data> Sync for RuleBreakDataV2<'data>
impl<'data> Unpin for RuleBreakDataV2<'data>
impl<'data> UnwindSafe for RuleBreakDataV2<'data>
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
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>
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 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>
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