Template Class ObjectPool

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class ObjectPool : public SPIRV_CROSS_NAMESPACE::ObjectPoolBase

Public Functions

inline explicit ObjectPool(unsigned start_object_count_ = 16)
template<typename ...P>
inline T *allocate(P&&... p)
inline void deallocate(T *ptr)
inline virtual void deallocate_opaque(void *ptr) override
inline void clear()

Protected Attributes

Vector<T*> vacants
SmallVector<std::unique_ptr<T, MallocDeleter>> memory
unsigned start_object_count
struct MallocDeleter

Public Functions

inline void operator()(T *ptr)