diff options
Diffstat (limited to 'lib/src/turnsmm/enums.cpp')
| -rw-r--r-- | lib/src/turnsmm/enums.cpp | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/lib/src/turnsmm/enums.cpp b/lib/src/turnsmm/enums.cpp deleted file mode 100644 index 475d6f8..0000000 --- a/lib/src/turnsmm/enums.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "turnsmm/enums.hpp" - -#include "turns-disposition.h" -#include "turns-enums.h" // IWYU pragma: keep - -#include <glib-object.h> -#include <turns-turn-order.h> - -#include <type_traits> - -namespace -{ - template<auto Wrapped, auto Unwrapped> - auto constexpr matches = - static_cast<std::underlying_type_t<decltype(Wrapped)>>(Wrapped) == static_cast<std::underlying_type_t<decltype(Unwrapped)>>(Unwrapped); -} // namespace - -namespace Turns -{ - - static_assert(matches<Disposition::Neutral, TURNS_DISPOSITION_NEUTRAL>); - static_assert(matches<Disposition::Friendly, TURNS_DISPOSITION_FRIENDLY>); - static_assert(matches<Disposition::Hostile, TURNS_DISPOSITION_HOSTILE>); - static_assert(matches<Disposition::Secret, TURNS_DISPOSITION_SECRET>); - - static_assert(matches<SortMode::Descending, TURNS_TURN_ORDER_SORT_MODE_DESCENDING>); - static_assert(matches<SortMode::Ascending, TURNS_TURN_ORDER_SORT_MODE_ASCENDING>); - -} // namespace Turns - -namespace Glib -{ -#define VALUE_SPECIALIZATION(Enum, TurnsEnumName) \ - auto Value<Turns::Enum>::value_type() -> GType \ - { \ - return turns_##TurnsEnumName##_get_type(); \ - } - - VALUE_SPECIALIZATION(Disposition, disposition) - VALUE_SPECIALIZATION(SortMode, turn_order_sort_mode) - -#undef VALUE_SPECIALIZATION -} // namespace Glib
\ No newline at end of file |
