Struct icu_segmenter::provider::RuleBreakDataV1
source · pub struct RuleBreakDataV1<'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
.
Implementations§
source§impl RuleBreakDataV1<'_>
impl RuleBreakDataV1<'_>
fn get_linebreak_property_utf32_with_rule( &self, codepoint: u32, strictness: LineBreakStrictness, word_option: LineBreakWordOption, ) -> u8
fn get_break_state_from_table(&self, left: u8, right: u8) -> BreakState
fn use_complex_breaking_utf32(&self, codepoint: u32) -> bool
Trait Implementations§
source§impl<'data> Clone for RuleBreakDataV1<'data>
impl<'data> Clone for RuleBreakDataV1<'data>
source§fn clone(&self) -> RuleBreakDataV1<'data>
fn clone(&self) -> RuleBreakDataV1<'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 RuleBreakDataV1<'data>
impl<'data> Debug for RuleBreakDataV1<'data>
source§impl<'data> PartialEq for RuleBreakDataV1<'data>
impl<'data> PartialEq for RuleBreakDataV1<'data>
source§impl<'a> Yokeable<'a> for RuleBreakDataV1<'static>
impl<'a> Yokeable<'a> for RuleBreakDataV1<'static>
source§type Output = RuleBreakDataV1<'a>
type Output = RuleBreakDataV1<'a>
This type MUST be
Self
with the 'static
replaced with 'a
, i.e. Self<'a>
source§fn transform_owned(self) -> Self::Output
fn transform_owned(self) -> Self::Output
source§impl<'zf, 'zf_inner> ZeroFrom<'zf, RuleBreakDataV1<'zf_inner>> for RuleBreakDataV1<'zf>
impl<'zf, 'zf_inner> ZeroFrom<'zf, RuleBreakDataV1<'zf_inner>> for RuleBreakDataV1<'zf>
source§fn zero_from(this: &'zf RuleBreakDataV1<'zf_inner>) -> Self
fn zero_from(this: &'zf RuleBreakDataV1<'zf_inner>) -> Self
Clone the other
C
into a struct that may retain references into C
.impl<'data> StructuralPartialEq for RuleBreakDataV1<'data>
Auto Trait Implementations§
impl<'data> Freeze for RuleBreakDataV1<'data>
impl<'data> RefUnwindSafe for RuleBreakDataV1<'data>
impl<'data> Send for RuleBreakDataV1<'data>
impl<'data> Sync for RuleBreakDataV1<'data>
impl<'data> Unpin for RuleBreakDataV1<'data>
impl<'data> UnwindSafe for RuleBreakDataV1<'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
)