owned-chars
This crate provides an extension trait for String with two methods, into_chars
and into_char_indices
. These methods parallel String::chars
and String::char_indices
, but the iterators they create consume the String instead of borrowing it.
Release notes
- 0.3.0
- Rewrite to use
delegate
crate
- Fix/breaking change:
OwnedChars::as_str
works the same way as std::Chars::as_str
Example
use owned_chars::OwnedChars;
fn main() {
let mut chars = OwnedChars::from_string("0123456789ABCDEF".to_owned());
let next_is_digit = |chars: &mut OwnedChars| chars.next().map_or(false, |c| c.is_numeric());
assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars)); assert!(next_is_digit(&mut chars));
assert!(!next_is_digit(&mut chars)); assert!(!next_is_digit(&mut chars)); assert!(!next_is_digit(&mut chars)); assert!(!next_is_digit(&mut chars)); assert!(!next_is_digit(&mut chars)); assert!(!next_is_digit(&mut chars)); }