#include <Bitmask.h>
|
|
using | Underlying = std::underlying_type_t< EnumType > |
|
|
|
constexpr | Bitmask () |
|
constexpr | Bitmask (EnumType a) |
|
constexpr | Bitmask (Underlying a) |
|
|
constexpr bool | isSet (const EnumType &a) const |
| Checks whether an enum value is set in the bitmask. More...
|
|
|
constexpr Bitmask | operator| (const EnumType &a) const |
| Create a new bitmask that also sets a particular enum value. More...
|
|
constexpr void | operator|= (const EnumType &a) |
| Set a particular enum value in this bitmask. More...
|
|
constexpr bool | operator& (const EnumType &a) const |
| Check whether a particular enum value is set.
|
|
constexpr bool | operator[] (const EnumType &a) const |
| Check whether a particular enum value is set.
|
|
|
static constexpr Underlying | maximum |
|
template<typename EnumType>
struct Scine::Molassembler::Temple::Bitmask< EnumType >
- Template Parameters
-
EnumType | Enum on which the bitmask should act. Requires the enum to have strictly incrementing unsigned representation. |
template<typename EnumType >
Checks whether an enum value is set in the bitmask.
Complexity \(\Theta(1)\)
template<typename EnumType >
Create a new bitmask that also sets a particular enum value.
Complexity \(\Theta(1)\)
template<typename EnumType >
Set a particular enum value in this bitmask.
Complexity \(\Theta(1)\)
template<typename EnumType >
Initial value:= Temple::Math::floor(
Temple::Math::log(
static_cast<double>(std::numeric_limits<Underlying>::max()),
2.0
)
)
The documentation for this struct was generated from the following file: