Kanzi 3.9.10
enum_bitmask_operators.hpp File Reference

Classes

struct  kanzi::enable_bitmask_operators< Enum >
 Enabler template for bitmask operators over an Enum class. More...
 

Namespaces

namespace  kanzi
 

Macros

#define KZ_ENABLE_BITMASK_OPERATORS(EnumType)
 Use this macro to enable the bitwise operators over an enum class.
 

Functions

template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator& (Enum lhs, Enum rhs)
 Bitwise AND operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator&= (Enum &lhs, Enum rhs)
 Bitwise AND assignment operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator^ (Enum lhs, Enum rhs)
 Bitwise XOR operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator^= (Enum &lhs, Enum rhs)
 Bitwise XOR assignment operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator| (Enum lhs, Enum rhs)
 Bitwise OR operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator|= (Enum &lhs, Enum rhs)
 Bitwise OR assignment operator between two enum class values.
 
template<typename Enum >
enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator~ (Enum lhs)
 Bitwise NOT operator over an enum class value.
 

Macro Definition Documentation

◆ KZ_ENABLE_BITMASK_OPERATORS

#define KZ_ENABLE_BITMASK_OPERATORS ( EnumType)

Use this macro to enable the bitwise operators over an enum class.