micromap_rawl/set/
drain.rs1use crate::SetDrain;
2use core::iter::FusedIterator;
3
4impl<K: PartialEq> Iterator for SetDrain<'_, K> {
5 type Item = K;
6
7 #[inline]
8 #[must_use]
9 fn next(&mut self) -> Option<Self::Item> {
10 self.iter.next().map(|(k, ())| k)
11 }
12
13 #[inline]
14 fn size_hint(&self) -> (usize, Option<usize>) {
15 (self.iter.len(), Some(self.iter.len()))
16 }
17}
18
19impl<K: PartialEq> ExactSizeIterator for SetDrain<'_, K> {
20 #[inline]
21 fn len(&self) -> usize {
22 self.iter.len()
23 }
24}
25
26impl<K: PartialEq> FusedIterator for SetDrain<'_, K> {}