use super::{DstArray, DstBuf};
use crate::PhantomData;
mod impl_traits;
mod methods;
mod private;
#[doc = crate::_tags!(data_structure)]
#[doc = crate::_doc_location!("data/layout/dst")]
pub struct DstQueue<DST: ?Sized, BUF: DstBuf> {
_pd: PhantomData<*const DST>,
read_pos: usize,
write_pos: usize,
data: BUF,
}
#[doc = crate::_tags!(data_structure)]
#[doc = crate::_doc_location!("data/layout/dst")]
pub type DstQueueUsize<DST , const CAP: usize> = DstQueue<DST, DstArray<usize, CAP>>;
#[doc = crate::_doc_location!("data/layout/dst")]
#[derive(Debug)]
pub struct DstQueuePopHandle<'a, DST: 'a + ?Sized, BUF: 'a + DstBuf> {
parent: &'a mut DstQueue<DST, BUF>,
}
#[doc = crate::_tags!(iterator)]
#[doc = crate::_doc_location!("data/layout/dst")]
#[derive(Debug)]
pub struct DstQueueIter<'a, DST: 'a + ?Sized, BUF: 'a + DstBuf>(&'a DstQueue<DST, BUF>, usize);
#[doc = crate::_tags!(iterator)]
#[doc = crate::_doc_location!("data/layout/dst")]
#[derive(Debug)]
pub struct DstQueueIterMut<'a, DST: 'a + ?Sized, BUF: 'a + DstBuf>(
&'a mut DstQueue<DST, BUF>,
usize,
);