Struct pest::Queues
[−]
[src]
pub struct Queues<E> { // some fields omitted }
A struct
which caches VecDeque
s.
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);