Stack

Trait Stack 

Source
pub trait Stack<T> {
    // Required methods
    fn len(&self) -> usize;
    fn truncate(&mut self, size: usize);
    fn push_value(&mut self, value: T) -> bool;
    fn pop_value(&mut self) -> Option<T>;
    fn stack_mut(&mut self) -> &mut [T];

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn reserve(&mut self, _size: usize) { ... }
}

Required Methods§

Source

fn len(&self) -> usize

Source

fn truncate(&mut self, size: usize)

Source

fn push_value(&mut self, value: T) -> bool

Source

fn pop_value(&mut self) -> Option<T>

Source

fn stack_mut(&mut self) -> &mut [T]

Provided Methods§

Source

fn is_empty(&self) -> bool

Source

fn reserve(&mut self, _size: usize)

Implementations on Foreign Types§

Source§

impl<T, I> Stack<T> for &mut I
where I: Stack<T>,

Source§

fn len(&self) -> usize

Source§

fn reserve(&mut self, size: usize)

Source§

fn truncate(&mut self, size: usize)

Source§

fn push_value(&mut self, value: T) -> bool

Source§

fn pop_value(&mut self) -> Option<T>

Source§

fn stack_mut(&mut self) -> &mut [T]

Implementors§

Source§

impl<T> Stack<T> for HeapStack<T>

Source§

impl<const N: usize, T> Stack<T> for StaticStack<N, T>
where T: Copy,