This header file is part of module ALib Enums of the ALib C++ Library.
© 2013-2024 A-Worx GmbH, Germany. Published under Boost Software License.
Definition in file bitwise.hpp.
#include "alib/enums/arithmetical.hpp"
#include "alib/enums/underlyingintegral.hpp"
#include "alib/lang/bits.hpp"
Go to the source code of this file.
Classes | |
struct | T_EnumIsBitwise< TEnum, TEnableIf > |
Namespaces | |
namespace | alib |
namespace | alib::enums |
namespace | alib::enums::bitwise |
Macros | |
ALib Module Enums | |
The macros in this section are introduced by module ALib Enums and allow to specialize type-traits structs T_EnumRecords, T_EnumIsArithmetical, T_EnumIsBitwise and T_EnumIsIterable for scoped or non-scoped enum types.
| |
#define | ALIB_ENUMS_MAKE_BITWISE(TEnum) |
Typedefs | |
template<typename TEnum > | |
using | T_EnumIsBitwise = enums::T_EnumIsBitwise<TEnum> |
Type alias in namespace alib. | |
Functions | |
template<typename TEnum > | |
static constexpr int | CountElements (TEnum value) |
template<typename TEnum > | |
constexpr bool | HasBits (TEnum element, TEnum selection) noexcept |
template<typename TEnum > | |
constexpr bool | HasOneOf (TEnum element, TEnum selection) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator& (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator&= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator+ (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator+= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator- (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator-= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator^ (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator^= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator| (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr bool | operator|= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum > | |
constexpr TEnum | operator~ (TEnum op) noexcept |