Version

menu_open
Wwise SDK 2023.1.8
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

Classes

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
 

Friends

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