BitmaskType

C++ concepts: BitmaskType

Defines a type that can be used to represent a set of constant values or any combination of those values. This trait is typically implemented by integer types, std::bitset, or enumerations (scoped and unscoped) with additional operator overloads.

Requirements

The bitmask type supports a finite number of bitmask elements, which are distinct non-zero values of the bitmask type, such that, for any pair Ci and Cj, Ci & Ci != 0 and Ci & Cj == 0. In addition, the value 0 is used to represent an empty bitmask, with no values set.

The bitwise operators operator&, operator|, operator^, operator~, operator&=, operator|=, and operator^= ar