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}