BmnRoot
Loading...
Searching...
No Matches
bitmask_operators.h File Reference
#include <type_traits>
Include dependency graph for bitmask_operators.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  enable_bitmask_operators< E >
 

Macros

#define ENABLE_BITMASK_OPERATORS(x)
 

Functions

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator| (E lhs, E rhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator& (E lhs, E rhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator^ (E lhs, E rhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator~ (E lhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator|= (E &lhs, E rhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator&= (E &lhs, E rhs)
 
template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator^= (E &lhs, E rhs)
 

Macro Definition Documentation

◆ ENABLE_BITMASK_OPERATORS

#define ENABLE_BITMASK_OPERATORS (   x)
Value:
template<> \
{ \
static const bool enable = true; \
};

Definition at line 52 of file bitmask_operators.h.

Function Documentation

◆ operator&()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator& ( lhs,
rhs 
)

Definition at line 68 of file bitmask_operators.h.

◆ operator&=()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator&= ( E &  lhs,
rhs 
)

Definition at line 97 of file bitmask_operators.h.

◆ operator^()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator^ ( lhs,
rhs 
)

Definition at line 75 of file bitmask_operators.h.

◆ operator^=()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator^= ( E &  lhs,
rhs 
)

Definition at line 105 of file bitmask_operators.h.

◆ operator|()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator| ( lhs,
rhs 
)

Definition at line 61 of file bitmask_operators.h.

◆ operator|=()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E & >::type operator|= ( E &  lhs,
rhs 
)

Definition at line 89 of file bitmask_operators.h.

◆ operator~()

template<typename E >
std::enable_if< enable_bitmask_operators< E >::enable, E >::type operator~ ( lhs)

Definition at line 82 of file bitmask_operators.h.