We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3328ebf commit fdac8e3Copy full SHA for fdac8e3
src/internal_queue.rs
@@ -1 +1,42 @@
1
+struct SimpleQueue<T> {
2
+ payload: Vec<T>,
3
+ pos: usize,
4
+}
5
6
+impl<T> SimpleQueue<T>
7
+where
8
+ T: Copy,
9
+{
10
+ fn reserve(&mut self, n: i32) {
11
+ let n = n as usize;
12
+ if n > self.payload.len() {
13
+ self.payload.reserve(n - self.payload.len());
14
+ }
15
16
+
17
+ fn size(&self) -> i32 {
18
+ (self.payload.len() - self.pos) as i32
19
20
21
+ fn empty(&self) -> bool {
22
+ self.pos == self.payload.len()
23
24
25
+ fn push(&mut self, t: &T) {
26
+ self.payload.push(*t);
27
28
29
+ // Do we need mutable version?
30
+ fn front(&self) -> &T {
31
+ &self.payload[self.pos]
32
33
34
+ fn clear(&mut self) {
35
+ self.payload.clear();
36
+ self.pos = 0;
37
38
39
+ fn pop(&mut self) {
40
+ self.pos += 1;
41
42
0 commit comments