Wwise SDK 2023.1.4
AK::ObjectPool< T, AllocatorType, LockType > Class Template Reference

An object pool of N reusable objects with one allocation. More...

#include <AkObjectPool.h>

Inheritance diagram for AK::ObjectPool< T, AllocatorType, LockType >:
AkArrayAllocatorNoAlign< T_MEMID > AK::ObjectPoolNoLock


union  DataType

Public Types

using ValueType = T
using SizeType = AkUInt32

Public Member Functions

 ObjectPool ()=default
 ObjectPool (const ObjectPool &)=delete
 ObjectPool (ObjectPool &&)=delete
 ~ObjectPool ()
ObjectPooloperator= (const ObjectPool &)=delete
ObjectPooloperator= (ObjectPool &&)=delete
AKRESULT Init (SizeType count)
void Term ()
AK_NODISCARD SizeType Size () const
AK_NODISCARD SizeType Capacity () const
AK_NODISCARD bool IsFull () const
AK_NODISCARD bool IsEmpty () const
AKRESULT Deallocate (ValueType *data)
void Clear ()
AK_NODISCARD ValueTypeAllocate ()
AK_NODISCARD ValueTypeAllocateZeroFilled ()
 Initialize memory before returning. More...

Static Public Attributes

static constexpr SizeType kInvalidIndex = (SizeType)-1


struct UnitTest::ObjectPoolHelper

Detailed Description

template<typename T, typename AllocatorType = ObjectPoolDefaultAllocator<>, typename LockType = ObjectPoolDefaultLockType>
class AK::ObjectPool< T, AllocatorType, LockType >

An object pool of N reusable objects with one allocation.

Definition at line 58 of file AkObjectPool.h.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise