String View
Work with views into string slices. Safely extend, reduce without losing parent string size.
Use in-place modifications to speed up your code.
Example:
let program_text = r#"
fn main() {
let text = "Hello World";
}
"#;
use StrExt;
let mut view = program_text.view_part;
view.extend_while;
view.extend_while;
view.reduce_left_while;
assert_eq!;
view.try_extend.unwrap;
view.extend_while;
view.try_extend.unwrap;
assert_eq!;
view.extend_while;
view.shrink_to_end;
view.extend_while;
view.reduce_while;
assert_eq!;
view.reduce_while;
view.reduce;
view.shrink_to_end;
view.extend_left_while;
assert_eq!;