| Flutter Impeller |

Classes | Namespaces | Macros | Functions
mask.h File Reference
`#include <type_traits>`

Go to the source code of this file.

## Classes
struct | impeller::MaskTraits< EnumType_ >
struct | impeller::Mask< EnumType_ >
| A mask of typed enums. More...

## Namespaces
| impeller

## Macros
#define | IMPELLER_ENUM_IS_MASK(enum_name)
| Declare this in the "impeller" namespace to make the enum maskable. More...

## Functions
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator| (const EnumType &lhs, const EnumType &rhs)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator& (const EnumType &lhs, const EnumType &rhs)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator^ (const EnumType &lhs, const EnumType &rhs)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator~ (const EnumType &other)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator| (const EnumType &lhs, const Mask< EnumType > &rhs)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator& (const EnumType &lhs, const Mask< EnumType > &rhs)
template<typename EnumType , typename std::enable_if< MaskTraits< EnumType >::kIsMask, bool >::type = true>
constexpr Mask< EnumType > | impeller::operator^ (const EnumType &lhs, const Mask< EnumType > &rhs)
template<typename EnumType , typename std::enable_if_t< MaskTraits< EnumType >::kIsMask, bool > = true>
constexpr auto | impeller::operator<=> (const EnumType &lhs, const Mask< EnumType > &rhs)

## Macro Definition Documentation

## ◆ IMPELLER_ENUM_IS_MASK

#define IMPELLER_ENUM_IS_MASK | ( |  | enum_name | ) |

Value:
template <> \
struct MaskTraits<enum_name> { \
static constexpr bool kIsMask = true; \
};

Declare this in the "impeller" namespace to make the enum maskable.

Definition at line 21 of file mask.h.