mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-12-25 15:09:50 +00:00
22 lines
318 B
Go
22 lines
318 B
Go
|
package bitmask
|
||
|
|
||
|
// Byte is a bitmask in byte.
|
||
|
type Byte byte
|
||
|
|
||
|
// Has returns true if this bitmask contains another bitmask.
|
||
|
func (b Byte) Has(bb Byte) bool {
|
||
|
return (b & bb) != 0
|
||
|
}
|
||
|
|
||
|
func (b *Byte) Set(bb Byte) {
|
||
|
*b |= bb
|
||
|
}
|
||
|
|
||
|
func (b *Byte) Clear(bb Byte) {
|
||
|
*b &= ^bb
|
||
|
}
|
||
|
|
||
|
func (b *Byte) Toggle(bb Byte) {
|
||
|
*b ^= bb
|
||
|
}
|