github.com/xtls/xray-core@v1.8.12-0.20240518155711-3168d27b0bdb/common/bitmask/byte.go (about)

     1  package bitmask
     2  
     3  // Byte is a bitmask in byte.
     4  type Byte byte
     5  
     6  // Has returns true if this bitmask contains another bitmask.
     7  func (b Byte) Has(bb Byte) bool {
     8  	return (b & bb) != 0
     9  }
    10  
    11  func (b *Byte) Set(bb Byte) {
    12  	*b |= bb
    13  }
    14  
    15  func (b *Byte) Clear(bb Byte) {
    16  	*b &= ^bb
    17  }
    18  
    19  func (b *Byte) Toggle(bb Byte) {
    20  	*b ^= bb
    21  }