pub struct TextString { /* private fields */ }Expand description
Single line text-store.
Implementations§
Source§impl TextString
impl TextString
Sourcepub fn new() -> TextString
pub fn new() -> TextString
New empty.
Sourcepub fn new_text(t: &str) -> TextString
pub fn new_text(t: &str) -> TextString
New from string.
Sourcepub fn new_string(t: String) -> TextString
pub fn new_string(t: String) -> TextString
New from string.
Trait Implementations§
Source§impl Clone for TextString
impl Clone for TextString
Source§fn clone(&self) -> TextString
fn clone(&self) -> TextString
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TextString
impl Debug for TextString
Source§impl Default for TextString
impl Default for TextString
Source§fn default() -> TextString
fn default() -> TextString
Source§impl TextStore for TextString
impl TextStore for TextString
Source§fn is_multi_line(&self) -> bool
fn is_multi_line(&self) -> bool
Can store multi-line content?
Source§fn set_string(&mut self, t: &str)
fn set_string(&mut self, t: &str)
Set content as string.
Source§fn byte_range_at(&self, pos: TextPosition) -> Result<Range<usize>, TextError>
fn byte_range_at(&self, pos: TextPosition) -> Result<Range<usize>, TextError>
Grapheme position to byte position. This is the (start,end) position of the single grapheme after pos.
- pos must be a valid position: row <= len_lines, col <= line_width of the row.
Source§fn byte_range(&self, range: TextRange) -> Result<Range<usize>, TextError>
fn byte_range(&self, range: TextRange) -> Result<Range<usize>, TextError>
Grapheme range to byte range.
Allows the special text-position (0,1) as a substitute for EOL.
- range must be a valid range. row <= len_lines, col <= line_width of the row.
Source§fn byte_to_pos(&self, byte_pos: usize) -> Result<TextPosition, TextError>
fn byte_to_pos(&self, byte_pos: usize) -> Result<TextPosition, TextError>
Byte position to grapheme position. Returns the position that contains the given byte index.
- byte must <= byte-len.
Source§fn bytes_to_range(&self, bytes: Range<usize>) -> Result<TextRange, TextError>
fn bytes_to_range(&self, bytes: Range<usize>) -> Result<TextRange, TextError>
Byte range to grapheme range.
- byte must <= byte-len.
Source§fn str_slice(&self, range: TextRange) -> Result<Cow<'_, str>, TextError>
fn str_slice(&self, range: TextRange) -> Result<Cow<'_, str>, TextError>
A range of the text as Cow<str>.
- range must be a valid range. row <= len_lines, col <= line_width of the row.
- pos must be inside of range.
Source§fn str_slice_byte(&self, range: Range<usize>) -> Result<Cow<'_, str>, TextError>
fn str_slice_byte(&self, range: Range<usize>) -> Result<Cow<'_, str>, TextError>
A range of the text as Cow<str>.
- range must be valid
Source§fn line_at(&self, row: u32) -> Result<Cow<'_, str>, TextError>
fn line_at(&self, row: u32) -> Result<Cow<'_, str>, TextError>
Line as str.
- row must be <= len_lines
Source§fn lines_at(
&self,
row: u32,
) -> Result<impl Iterator<Item = Cow<'_, str>>, TextError>
fn lines_at( &self, row: u32, ) -> Result<impl Iterator<Item = Cow<'_, str>>, TextError>
Iterate over text-lines, starting at line-offset.
- row must be <= len_lines
Source§fn line_graphemes(
&self,
row: u32,
) -> Result<<TextString as TextStore>::GraphemeIter<'_>, TextError>
fn line_graphemes( &self, row: u32, ) -> Result<<TextString as TextStore>::GraphemeIter<'_>, TextError>
Return a line as an iterator over the graphemes. This contains the ‘\n’ at the end.
- row must be <= len_lines
Source§fn line_width(&self, row: u32) -> Result<u32, TextError>
fn line_width(&self, row: u32) -> Result<u32, TextError>
Line width of row as grapheme count. Excludes the terminating ‘\n’.
- row must be <= len_lines
Source§fn insert_char(
&mut self,
pos: TextPosition,
c: char,
) -> Result<(TextRange, Range<usize>), TextError>
fn insert_char( &mut self, pos: TextPosition, c: char, ) -> Result<(TextRange, Range<usize>), TextError>
Insert a char at the given position.
- range must be a valid range. row <= len_lines, col <= line_width of the row.
Source§fn insert_str(
&mut self,
pos: TextPosition,
t: &str,
) -> Result<(TextRange, Range<usize>), TextError>
fn insert_str( &mut self, pos: TextPosition, t: &str, ) -> Result<(TextRange, Range<usize>), TextError>
Insert a str at position.
Source§fn remove(
&mut self,
range: TextRange,
) -> Result<(String, (TextRange, Range<usize>)), TextError>
fn remove( &mut self, range: TextRange, ) -> Result<(String, (TextRange, Range<usize>)), TextError>
Remove a range.
Source§fn insert_b(&mut self, byte_pos: usize, t: &str) -> Result<(), TextError>
fn insert_b(&mut self, byte_pos: usize, t: &str) -> Result<(), TextError>
Insert a string at the given byte index.
Source§fn remove_b(&mut self, byte_range: Range<usize>) -> Result<(), TextError>
fn remove_b(&mut self, byte_range: Range<usize>) -> Result<(), TextError>
Remove the given byte-range.
type GraphemeIter<'a> = StrGraphemes<'a>
Source§fn has_final_newline(&self) -> bool
fn has_final_newline(&self) -> bool
Source§fn cache_validity(&self) -> Option<usize>
fn cache_validity(&self) -> Option<usize>
Source§fn graphemes_byte(
&self,
range: Range<usize>,
pos: usize,
) -> Result<<TextString as TextStore>::GraphemeIter<'_>, TextError>
fn graphemes_byte( &self, range: Range<usize>, pos: usize, ) -> Result<<TextString as TextStore>::GraphemeIter<'_>, TextError>
Auto Trait Implementations§
impl !Freeze for TextString
impl !RefUnwindSafe for TextString
impl Send for TextString
impl !Sync for TextString
impl Unpin for TextString
impl UnwindSafe for TextString
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more