mirror of
https://github.com/openharmony/third_party_rust_indexmap.git
synced 2026-07-01 20:54:05 -04:00
Merge pull request #26 from Binero/master
Added ExactSizeIterator support.
This commit is contained in:
+37
@@ -1209,6 +1209,12 @@ impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, K, V> ExactSizeIterator for Keys<'a, K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Values<'a, K: 'a, V: 'a> {
|
||||
iter: SliceIter<'a, Bucket<K, V>>,
|
||||
}
|
||||
@@ -1243,6 +1249,12 @@ impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, K, V> ExactSizeIterator for Values<'a, K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ValuesMut<'a, K: 'a, V: 'a> {
|
||||
iter: SliceIterMut<'a, Bucket<K, V>>,
|
||||
}
|
||||
@@ -1277,6 +1289,12 @@ impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, K, V> ExactSizeIterator for ValuesMut<'a, K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Iter<'a, K: 'a, V: 'a> {
|
||||
iter: SliceIter<'a, Bucket<K, V>>,
|
||||
}
|
||||
@@ -1311,6 +1329,12 @@ impl<'a, K, V> DoubleEndedIterator for Iter<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, K, V> ExactSizeIterator for Iter<'a, K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct IterMut<'a, K: 'a, V: 'a> {
|
||||
iter: SliceIterMut<'a, Bucket<K, V>>,
|
||||
}
|
||||
@@ -1345,6 +1369,12 @@ impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, K, V> ExactSizeIterator for IterMut<'a, K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct IntoIter<K, V> {
|
||||
iter: VecIntoIter<Bucket<K, V>>,
|
||||
}
|
||||
@@ -1379,6 +1409,13 @@ impl<'a, K, V> DoubleEndedIterator for IntoIter<K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<K, V> ExactSizeIterator for IntoIter<K, V> {
|
||||
fn len(&self) -> usize {
|
||||
self.iter.len()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
impl<'a, K, V, S> IntoIterator for &'a OrderMap<K, V, S>
|
||||
where K: Hash + Eq,
|
||||
S: BuildHasher,
|
||||
|
||||
Reference in New Issue
Block a user