Template Class DataPool

Nested Relationships

Nested Types

Class Documentation

template<typename Handle>
class DataPool

Public Types

using DataType = typename Handle::DataType
using TagType = typename Handle::TagType
using HandleType = Handle

Public Functions

template<std::size_t N>
inline HandleType add(const std::array<DataType, N> &data)
inline HandleType add(const DataType *data, uint16_t size)
inline const DataType *get(HandleType handle, uint16_t &outSize) const
inline void addRef(uint32_t id)
inline void addRef(HandleType handle)
inline void remove(uint32_t id)
inline void remove(HandleType handle)
inline void forceRemove(HandleType handle)
inline Stats getStats() const
inline void cleanup()
inline ~DataPool()
struct Item

Public Functions

Item() = default
inline void cleanup()

Public Members

DataType *data = nullptr
uint16_t size = 0
uint16_t refCount = 0
bool isActive = false
struct Stats

Public Members

size_t totalAllocations = 0
size_t totalMemory = 0
size_t activeItems = 0
size_t freeIds = 0