Struct FixedCapacityQueue

Source
pub struct FixedCapacityQueue<T: Clone> { /* private fields */ }
Expand description

A custom implementation of a circular queue which is extremely quick and lightweight. However, the downside is you need to know an upper bound on the number of elements that will be inside the queue at any given time for this queue to work.

Implementations§

Source§

impl<T: Clone> FixedCapacityQueue<T>

Source

pub fn with_capacity(capacity: usize) -> Self

Initialize a queue where a maximum of max_sz elements can be in the queue at any given time

Source

pub fn peek(&self) -> Option<&T>

Trait Implementations§

Source§

impl<T: Clone> Queue<T> for FixedCapacityQueue<T>

Source§

fn len(&self) -> usize

Source§

fn with_capacity(capacity: usize) -> Self

Source§

fn push_back(&mut self, val: T)

Source§

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

Source§

fn is_empty(&self) -> bool

Auto Trait Implementations§

§

impl<T> Freeze for FixedCapacityQueue<T>

§

impl<T> RefUnwindSafe for FixedCapacityQueue<T>
where T: RefUnwindSafe,

§

impl<T> Send for FixedCapacityQueue<T>
where T: Send,

§

impl<T> Sync for FixedCapacityQueue<T>
where T: Sync,

§

impl<T> Unpin for FixedCapacityQueue<T>

§

impl<T> UnwindSafe for FixedCapacityQueue<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.