Flag.hh File Reference
#include <type_traits>
Include dependency graph for Flag.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  boca::Flag< Enum >
 Mark a strongly typed enumerator as a flag. More...
 

Namespaces

 boca
 Boosted Collider Analysis.
 

Typedefs

template<typename Enum , typename Type >
using boca::FlagReturn = typename std::enable_if< Flag< Enum >::enable, Type >
 

Functions

template<typename Enum >
FlagReturn< Enum, typename std::underlying_type< Enum >::type >::type boca::Underlying (Enum enum_1)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type boca::operator& (Enum enum_1, Enum enum_2)
 
template<typename Enum >
constexpr FlagReturn< Enum, Enum >::type boca::operator| (Enum enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type boca::operator^ (Enum enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type boca::operator~ (Enum enum_1)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type boca::operator&= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type boca::operator|= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type boca::operator^= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type boca::operator<<= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, bool >::type boca::to_bool (Enum value)
 
template<typename Enum >
FlagReturn< Enum, bool >::type boca::is (Enum enum_1, Enum enum_2)
 
template<typename Enum , typename Function >
void boca::FlagSwitch (Enum enum_1, Function function)