Struct unicode_bidi::level::Level
source · [−]pub struct Level(_);
Expand description
Embedding Level
Embedding Levels are numbers between 0 and 126 (inclusive), where even values denote a left-to-right (LTR) direction and odd values a right-to-left (RTL) direction.
This struct maintains a valid status for level numbers, meaning that creating a new level, or
mutating an existing level, with the value smaller than 0
(before conversion to u8
) or
larger than 125 results in an Error
.
Implementations
sourceimpl Level
impl Level
sourcepub fn max_implicit_depth() -> u8
pub fn max_implicit_depth() -> u8
Maximum depth of the directional status stack during implicit resolutions.
sourcepub fn max_explicit_depth() -> u8
pub fn max_explicit_depth() -> u8
Maximum depth of the directional status stack during explicit resolutions.
sourcepub fn new(number: u8) -> Result<Level, Error>
pub fn new(number: u8) -> Result<Level, Error>
Create new level, fail if number is larger than max_depth + 1
.
sourcepub fn new_explicit(number: u8) -> Result<Level, Error>
pub fn new_explicit(number: u8) -> Result<Level, Error>
Create new level, fail if number is larger than max_depth
.
sourcepub fn raise(&mut self, amount: u8) -> Result<(), Error>
pub fn raise(&mut self, amount: u8) -> Result<(), Error>
Raise level by amount
, fail if number is larger than max_depth + 1
.
sourcepub fn raise_explicit(&mut self, amount: u8) -> Result<(), Error>
pub fn raise_explicit(&mut self, amount: u8) -> Result<(), Error>
Raise level by amount
, fail if number is larger than max_depth
.
sourcepub fn lower(&mut self, amount: u8) -> Result<(), Error>
pub fn lower(&mut self, amount: u8) -> Result<(), Error>
Lower level by amount
, fail if number goes below zero.
sourcepub fn new_explicit_next_ltr(&self) -> Result<Level, Error>
pub fn new_explicit_next_ltr(&self) -> Result<Level, Error>
The next LTR (even) level greater than this, or fail if number is larger than max_depth
.
sourcepub fn new_explicit_next_rtl(&self) -> Result<Level, Error>
pub fn new_explicit_next_rtl(&self) -> Result<Level, Error>
The next RTL (odd) level greater than this, or fail if number is larger than max_depth
.
sourcepub fn new_lowest_ge_rtl(&self) -> Result<Level, Error>
pub fn new_lowest_ge_rtl(&self) -> Result<Level, Error>
The lowest RTL (odd) level greater than or equal to this, or fail if number is larger than
max_depth + 1
.
sourcepub fn bidi_class(&self) -> BidiClass
pub fn bidi_class(&self) -> BidiClass
Generate a character type based on a level (as specified in steps X10 and N2).
pub fn vec(v: &[u8]) -> Vec<Level>
Trait Implementations
sourceimpl Ord for Level
impl Ord for Level
sourceimpl PartialOrd<Level> for Level
impl PartialOrd<Level> for Level
sourcefn partial_cmp(&self, other: &Level) -> Option<Ordering>
fn partial_cmp(&self, other: &Level) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Level
impl Eq for Level
impl StructuralEq for Level
impl StructuralPartialEq for Level
Auto Trait Implementations
impl RefUnwindSafe for Level
impl Send for Level
impl Sync for Level
impl Unpin for Level
impl UnwindSafe for Level
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more