Sequoia
Loading...
Searching...
No Matches
Macros | Typedefs | Functions | Variables
Bitmask.hpp File Reference

Utilities to aid logical operations. More...

#include <type_traits>

Go to the source code of this file.

Macros

#define NAMESPACE_SEQUOIA_AS_BITMASK   namespace sequoia
 

Typedefs

template<class T >
using as_bitmask_t = typename as_bitmask< T >::type
 

Functions

template<class T >
requires as_bitmask_v<T>
constexpr T operator| (T lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T & operator|= (T &lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T operator& (T lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T & operator&= (T &lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T operator^ (T lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T & operator^= (T &lhs, T rhs) noexcept
 
template<class T >
requires as_bitmask_v<T>
constexpr T operator~ (T om)
 

Variables

 NAMESPACE_SEQUOIA_AS_BITMASK
 
template<class T >
constexpr bool as_bitmask_v {as_bitmask<T>::value}
 

Detailed Description

Utilities to aid logical operations.

Variable Documentation

◆ NAMESPACE_SEQUOIA_AS_BITMASK

NAMESPACE_SEQUOIA_AS_BITMASK
Initial value:
{
template<class T>
requires std::is_enum_v<T>
struct as_bitmask : std::false_type
{}