PxBroadcastingAllocator
Defined in include/foundation/PxBroadcast.h
Inheritance Relationships
Base Type
public PxBroadcast< PxAllocationListener, PxAllocatorCallback >
(PxBroadcast)
-
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
-
inline PxBroadcastingAllocator(PxAllocatorCallback &allocator, PxErrorCallback &error)