diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-05-19 16:28:02 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-05-19 16:28:02 +0200 |
| commit | f61df0b33ea2a2de064f1fa2a9cde191b790a5ba (patch) | |
| tree | 45c5cda251be02edefde3c975b555e7c504726a6 /lib/src/turnsmm/enums.cpp | |
| parent | 0a5f3b25214c11556f62ce04601c06812a3464d8 (diff) | |
| download | turns-f61df0b33ea2a2de064f1fa2a9cde191b790a5ba.tar.xz turns-f61df0b33ea2a2de064f1fa2a9cde191b790a5ba.zip | |
lib: rescope enums
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 |
