llvm::BitmaskEnumDetail

Implementation details and operator overloads for bitmask enumerations.

Functions

NameDescription
Mask Get a bitmask with 1s in all places up to the high-order bit of E's largest value.
Underlying Check that Val is in range for E, and return Val cast to E's underlying type.
any Return true if any bit is set in the bitmask enum value.
operator& Bitwise AND of two bitmask enumeration values.
operator&= In-place bitwise AND for bitmask enumeration values.
operator<<= In-place left-shift for bitmask enumeration values.
operator>> Right-shift a bitmask enumeration value by another enum's underlying count.
operator>>= In-place right-shift for bitmask enumeration values.
operator^ Bitwise XOR of two bitmask enumeration values.
operator^= In-place bitwise XOR for bitmask enumeration values.
operator| Bitwise OR of two bitmask enumeration values.
operator|= In-place bitwise OR for bitmask enumeration values.
operator~ Bitwise complement of a bitmask enum, masked to valid bits.
operator<< Left-shift a bitmask enumeration value by another enum's underlying count.
operator! Return true if no bits are set in the bitmask enum value.