rolling_buffer/buffer/
traits.rs1pub trait Rolling<T>
2where
3 T: Clone + Default,
4{
5 fn new(size: usize) -> Self;
6
7 fn push(&mut self, value: T);
8
9 fn get(&self, i: usize) -> Option<&T>;
10
11 fn last(&self) -> Option<&T>;
12
13 fn last_mut(&mut self) -> Option<&mut T>;
14
15 fn first(&self) -> Option<&T>;
16
17 fn len(&self) -> usize;
18
19 fn size(&self) -> usize;
20
21 fn raw(&self) -> &Vec<T>;
22
23 fn last_removed(&self) -> &Option<T>;
24
25 fn count(&self) -> usize;
26
27 fn is_empty(&self) -> bool;
28
29 fn to_vec(&self) -> Vec<T>;
30}