From f4103ad9397afaf545cd94e5afed9d930aef0d84 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 May 2015 17:16:31 +0200 Subject: [PATCH] Add IntoIterator for &mut ArrayVec --- src/lib.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 3f5520b..bc419e7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -266,6 +266,25 @@ impl<'a, A: Array> IntoIterator for &'a ArrayVec { fn into_iter(self) -> Self::IntoIter { self.iter() } } +/// Iterate the **ArrayVec** with mutable references to each element. +/// +/// ## Examples +/// +/// ``` +/// use arrayvec::ArrayVec; +/// +/// let mut array = ArrayVec::from([1, 2, 3]); +/// +/// for elt in &mut array { +/// // ... +/// } +/// ``` +impl<'a, A: Array> IntoIterator for &'a mut ArrayVec { + type Item = &'a mut A::Item; + type IntoIter = slice::IterMut<'a, A::Item>; + fn into_iter(self) -> Self::IntoIter { self.iter_mut() } +} + /// Iterate the **ArrayVec** with each element by value. /// /// The vector is consumed by this operation.