Trait Stack

Source
pub trait Stack {
    type Item;

    // Required methods
    fn push(&mut self, data: Self::Item) -> Result<(), Error>;
    fn pop(&mut self) -> Result<Self::Item, Error>;
    fn peek_back(&self, back: usize) -> Result<&Self::Item, Error>;
    fn pop_back(&mut self, back: usize) -> Result<Self::Item, Error>;
    fn last(&self) -> Result<&Self::Item, Error>;
}

Required Associated Types§

Required Methods§

Source

fn push(&mut self, data: Self::Item) -> Result<(), Error>

Source

fn pop(&mut self) -> Result<Self::Item, Error>

Source

fn peek_back(&self, back: usize) -> Result<&Self::Item, Error>

Source

fn pop_back(&mut self, back: usize) -> Result<Self::Item, Error>

Source

fn last(&self) -> Result<&Self::Item, Error>

Implementors§

Source§

impl<T> Stack for StdVecStack<T>

Source§

type Item = T

Source§

impl<T, const N: usize> Stack for HVecStack<T, N>

Source§

type Item = T