scanmut 0.1.0

Insert/remove multiple items from Vecs in O(n) time
Documentation
[![Build Status](https://travis-ci.org/mpdn/disjoint-borrow.svg?branch=master)](https://travis-ci.org/mpdn/disjoint-borrow)

# scanmut

Insert and remove multiple elments from a `Vec` in `O(n)` time.

This crate provides the `Inserter` and `Remover` types for inserting and removing items from a
`Vec` in a single scan over the `Vec`. The indices of the insertions and removals need to be in
sorted order: monotnonically non-increasing for `Inserter` and monotonically increasing for
`Remover`. See the `Inserter` and `Remover` types for more information.

For convenience, there is also an extension trait `ScanMut` that add `multi_insert` and
`multi_remove` methods to `Vec`.

## Example

```rust
use scanmut::ScanMut;

let mut v = vec!['a', 'b', 'c'];
v.multi_insert([(2, 'e'), (1, 'd')].iter().cloned());

assert_eq!(v, vec!['a', 'd', 'b', 'e', 'c']);
```

License: MIT