LineInfo

Struct LineInfo 

Source
pub struct LineInfo {
    pub start_byte: usize,
    pub start_char: usize,
    pub end_break: Break,
    pub width: f32,
}
Expand description

Information about a single line of text within a &str.

Info is a minimal amount of information that can be stored for efficient reasoning about blocks of text given some &str. The start and end_break can be used for indexing into the &str, and the width can be used for calculating line Rects, alignment, etc.

Fields§

§start_byte: usize

The index into the &str that represents the first character within the line.

§start_char: usize

The character index of the first character in the line.

§end_break: Break

The index within the &str at which this line breaks into a new line, along with the index at which the following line begins. The variant describes whether the break is caused by a Newline character or a Wrap by the given wrap function.

§width: f32

The total width of all characters within the line.

Implementations§

Source§

impl LineInfo

Source

pub fn end_byte(&self) -> usize

The end of the byte index range for indexing into the slice.

Source

pub fn end_char(&self) -> usize

The end of the index range for indexing into the slice.

Source

pub fn byte_range(self) -> Range<usize>

The index range for indexing (via bytes) into the original str slice.

Source

pub fn char_range(self) -> Range<usize>

The index range for indexing into a char iterator over the original str slice.

Trait Implementations§

Source§

impl Clone for LineInfo

Source§

fn clone(&self) -> LineInfo

Returns a duplicate 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 LineInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LineInfo

Source§

fn eq(&self, other: &LineInfo) -> 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 Copy for LineInfo

Source§

impl StructuralPartialEq for LineInfo

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.