[][src]Trait futures_intrusive::buffer::RingBuf

pub trait RingBuf {
    type Item;
    pub fn new() -> Self;
pub fn with_capacity(cap: usize) -> Self;
pub fn capacity(&self) -> usize;
pub fn len(&self) -> usize;
pub fn can_push(&self) -> bool;
pub fn push(&mut self, item: Self::Item);
pub fn pop(&mut self) -> Self::Item; pub fn is_empty(&self) -> bool { ... } }

A Ring Buffer of items

Associated Types

type Item

The type of stored items inside the Ring Buffer

Loading content...

Required methods

pub fn new() -> Self

Creates a new instance of the Ring Buffer

pub fn with_capacity(cap: usize) -> Self

Creates a new instance of the Ring Buffer with the given capacity. RingBuf implementations are allowed to ignore the capacity hint and utilize their default capacity.

pub fn capacity(&self) -> usize

The capacity of the buffer

pub fn len(&self) -> usize

The amount of stored items in the buffer

pub fn can_push(&self) -> bool

Returns true if there is enough space in the buffer to store another item.

pub fn push(&mut self, item: Self::Item)

Stores the item at the end of the buffer. Panics if there is not enough free space.

pub fn pop(&mut self) -> Self::Item

Returns the oldest item inside the buffer. Panics if there is no available item.

Loading content...

Provided methods

pub fn is_empty(&self) -> bool

Returns true if no item is stored inside the buffer.

Loading content...

Implementors

impl<T> RingBuf for FixedHeapBuf<T>[src]

type Item = T

impl<T> RingBuf for GrowingHeapBuf<T>[src]

type Item = T

impl<T, A> RingBuf for ArrayBuf<T, A> where
    A: AsMut<[T]> + AsRef<[T]> + RealArray<T>, 
[src]

type Item = T

Loading content...