Skip to content

Commit ed533c3

Browse files
authored
Merge pull request #26 from Binero/master
Added ExactSizeIterator support.
2 parents fe32594 + c0832ea commit ed533c3

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

src/lib.rs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,6 +1209,12 @@ impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V> {
12091209
}
12101210
}
12111211

1212+
impl<'a, K, V> ExactSizeIterator for Keys<'a, K, V> {
1213+
fn len(&self) -> usize {
1214+
self.iter.len()
1215+
}
1216+
}
1217+
12121218
pub struct Values<'a, K: 'a, V: 'a> {
12131219
iter: SliceIter<'a, Bucket<K, V>>,
12141220
}
@@ -1243,6 +1249,12 @@ impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V> {
12431249
}
12441250
}
12451251

1252+
impl<'a, K, V> ExactSizeIterator for Values<'a, K, V> {
1253+
fn len(&self) -> usize {
1254+
self.iter.len()
1255+
}
1256+
}
1257+
12461258
pub struct ValuesMut<'a, K: 'a, V: 'a> {
12471259
iter: SliceIterMut<'a, Bucket<K, V>>,
12481260
}
@@ -1277,6 +1289,12 @@ impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V> {
12771289
}
12781290
}
12791291

1292+
impl<'a, K, V> ExactSizeIterator for ValuesMut<'a, K, V> {
1293+
fn len(&self) -> usize {
1294+
self.iter.len()
1295+
}
1296+
}
1297+
12801298
pub struct Iter<'a, K: 'a, V: 'a> {
12811299
iter: SliceIter<'a, Bucket<K, V>>,
12821300
}
@@ -1311,6 +1329,12 @@ impl<'a, K, V> DoubleEndedIterator for Iter<'a, K, V> {
13111329
}
13121330
}
13131331

1332+
impl<'a, K, V> ExactSizeIterator for Iter<'a, K, V> {
1333+
fn len(&self) -> usize {
1334+
self.iter.len()
1335+
}
1336+
}
1337+
13141338
pub struct IterMut<'a, K: 'a, V: 'a> {
13151339
iter: SliceIterMut<'a, Bucket<K, V>>,
13161340
}
@@ -1345,6 +1369,12 @@ impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V> {
13451369
}
13461370
}
13471371

1372+
impl<'a, K, V> ExactSizeIterator for IterMut<'a, K, V> {
1373+
fn len(&self) -> usize {
1374+
self.iter.len()
1375+
}
1376+
}
1377+
13481378
pub struct IntoIter<K, V> {
13491379
iter: VecIntoIter<Bucket<K, V>>,
13501380
}
@@ -1379,6 +1409,13 @@ impl<'a, K, V> DoubleEndedIterator for IntoIter<K, V> {
13791409
}
13801410
}
13811411

1412+
impl<K, V> ExactSizeIterator for IntoIter<K, V> {
1413+
fn len(&self) -> usize {
1414+
self.iter.len()
1415+
}
1416+
}
1417+
1418+
13821419
impl<'a, K, V, S> IntoIterator for &'a OrderMap<K, V, S>
13831420
where K: Hash + Eq,
13841421
S: BuildHasher,

0 commit comments

Comments
 (0)