logo
pub trait Stackable {
    type Item;
    fn is_empty(&self) -> bool;
fn as_slice(&self) -> &[Self::Item];
fn push(&mut self, item: Self::Item);
fn pop1(&mut self) -> Option<Self::Item>;
fn pop(&mut self, n: usize) -> Option<Vec<Self::Item>>;
fn peek1(&self) -> Option<&Self::Item>; }
Expand description

The Stackable trait represents a small basic set of operations required by the interpreter.

Associated Types

The kind of item the stack holds.

Required methods

Checks whether the stack is empty.

Extracts a slice containing the entire stack.

Appends one item to the end of the stack.

Removes the last item of the stack and returns it, None if the stack is empty.

Removes n elements from the end of the stack, None if the stack doesn’t contain enough elements. Returned items are in reverse order: the last element comes last in the list.

Peek the last item of the stack and returns a reference to it, None if the stack is empty.

Implementors