12 using unique_key_t = uint32_t;
19template<
typename key_t,
typename T,
bool keyIsConstructionParam = true>
32 template<
typename ... A>
44 template<
typename ... A>
46 auto key = std::tuple<key_t, unique_key_t>(str,
unique_key);
49 std::lock_guard
guard(mtx);
50 if (items.contains(key)) {
51 auto value = items.at(key).lock();
52 if (
auto ptr = value) {
58 m = std::make_shared<T>(str, extras...);
61 m = std::make_shared<T>(extras...);
72 for(
const auto& entry : items){
73 if (entry.second.expired()){
86 std::lock_guard
guard(mtx);
91template<
typename key,
typename T,
bool keyIsConstructionParam>
94template<
typename key,
typename T,
bool keyIsConstructionParam>
Definition SpinLock.hpp:9
Definition concurrentqueue.h:747
Definition Animation.hpp:6
Definition Manager.hpp:11
Definition Manager.hpp:20
static Ref< T > GetWithKey(const key_t &str, unique_key_t unique_key, A ... extras)
Definition Manager.hpp:45
static void Compact()
Definition Manager.hpp:70
static Ref< T > Get(const key_t &str, A ... extras)
Definition Manager.hpp:33
static void Clear()
Definition Manager.hpp:85