Loading [MathJax]/extensions/tex2jax.js
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
BitmaskEnum.h File Reference
#include <type_traits>

Classes

struct  PLMD::enum_traits::BitmaskEnum< enum_type >
 struct for setting up bitmask operations on enum types More...
 

Namespaces

namespace  PLMD
 
namespace  PLMD::enum_traits
 

Functions

template<typename enumtype>
constexpr std::enable_if_t< enum_traits::BitmaskEnum< enumtype >::has_bit_and, enumtype > PLMD::operator& (enumtype a, enumtype b)
 Perform a bitwise AND between two enum values.
 
template<typename enumtype>
constexpr std::enable_if_t< enum_traits::BitmaskEnum< enumtype >::has_bit_or, enumtype > PLMD::operator| (enumtype a, enumtype b)
 Perform a bitwise OR between two enum values.
 
template<typename enumtype>
constexpr std::enable_if_t< enum_traits::BitmaskEnum< enumtype >::has_valid, bool > PLMD::valid (enumtype a)
 Test if an enum value is valid.