| 
| 
constexpr FlagsOperators  | operator~ () const | 
|   | bitwise negation 
  | 
|   | 
| constexpr  | operator bool () const | 
|   | 
| 
constexpr bool  | operator! () const | 
|   | Returns true if value is zero. 
  | 
|   | 
 | 
| 
constexpr  | FlagsOperators () | 
|   | default constructor initializes value to zero 
  | 
|   | 
| 
constexpr  | FlagsOperators (Enum flag) | 
|   | constructs itself out of a strongly-typed enum 
  | 
|   | 
| 
constexpr  | FlagsOperators (UnderlyingType flag) | 
|   | When explicitly called, this class constructs itself out of the underlying type. 
  | 
|   | 
| 
constexpr  | FlagsOperators (Register< T > const &o) | 
|   | When explicitly called, this class constructs itself out of the superclass. 
  | 
|   | 
| 
constexpr  | FlagsOperators (FlagsOperators const &o) = default | 
|   | Copy constructor. 
  | 
|   | 
| 
constexpr  | FlagsOperators (FlagsOperators &&o) = default | 
|   | Move constructor. 
  | 
|   | 
 | 
| 
FlagsOperators &  | operator= (FlagsOperators const &o) = default | 
|   | Copy assignment. 
  | 
|   | 
| 
FlagsOperators &  | operator= (FlagsOperators &&o) = default | 
|   | Move assignment. 
  | 
|   | 
 | 
| 
constexpr FlagsOperators  | operator& (FlagsOperators const &o) const | 
|   | bitwise AND with multiple bits 
  | 
|   | 
| 
constexpr FlagsOperators  | operator| (FlagsOperators const &o) const | 
|   | bitwise OR with multiple bits 
  | 
|   | 
| 
constexpr FlagsOperators  | operator^ (FlagsOperators const &o) const | 
|   | bitwise XOR with multiple bits 
  | 
|   | 
 | 
| 
FlagsOperators &  | operator&= (FlagsOperators const &o) | 
|   | bitwise AND with multiple bits 
  | 
|   | 
| 
FlagsOperators &  | operator|= (FlagsOperators const &o) | 
|   | bitwise OR with multiple bits 
  | 
|   | 
| 
FlagsOperators &  | operator^= (FlagsOperators const &o) | 
|   | bitwise XOR with multiple bits 
  | 
|   | 
 | 
| 
FlagsOperators &  | operator&= (Enum const &flag) | 
|   | bitwise AND with a single bit 
  | 
|   | 
| 
FlagsOperators &  | operator|= (Enum const &flag) | 
|   | bitwise OR with a single bit 
  | 
|   | 
| 
FlagsOperators &  | operator^= (Enum const &flag) | 
|   | bitwise XOR with a single bit 
  | 
|   | 
 | 
 | 
| 
constexpr friend FlagsOperators  | operator& (Enum const &a, FlagsOperators const &b) | 
|   | bitwise AND with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator| (Enum const &a, FlagsOperators const &b) | 
|   | bitwise OR with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator^ (Enum const &a, FlagsOperators const &b) | 
|   | bitwise XOR with a single bit 
  | 
|   | 
 | 
| 
constexpr friend FlagsOperators  | operator& (FlagsOperators const &a, Enum const &b) | 
|   | bitwise AND with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator| (FlagsOperators const &a, Enum const &b) | 
|   | bitwise OR with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator^ (FlagsOperators const &a, Enum const &b) | 
|   | bitwise XOR with a single bit 
  | 
|   | 
 | 
| 
constexpr friend FlagsOperators  | operator& (Enum const &a, Enum const &b) | 
|   | bitwise AND with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator| (Enum const &a, Enum const &b) | 
|   | bitwise OR with a single bit 
  | 
|   | 
| 
constexpr friend FlagsOperators  | operator^ (Enum const &a, Enum const &b) | 
|   | bitwise XOR with a single bit 
  | 
|   | 
 | 
| constexpr friend bool  | operator== (FlagsOperators const &a, Enum const &b) | 
|   | 
| 
constexpr friend bool  | operator!= (FlagsOperators const &a, Enum const &b) | 
|   | 
| 
constexpr friend bool  | operator== (Enum const &a, FlagsOperators const &b) | 
|   | 
| 
constexpr friend bool  | operator!= (Enum const &a, FlagsOperators const &b) | 
|   | 
template<typename Enum, typename T>
struct modm::FlagsOperators< Enum, T >
Class for operating on a register.
This class extends the Register base class by adding constructor and bitwise operation overloading between a strongly-typed enum and itself. It is the common base class for Flags, Configurations and Values!
- Template Parameters
 - 
  
    | Enum | a strongly-typed enum containing the bit masks  | 
    | T | the underlying integer type to be for internal representation | 
  
   
- See also
 - Flags
 
- Author
 - Niklas Hauser