13constexpr std::enable_if_t<std::conjunction_v<std::is_enum<T>, std::is_same<bool, decltype(enable_enum_bitmask(std::declval<T>()))>>, T>
operator|(
const T lhs,
const T rhs)
15 using underlying = std::underlying_type_t<T>;
16 return static_cast<T
>(
static_cast<underlying
>(lhs) |
static_cast<underlying
>(rhs));
21constexpr std::enable_if_t<std::conjunction_v<std::is_enum<T>, std::is_same<bool, decltype(enable_enum_bitmask(std::declval<T>()))>>, T &>
operator|=(T &lhs,
const T rhs)
23 using underlying = std::underlying_type_t<T>;
24 lhs =
static_cast<T
>(
static_cast<underlying
>(lhs) |
static_cast<underlying
>(rhs));
30constexpr std::enable_if_t<std::conjunction_v<std::is_enum<T>, std::is_same<bool, decltype(enable_enum_bitmask(std::declval<T>()))>>, T>
operator&(
const T lhs,
const T rhs)
32 using underlying = std::underlying_type_t<T>;
33 return static_cast<T
>(
static_cast<underlying
>(lhs) &
static_cast<underlying
>(rhs));
38constexpr std::enable_if_t<std::conjunction_v<std::is_enum<T>, std::is_same<bool, decltype(enable_enum_bitmask(std::declval<T>()))>>, T &>
operator&=(T &lhs,
const T rhs)
40 using underlying = std::underlying_type_t<T>;
41 lhs =
static_cast<T
>(
static_cast<underlying
>(lhs) &
static_cast<underlying
>(rhs));
47constexpr std::enable_if_t<std::conjunction_v<std::is_enum<T>, std::is_same<bool, decltype(enable_enum_bitmask(std::declval<T>()))>>, T>
operator~(
const T value)
49 using underlying = std::underlying_type_t<T>;
50 return static_cast<T
>(~static_cast<underlying>(value));
The main namespace of the library.
Definition asset.h:10
constexpr std::enable_if_t< std::conjunction_v< std::is_enum< T >, std::is_same< bool, decltype(enable_enum_bitmask(std::declval< T >()))> >, T > operator~(const T value)
Definition enum_bitmask.h:47
constexpr std::enable_if_t< std::conjunction_v< std::is_enum< T >, std::is_same< bool, decltype(enable_enum_bitmask(std::declval< T >()))> >, T > operator|(const T lhs, const T rhs)
Definition enum_bitmask.h:13
constexpr std::enable_if_t< std::conjunction_v< std::is_enum< T >, std::is_same< bool, decltype(enable_enum_bitmask(std::declval< T >()))> >, T & > operator&=(T &lhs, const T rhs)
Definition enum_bitmask.h:38
constexpr std::enable_if_t< std::conjunction_v< std::is_enum< T >, std::is_same< bool, decltype(enable_enum_bitmask(std::declval< T >()))> >, T & > operator|=(T &lhs, const T rhs)
Definition enum_bitmask.h:21
constexpr std::enable_if_t< std::conjunction_v< std::is_enum< T >, std::is_same< bool, decltype(enable_enum_bitmask(std::declval< T >()))> >, T > operator&(const T lhs, const T rhs)
Definition enum_bitmask.h:30