moving to desktop
This commit is contained in:
17
src/util/name_stack.rs
Normal file
17
src/util/name_stack.rs
Normal file
@@ -0,0 +1,17 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
pub struct NameStack<T>(Vec<HashMap<String, T>>);
|
||||
|
||||
impl<T> NameStack<T> {
|
||||
pub fn new() -> Self {
|
||||
Self(Vec::new())
|
||||
}
|
||||
pub fn search(&self, name: &str) -> Option<&T> {
|
||||
for level in self.0.iter().rev() {
|
||||
if let Some(v) = level.get(name) {
|
||||
return Some(v);
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user