Make CxxVector's iterator an ExactSizeIterator
diff --git a/src/cxx_vector.rs b/src/cxx_vector.rs
index df29616..31dc11c 100644
--- a/src/cxx_vector.rs
+++ b/src/cxx_vector.rs
@@ -128,9 +128,23 @@
 
     fn next(&mut self) -> Option<Self::Item> {
         let next = self.v.get(self.index);
-        self.index += 1;
+        self.index += next.is_some() as usize;
         next
     }
+
+    fn size_hint(&self) -> (usize, Option<usize>) {
+        let len = self.len();
+        (len, Some(len))
+    }
+}
+
+impl<'a, T> ExactSizeIterator for Iter<'a, T>
+where
+    T: VectorElement,
+{
+    fn len(&self) -> usize {
+        self.v.len() - self.index
+    }
 }
 
 impl<T> Debug for CxxVector<T>