summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-04-07 00:20:13 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-04-07 00:20:13 +0200
commitc3fec2466ed44e3d65b8dceb5a80bc621176d45d (patch)
treebb1afdd6ca8e23a2d3098d1253985d82a45eff16
parent9cc74826f71bfc08595ff93ac931c751f52c833c (diff)
b
-rw-r--r--compat/overloaded.hpp8
-rw-r--r--editor/inspect-types.cpp4
-rw-r--r--serialize/scenery.cpp1
-rw-r--r--src/scenery.cpp15
-rw-r--r--src/scenery.hpp3
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;