File size: 681 Bytes
224e773 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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
}
}
}
|