PxBroadcastingAllocator#

Defined in include/foundation/PxBroadcast.h

class PxBroadcastingAllocator : public PxBroadcast<PxAllocationListener, PxAllocatorCallback>#

Abstract base class for an application defined memory allocator that allows an external listener to audit the memory allocations.

Public Functions

inline PxBroadcastingAllocator(
PxAllocatorCallback &allocator,
PxErrorCallback &error,
)#

The default constructor.

inline virtual ~PxBroadcastingAllocator()#

The default constructor.

inline virtual void *allocate(
size_t size,
const char *typeName,
const char *filename,
int line,
)#

Allocates size bytes of memory, which must be 16-byte aligned.

This method should never return NULL. If you run out of memory, then you should terminate the app or take some other appropriate action.

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:
  • size – Number of bytes to allocate.

  • typeName – Name of the datatype that is being allocated

  • filename – The source file which allocated the memory

  • line – The source line which allocated the memory

Returns:

The allocated block of memory.

inline virtual void deallocate(void *ptr)#

Frees memory previously allocated by allocate().

Threading: This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).

Parameters:

ptr – Memory to free.

inline void registerListener(PxAllocationListener &listener)#

Register new listener.

Note

It is NOT SAFE to register and deregister listeners while allocations may be taking place. moreover, there is no thread safety to registration/deregistration.

Parameters:

listener – Listener to register.

inline void deregisterListener(PxAllocationListener &listener)#

Deregister an existing listener.

Note

It is NOT SAFE to register and deregister listeners while allocations may be taking place. moreover, there is no thread safety to registration/deregistration.

Parameters:

listener – Listener to deregister.

inline uint32_t getNbListeners() const#

Get number of registered listeners.

Returns:

Number of listeners.

inline PxAllocationListener &getListener(uint32_t index)#

Get an existing listener from given index.

Parameters:

index – Index of the listener.

Returns:

Listener on given index.

Public Static Attributes

static const uint32_t MAX_NB_LISTENERS#

Protected Attributes

physx::PxInlineArray<PxAllocationListener*, MAX_NB_LISTENERS, physx::PxAllocator> mListeners#