diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-07 00:20:13 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-07 00:20:13 +0200 |
commit | c3fec2466ed44e3d65b8dceb5a80bc621176d45d (patch) | |
tree | bb1afdd6ca8e23a2d3098d1253985d82a45eff16 | |
parent | 9cc74826f71bfc08595ff93ac931c751f52c833c (diff) |
b
-rw-r--r-- | compat/overloaded.hpp | 8 | ||||
-rw-r--r-- | editor/inspect-types.cpp | 4 | ||||
-rw-r--r-- | serialize/scenery.cpp | 1 | ||||
-rw-r--r-- | src/scenery.cpp | 15 | ||||
-rw-r--r-- | src/scenery.hpp | 3 |
5 files changed, 10 insertions, 21 deletions
diff --git a/compat/overloaded.hpp b/compat/overloaded.hpp new file mode 100644 index 00000000..77cfc9dc --- /dev/null +++ b/compat/overloaded.hpp @@ -0,0 +1,8 @@ +#pragma once + +namespace floormat { + +template<typename... Ts> struct overloaded : Ts... { using Ts::operator()...; }; +template<typename... Ts> overloaded(Ts...) -> overloaded<Ts...>; + +} // namespace floormat diff --git a/editor/inspect-types.cpp b/editor/inspect-types.cpp index 899bc851..331b82a7 100644 --- a/editor/inspect-types.cpp +++ b/editor/inspect-types.cpp @@ -1,5 +1,6 @@ #include "entity/metadata.hpp" #include "entity/accessor.hpp" +#include "compat/overloaded.hpp" #include "src/scenery.hpp" #include "src/anim-atlas.hpp" #include "src/tile-defs.hpp" @@ -90,9 +91,6 @@ struct entity_accessors<object, inspect_intent_t> { } }; -template<typename... Ts> struct overloaded : Ts... { using Ts::operator()...; }; -template<typename... Ts> overloaded(Ts...) -> overloaded<Ts...>; - template<> struct entity_accessors<scenery, inspect_intent_t> { static constexpr auto accessors() diff --git a/serialize/scenery.cpp b/serialize/scenery.cpp index 80f99d32..080d0f71 100644 --- a/serialize/scenery.cpp +++ b/serialize/scenery.cpp @@ -1,4 +1,5 @@ #include "scenery.hpp" +#include "compat/overloaded.hpp" #include "compat/exception.hpp" #include "src/anim-atlas.hpp" #include "compat/assert.hpp" diff --git a/src/scenery.cpp b/src/scenery.cpp index fb3010f1..c5575f6a 100644 --- a/src/scenery.cpp +++ b/src/scenery.cpp @@ -13,21 +13,6 @@ namespace floormat { namespace { -template<typename... Ts> struct [[maybe_unused]] overloaded : Ts... { using Ts::operator()...; }; - -#if defined __GNUG__ && !defined __clang__ -#pragma GCC diagnostic push // gcc doesn't support [[attributes]] on deduction guides -#pragma GCC diagnostic ignored "-Wunused" -#endif -template<typename... Ts> -#ifdef __clang__ -[[maybe_unused]] -#endif -overloaded(Ts...) -> overloaded<Ts...>; -#if defined __GNUG__ && !defined __clang__ -#pragma GCC diagnostic pop -#endif - template<typename T> struct proto_to_scenery_; template<> struct proto_to_scenery_<generic_scenery_proto> { using type = generic_scenery; }; template<> struct proto_to_scenery_<door_scenery_proto> { using type = door_scenery; }; diff --git a/src/scenery.hpp b/src/scenery.hpp index cc728a4b..e668f7a2 100644 --- a/src/scenery.hpp +++ b/src/scenery.hpp @@ -11,9 +11,6 @@ namespace floormat { -template<typename... Ts> struct [[maybe_unused]] overloaded : Ts... { using Ts::operator()...; }; -template<typename... Ts> overloaded(Ts...) -> overloaded<Ts...>; - class chunk; class anim_atlas; class world; |