Struct TimerList

Source
#[repr(C)]
pub struct TimerList<T> { /* private fields */ }
Expand description

A queue for managing multiple TimerEntry.

Implementations§

Source§

impl<T> TimerList<T>

Source

pub fn len(&self) -> usize

Returns the number of elements in the deque.

Source

pub fn entry_len(&self) -> usize

Returns the number of entries in the deque.

Source

pub fn insert(&mut self, timestamp: u64, t: T)

Inserts an element at timestamp within the deque, shifting all elements with indices greater than or equal to timestamp towards the back.

Source

pub fn front(&self) -> Option<(&u64, &TimerEntry<T>)>

Provides a reference to the front element, or None if the deque is empty.

Source

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

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

Source

pub fn is_empty(&self) -> bool

Returns true if the deque is empty.

Source

pub fn remove_entry(&mut self, timestamp: &u64) -> Option<TimerEntry<T>>

Removes and returns the element at timestamp 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 timestamp is out of bounds.

Source

pub fn remove(&mut self, timestamp: &u64, 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(&self) -> Iter<'_, u64, TimerEntry<T>>

Returns a front-to-back iterator.

Trait Implementations§

Source§

impl<T: Debug> Debug for TimerList<T>

Source§

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

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

impl<T> Default for TimerList<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

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

Source§

type Item = (&'t u64, &'t TimerEntry<T>)

The type of the elements being iterated over.
Source§

type IntoIter = Iter<'t, u64, TimerEntry<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 TimerList<T>

Source§

fn eq(&self, other: &Self) -> 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 TimerList<T>

Auto Trait Implementations§

§

impl<T> !Freeze for TimerList<T>

§

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

§

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

§

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

§

impl<T> Unpin for TimerList<T>

§

impl<T> UnwindSafe for TimerList<T>
where T: RefUnwindSafe,

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.