| pub struct EnvironmentBitmask { | |
| pub mask: u64, | |
| pub env_var_name: String, | |
| } | |
| impl EnvironmentBitmask { | |
| pub fn new(var_name: &str) -> Self { | |
| Self { | |
| mask: 0, | |
| env_var_name: var_name.to_string(), | |
| } | |
| } | |
| pub fn set_bit(&mut self, position: u8, value: bool) { | |
| if position < 64 { | |
| if value { | |
| self.mask |= 1 << position; | |
| } else { | |
| self.mask &= !(1 << position); | |
| } | |
| } | |
| } | |
| pub fn get_bit(&self, position: u8) -> bool { | |
| if position < 64 { | |
| (self.mask & (1 << position)) != 0 | |
| } else { | |
| false | |
| } | |
| } | |
| } | |