bitmask.h 456 B

12345678910111213141516171819202122232425262728
  1. #ifndef ENTT_COMMON_BITMASK_H
  2. #define ENTT_COMMON_BITMASK_H
  3. #include <entt/core/enum.hpp>
  4. namespace test {
  5. enum class enum_is_bitmask {
  6. foo = 0x01,
  7. bar = 0x02,
  8. quux = 0x04,
  9. _entt_enum_as_bitmask
  10. };
  11. // small type on purpose
  12. enum class enum_as_bitmask : std::uint8_t {
  13. foo = 0x01,
  14. bar = 0x02,
  15. quux = 0x04
  16. };
  17. } // namespace test
  18. template<>
  19. struct entt::enum_as_bitmask<test::enum_as_bitmask>
  20. : std::true_type {};
  21. #endif