Merge branch 'Development' of https://git.romainboullard.com/BigfootDev/Bigfoot into BigFile
Some checks failed
Bigfoot / Build & Test Debug (Unity Build: OFF) (push) Failing after 2m15s
Bigfoot / Build & Test Debug (Unity Build: ON) (push) Failing after 19s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: OFF) (push) Failing after 21s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: ON) (push) Failing after 18s
Bigfoot / Build & Test Release (Unity Build: OFF) (push) Failing after 17s
Bigfoot / Build & Test Release (Unity Build: ON) (push) Failing after 16s
Bigfoot / Clang Format Checks (push) Successful in 11s
Some checks failed
Bigfoot / Build & Test Debug (Unity Build: OFF) (push) Failing after 2m15s
Bigfoot / Build & Test Debug (Unity Build: ON) (push) Failing after 19s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: OFF) (push) Failing after 21s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: ON) (push) Failing after 18s
Bigfoot / Build & Test Release (Unity Build: OFF) (push) Failing after 17s
Bigfoot / Build & Test Release (Unity Build: ON) (push) Failing after 16s
Bigfoot / Clang Format Checks (push) Successful in 11s
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <EASTL/array.h>
|
||||
#include <EASTL/bit.h>
|
||||
#include <EASTL/optional.h>
|
||||
#include <EASTL/type_traits.h>
|
||||
#include <EASTL/utility.h>
|
||||
|
||||
@@ -32,7 +33,7 @@ class Singleton
|
||||
*/
|
||||
static constexpr TYPE& Instance()
|
||||
{
|
||||
return *eastl::bit_cast<TYPE*>(ms_instance.data());
|
||||
return ms_instance.value();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -88,9 +89,7 @@ class Singleton
|
||||
template<typename... ARGS>
|
||||
static void Initialize(ARGS&&... p_args)
|
||||
{
|
||||
new (ms_instance.data()) TYPE(eastl::forward<ARGS>(p_args)...);
|
||||
|
||||
ms_initialized = true;
|
||||
ms_instance.emplace(eastl::forward<ARGS>(p_args)...);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -99,20 +98,13 @@ class Singleton
|
||||
*/
|
||||
static void Finalize()
|
||||
{
|
||||
eastl::bit_cast<TYPE*>(ms_instance.data())->~TYPE();
|
||||
|
||||
ms_initialized = false;
|
||||
ms_instance.reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* The singleton.
|
||||
*/
|
||||
alignas(alignof(TYPE)) inline static eastl::array<std::byte, sizeof(TYPE)> ms_instance;
|
||||
|
||||
/**
|
||||
* Is the singleton initialized?
|
||||
*/
|
||||
inline static bool ms_initialized = false;
|
||||
inline static eastl::optional<TYPE> ms_instance;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
|
||||
@@ -92,7 +92,7 @@ class Version
|
||||
return m_combined;
|
||||
}
|
||||
|
||||
[[nodiscard]] operator std::string() const;
|
||||
operator std::string() const;
|
||||
|
||||
constexpr Version& operator=(const Version& p_version) = default;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user