Struct Window

Source
pub struct Window<T> { /* private fields */ }

Implementations§

Source§

impl<T> Window<T>

Source

pub fn new(max_size: usize) -> Window<T>

Source

pub fn clear(&mut self)

Source

pub fn len(&self) -> usize

Source

pub fn extend(&mut self, data: Vec<T>)

stacks the vector into the window taking ownership of items in vector.

Source

pub fn stack(&mut self, data: T)

stacks an item into the window remove the earliest item if the max size has been reached

Source

pub fn get_mut(&mut self) -> &mut VecDeque<T>

Returns a mutable reference to the internal deque.

Source

pub fn get(&self) -> &VecDeque<T>

Returns a reference to the internal deque.

Source

pub fn peek(&self, amount: usize) -> VecDeque<&T>

Retrieves references to the latest values up to the specified amount. The returned values could be less then this amount if there is not enough in the window.

Source

pub fn pop(&mut self, amount: usize) -> VecDeque<T>

Pops the latests values up to the specified amount taking ownership. The returned values could be less then this amount if there is not enough in the window.

Trait Implementations§

Source§

impl<T: Debug> Debug for Window<T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for Window<T>

§

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

§

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

§

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

§

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

§

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