Mutslices

This crate provides the ability to create many mutable slices of a vector. Slicers are created from an array of ranges.

Exsamples

```rust use mutslices::MutSlice;

let vec = Vec::from([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); let mut mutslice = MutSlice::vecinto(vec); let ranges = [(0, 5), (5, 10), (10, 15)]; let [one, two, three] = &mut*mutslice.slicesmut(&ranges) else { panic!(); };

two.swap(2, 3); one.itermut().foreach(|elem| *elem = *elem * 3); one[0] = 77; two[1] = 78; one.swapwithslice(two); two.swapwithslice(three); three.swapwithslice(one); let vecfromslice = mutslice.intovec(); asserteq!(vecfrom_slice, vec![77, 6, 9, 12, 15, 11, 12, 13, 14, 15, 6, 78, 9, 8, 10]); ```