Skip to main content

QueueLike

Trait QueueLike 

Source
pub trait QueueLike<T>: Collection<Item = T> {
    // Required methods
    fn front(&self) -> Option<&T>;
    fn enqueue(&mut self, element: T);
    fn dequeue(&mut self) -> Option<T>;

    // Provided methods
    fn enqueues<I>(&mut self, elements: I)
       where I: IntoIterator<Item = T> { ... }
    fn replace_front(&mut self, new_back: T) -> Option<T> { ... }
}

Required Methods§

Source

fn front(&self) -> Option<&T>

Source

fn enqueue(&mut self, element: T)

Source

fn dequeue(&mut self) -> Option<T>

Provided Methods§

Source

fn enqueues<I>(&mut self, elements: I)
where I: IntoIterator<Item = T>,

Source

fn replace_front(&mut self, new_back: T) -> Option<T>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> QueueLike<T> for CircularQueue<T>

Source§

impl<T> QueueLike<T> for LinkedDeque<T>

Source§

impl<T, C> QueueLike<T> for PriorityQueue<T, C>
where C: Fn(&T, &T) -> Ordering,