Struct TimerEntry

Source
pub struct TimerEntry<T> { /* private fields */ }
Expand description

A queue for managing multiple entries under a specified timestamp.

Implementations§

Source§

impl<T> TimerEntry<T>

Source

pub fn new(timestamp: u64) -> Self

Creates an empty deque.

Source

pub fn len(&self) -> usize

Returns the number of elements in the deque.

Source

pub fn is_empty(&self) -> bool

Returns true if the deque is empty.

Source

pub fn get_timestamp(&self) -> u64

Get the timestamp.

Source

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

Removes the first element and returns it, or None if the deque is empty.

Source

pub fn push_back(&mut self, t: T)

Appends an element to the back of the deque.

Source

pub fn remove(&mut self, t: &T) -> Option<T>
where T: Ord,

Removes and returns the t from the deque. Whichever end is closer to the removal point will be moved to make room, and all the affected elements will be moved to new positions. Returns None if t not found.

Source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Returns a front-to-back iterator that returns mutable references.

Source

pub fn iter(&self) -> Iter<'_, T>

Returns a front-to-back iterator.

Trait Implementations§

Source§

impl<T: Debug> Debug for TimerEntry<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'t, T> IntoIterator for &'t TimerEntry<T>

Source§

type Item = &'t T

The type of the elements being iterated over.
Source§

type IntoIter = Iter<'t, T>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<'t, T> IntoIterator for &'t mut TimerEntry<T>

Source§

type Item = &'t mut T

The type of the elements being iterated over.
Source§

type IntoIter = IterMut<'t, T>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<T: PartialEq> PartialEq for TimerEntry<T>

Source§

fn eq(&self, other: &TimerEntry<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: Eq> Eq for TimerEntry<T>

Source§

impl<T> StructuralPartialEq for TimerEntry<T>

Auto Trait Implementations§

§

impl<T> Freeze for TimerEntry<T>

§

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

§

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

§

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

§

impl<T> Unpin for TimerEntry<T>
where T: Unpin,

§

impl<T> UnwindSafe for TimerEntry<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.