use super::thin::LenLabel;
use crate::mem_block::*;
#[repr(transparent)]
pub struct ThinPtrArrayIter<E, L>(pub(crate) MemBlockIter<E, LenLabel<L>>);
impl<E, L> Iterator for ThinPtrArrayIter<E, L> {
type Item = E;
fn next(&mut self) -> Option<E> {
self.0.next()
}
}
#[repr(transparent)]
pub struct AtomicPtrArrayIter<E, L>(pub(crate) MemBlockIter<E, LenLabel<L>>);
impl<E, L> Iterator for AtomicPtrArrayIter<E, L> {
type Item = E;
fn next(&mut self) -> Option<E> {
self.0.next()
}
}
#[repr(transparent)]
pub struct FatPtrArrayIter<E, L>(pub(crate) MemBlockIter<E, L>);
impl<E, L> Iterator for FatPtrArrayIter<E, L> {
type Item = E;
fn next(&mut self) -> Option<E> {
self.0.next()
}
}