buf/
buf.rs

1extern crate queues;
2
3use queues::{Buffer, IsQueue};
4
5fn main() {
6    println!("\nBuffer - typical usage");
7    println!("--");
8
9    println!("\nCreate a new empty buffer:");
10    println!("let mut buf: Buffer<isize> = Buffer::new(3);");
11    let mut buf: Buffer<isize> = Buffer::new(3);
12
13    println!("\nAdd elements to it:");
14    println!("buf.add(1);");
15    println!("> {:?}", buf.add(1));
16    println!("buf.add(-2);");
17    println!("> {:?}", buf.add(-2));
18    println!("buf.add(3);");
19    println!("> {:?}", buf.add(3));
20
21    println!("\nAttempt to add elements when full:");
22    println!("buf.add(-4);  // Should raise an error");
23    println!("> {:?}", buf.add(-4));
24
25    println!("\nCheck the buffer's size:");
26    println!("buf.size();  // Should be 3");
27    println!("> {}", buf.size());
28
29    println!("\nRemove elements from it:");
30    println!("buf.remove();  // Should be Ok(1)");
31    println!("> {:?}", buf.remove());
32
33    println!("\nCheck the buffer's size:");
34    println!("buf.size();  // Should be 2");
35    println!("> {}", buf.size());
36
37    println!("\nPeek at the next element to be removed:");
38    println!("buf.peek();  // Should be Ok(-2)");
39    println!("> {:?}", buf.peek());
40
41    println!("\nCheck the queue's size:");
42    println!("buf.size();  // Should be 2");
43    println!("> {}", buf.size());
44
45    println!("\nRemove more elements from it:");
46    println!("buf.remove();  // Should be Ok(-2)");
47    println!("> {:?}", buf.remove());
48    println!("buf.remove();  // Should be Ok(3)");
49    println!("> {:?}", buf.remove());
50
51    println!("\nPeek at the next element to be removed:");
52    println!("buf.peek();  // Should raise an error");
53    println!("> {:?}", buf.peek());
54
55    println!("\nAttempt to remove elements from it:");
56    println!("buf.remove();  // Should raise an error");
57    println!("> {:?}", buf.remove());
58
59    println!("\n--\n")
60}