pub trait QueueCapAtLeast<const LEN: usize> {
type Item;
fn empty() -> Self;
fn len(&self) -> usize;
fn deque(&mut self) -> Option<Self::Item>;
fn enque(&mut self, item: Self::Item);
fn get_latest(&self, n: usize) -> Option<&Self::Item>;
fn is_reach(&self) -> bool { ... }
fn enque_and_deque_overflow(
&mut self,
item: Self::Item
) -> Option<Self::Item> { ... }
}
Expand description
Queue that can hold at least LEN
items.
Associated Types
Required methods
fn get_latest(&self, n: usize) -> Option<&Self::Item>
fn get_latest(&self, n: usize) -> Option<&Self::Item>
Get the n
th latest item.
The index is starting from 0
.
Provided methods
fn enque_and_deque_overflow(&mut self, item: Self::Item) -> Option<Self::Item>
fn enque_and_deque_overflow(&mut self, item: Self::Item) -> Option<Self::Item>
Push a new item and return the oldest item if full.