Skip to main content

StringExt

Trait StringExt 

Source
pub trait StringExt: Sealed {
    // Required methods
    fn to_box(self) -> Box<str>;
    fn to_rc(self) -> Rc<str>;
    fn to_arc(self) -> Arc<str>;
    fn new_counter(length: usize, separator: char) -> String ⓘ;
}
Available on crate feature alloc only.
Expand description

🧶 Extension trait providing additional methods for String.

Required Methods§

Source

fn to_box(self) -> Box<str>

Converts the string into a Box<str>.

Allows single ownership with exact allocation, for when you don’t need to clone or share.

Source

fn to_rc(self) -> Rc<str>

Converts the string into an Rc<str>.

Allows shared ownership with reference counting, reducing memory duplication in single-threaded scenarios.

Source

fn to_arc(self) -> Arc<str>

Converts the string into an Arc<str>.

When you need shared ownership of a string slice across multiple threads.

Source

fn new_counter(length: usize, separator: char) -> String ⓘ

Returns a String where you always know each character’s position.

A counter string is a graduated string of arbitrary length, with a separator positioned after the immediately preceding number.

§Examples
use devela::StringExt;

assert_eq!("2*4*6*8*11*14*", String::new_counter(14, '*'));
assert_eq!("_3_5_7_9_12_15_", String::new_counter(15, '_'));
§Panics

Panics if !separator.is_ascii().

§Features

Makes use of the unsafe_str feature if enabled.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§