rodecomp/Source/Utility/Async/NRecycleObjectPoolMgr.h
ragnarok-clanker 1d0e5dc05e Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Utility headers (Async, Math, Threading)
Batch #1057 by ragnarok-clanker: no function's compiled code changes; checked with 75 compiled unit(s), including every includer of Source/Utility/Async/AsyncDiagnostic.h, Source/Utility/Async/NAsyncWorkQueue.h, Source/Utility/Async/NMessageQueue.h, Source/Utility/Async/NRecycleObjectPoolMgr.h, Source/Utility/Math/AffineMatrix.h, Source/Utility/Threading/CSyncObject.h, Source/Utility/Threading/NSyncObject.h.
2026-10-27 13:40:06 +00:00

31 lines
798 B
C++

#ifndef RAGNAROK_SOURCE_UTILITY_ASYNC_NRECYCLEOBJECTPOOLMGR_H
#define RAGNAROK_SOURCE_UTILITY_ASYNC_NRECYCLEOBJECTPOOLMGR_H
#include "Utility/Async/NRecycleObject.h"
#include <string>
#include <unordered_map>
class NRecycleObjectPoolMgr {
public:
NRecycleObjectPoolMgr();
virtual ~NRecycleObjectPoolMgr();
NRecycleObject* Acquire(std::string poolName);
void Release(std::string poolName, NRecycleObject* object);
protected:
struct NameHash {
/* 0000 */ std::uint8_t unknown_0000 = 0;
std::size_t operator()(const std::string& name) const;
};
/* 0004 */ bool m_enabled;
/* 0008 */ std::unordered_map<std::string, NRecycleObjectPoolInter*, NameHash> m_pools;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(NRecycleObjectPoolMgr) == 44);
#endif
#endif