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.
delegate
crateOwnedChars::as_str
works the same way as std::Chars::as_str
```rust use owned_chars::OwnedChars;
fn main() { let mut chars = OwnedChars::fromstring("0123456789ABCDEF".toowned()); let nextisdigit = |chars: &mut OwnedChars| chars.next().mapor(false, |c| c.isnumeric());
assert!(next_is_digit(&mut chars)); // 0
assert!(next_is_digit(&mut chars)); // 1
assert!(next_is_digit(&mut chars)); // 2
assert!(next_is_digit(&mut chars)); // 3
assert!(next_is_digit(&mut chars)); // 4
assert!(next_is_digit(&mut chars)); // 5
assert!(next_is_digit(&mut chars)); // 6
assert!(next_is_digit(&mut chars)); // 7
assert!(next_is_digit(&mut chars)); // 8
assert!(next_is_digit(&mut chars)); // 9
assert!(!next_is_digit(&mut chars)); // A
assert!(!next_is_digit(&mut chars)); // B
assert!(!next_is_digit(&mut chars)); // C
assert!(!next_is_digit(&mut chars)); // D
assert!(!next_is_digit(&mut chars)); // E
assert!(!next_is_digit(&mut chars)); // F
} ```