Enables the usage of strongly typed enumerators as flags. More...
Collaboration diagram for Flag:
Classes | |
| struct | boca::Flag< Enum > |
| Mark a strongly typed enumerator as a flag. More... | |
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) |
Detailed Description
Enables the usage of strongly typed enumerators as flags.
Typedef Documentation
template<typename Enum , typename Type >
| using boca::FlagReturn = typedef typename std::enable_if<Flag<Enum>::enable, Type> |
Function Documentation
template<typename Enum , typename Function >
| void boca::FlagSwitch | ( | Enum | enum_1, |
| Function | function | ||
| ) |
template<typename Enum >
| FlagReturn<Enum, bool>::type boca::is | ( | 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, 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 >
| 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, bool>::type boca::to_bool | ( | Enum | value | ) |
template<typename Enum >
| FlagReturn<Enum, typename std::underlying_type<Enum>::type>::type boca::Underlying | ( | Enum | enum_1 | ) |
