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