summaryrefslogtreecommitdiffhomepage
path: root/loader/loader.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-11-12 17:48:01 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-11-12 18:24:55 +0100
commitb84cfa301e2fb131275711c67a2e91e3cda65c4e (patch)
treed060791ca783f6b9c4da5959535ec0eb85dd73cf /loader/loader.cpp
parenteea6fad65d5c9fecfb47c4a1c516c253cee85fd2 (diff)
loader: fix static initializer mess
Diffstat (limited to 'loader/loader.cpp')
-rw-r--r--loader/loader.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/loader/loader.cpp b/loader/loader.cpp
index 83c3eed2..a2fcd161 100644
--- a/loader/loader.cpp
+++ b/loader/loader.cpp
@@ -1,5 +1,28 @@
-#include "loader.hpp"
+#include "impl.hpp"
+
namespace floormat {
+
+using loader_detail::loader_impl;
+
+void loader_::destroy()
+{
+ loader.~loader_();
+ new (&loader) loader_impl();
+}
+
+loader_& loader_::default_loader() noexcept
+{
+ static loader_impl loader_singleton{};
+ return loader_singleton;
+}
+
+// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
+loader_& loader = loader_::default_loader();
+
loader_::loader_() = default;
loader_::~loader_() = default;
+
+const StringView loader_::IMAGE_PATH = "share/floormat/images/"_s;
+const StringView loader_::ANIM_PATH = "share/floormat/anim/"_s;
+
} // namespace floormat