use crate::map;
use crate::util::{impl_deiter, impl_iter};
pub struct Iter<'a, T> {
raw_iter: map::Iter<'a, T, ()>,
}
impl<'a, T> Iter<'a, T> {
pub(super) fn new(map_iter: map::Iter<'a, T, ()>) -> Self {
Self { raw_iter: map_iter }
}
}
impl_iter!(|(k, _)| k, Iter<'a, T, {}> => &'a T);
impl_deiter!(|(k, _)| k, Iter<'a, T, {}>);
pub struct IntoIter<T> {
raw_iter: map::IntoIter<T, ()>,
}
impl<T> IntoIter<T> {
pub(super) fn new(map_iter: map::IntoIter<T, ()>) -> Self {
Self { raw_iter: map_iter }
}
}
impl_iter!(|(k, _)| k, IntoIter<T, {}> => T);
impl_deiter!(|(k, _)| k, IntoIter<T, {}>);