changes
This commit is contained in:
16
src/main.rs
16
src/main.rs
@@ -817,19 +817,33 @@ impl PartialEq for Order {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// If Some(shadow) then peek should return a reference to shadow, and pop should replace shadow with v[next[0]]
|
||||
//
|
||||
struct OrderQueue {
|
||||
v: Vec<Order>,
|
||||
shadowing: bool,
|
||||
shadow: Option<Order>,
|
||||
next: Vec<usize>,
|
||||
order_finder: HashMap<usize,usize>, // Maps OrderIDs to locations in v
|
||||
}
|
||||
|
||||
|
||||
impl OrderQueue {
|
||||
fn new()->Self {
|
||||
OrderQueue {
|
||||
v: Vec::new(),
|
||||
shadowing: false,
|
||||
shadow: None,
|
||||
next: Vec::new(),
|
||||
order_finder:HashMap::new(),
|
||||
}
|
||||
}
|
||||
fn start_shadow(&mut self) {
|
||||
assert!(self.shadowing==false);
|
||||
self.shadowing=true;
|
||||
self.shadow=if self.v.len()>0 { Some(self.v[0].clone()) } else { None }
|
||||
}
|
||||
fn peek(&mut self) -> &mut Order {
|
||||
self.v.first_mut().unwrap()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user