gnaw 0.0.1

Conveniently chip small pieces off a slice or `str` to use elsewhere.
Documentation

With this crate, you can conveniently chip pieces off a [slice] or [str] to use elsewhere.

Example

use gnaw::{Drain as _, Pop as _, Unshift as _};

let mut text = "abcdefg";

assert_eq!(text.unshift(), Some('a'));
assert_eq!(text.pop(), Some('g'));

let mut drain = text.drain();
assert_eq!(drain.next(), Some('b'));
assert_eq!(drain.next(), Some('c'));
assert_eq!(drain.next_back(), Some('f'));
assert_eq!(drain.next_back(), Some('e'));
drop(drain);

//TODO: Why isn't the mutable borrow released here?
//assert_eq!(text, "d");