Version

    Other Documentation

menu_open
Wwise SDK 2022.1.9
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 ()
 
ObjectPool operator= (const ObjectPool &)=delete
 
ObjectPool operator= (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 ValueType Allocate ()
 
AK_NODISCARD ValueType AllocateZeroFilled ()
  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