diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-12 17:48:01 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-12 18:24:55 +0100 |
commit | b84cfa301e2fb131275711c67a2e91e3cda65c4e (patch) | |
tree | d060791ca783f6b9c4da5959535ec0eb85dd73cf /loader/loader.cpp | |
parent | eea6fad65d5c9fecfb47c4a1c516c253cee85fd2 (diff) |
loader: fix static initializer mess
Diffstat (limited to 'loader/loader.cpp')
-rw-r--r-- | loader/loader.cpp | 25 |
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 |