Struct pest::Queues [] [src]

pub struct Queues<E> {
    // some fields omitted
}

A struct which caches VecDeques.

Methods

impl<E> Queues<E>
[src]

fn new() -> Queues<E>

Creates a new Queues struct.

Examples

let mut queues = Queues::new();

queues.last_mut().unwrap().push_back(1);
queues.push();
queues.last_mut().unwrap().push_back(2);

queues.pour();

assert_eq!(queues.last().unwrap()[0], 1);
assert_eq!(queues.last().unwrap()[1], 2);

fn last(&self) -> Option<&VecDeque<E>>

Returns the last VecDeque if size is greater than 1, else None.

Examples

let mut queues: Queues<i32> = Queues::new();

assert!(queues.last().unwrap().is_empty());

fn last_mut(&mut self) -> Option<&mut VecDeque<E>>

Returns the last VecDeque as mutable if size is greater than 1, else None.

Examples

let mut queues: Queues<i32> = Queues::new();

assert!(queues.last_mut().unwrap().is_empty());

fn push(&mut self)

Pushes a new VecDeque at the end of a Queues struct.

Examples

let mut queues = Queues::new();

queues.last_mut().unwrap().push_back(1);
queues.push();

assert!(queues.last().unwrap().is_empty());

fn pop(&mut self)

Pops the last VecDeque from a Queues struct.

Examples

let mut queues = Queues::new();

queues.push();
queues.last_mut().unwrap().push_back(1);
queues.pop();

assert!(queues.last().unwrap().is_empty());

fn pour(&mut self)

Pours all elements from the last VecDeque into the one that comes before it, and pops it.

Examples

let mut queues = Queues::new();

queues.last_mut().unwrap().push_back(1);
queues.push();
queues.last_mut().unwrap().push_back(2);

queues.pour();

assert_eq!(queues.last().unwrap()[0], 1);
assert_eq!(queues.last().unwrap()[1], 2);

Trait Implementations

impl<E: Debug> Debug for Queues<E>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.