Function unicode_reverse::reverse_grapheme_clusters_in_place
[−]
[src]
pub fn reverse_grapheme_clusters_in_place(s: &mut str)
Reverse a Unicode string in-place without allocating.
This function reverses a string slice in-place without allocating any memory on the heap. It correctly handles multi-byte UTF-8 sequences and grapheme clusters, including combining marks and astral characters such as Emoji.
See the crate-level documentation for more details.
Example
extern crate unicode_reverse; use unicode_reverse::reverse_grapheme_clusters_in_place; fn main() { let mut x = "man\u{0303}ana".to_string(); println!("{}", x); // prints "mañana" reverse_grapheme_clusters_in_place(&mut x); println!("{}", x); // prints "anañam" }