#include <allocator_concurrent_static.h>
Public Types | |
using | value_type = Node |
using | pointer = Node * |
using | size_type = AZStd::size_t |
using | difference_type = AZStd::ptrdiff_t |
Public Member Functions | |
AZ_FORCE_INLINE | static_pool_concurrent_allocator (const char *name="AZStd::static_pool_concurrent_allocator") |
AZ_FORCE_INLINE | static_pool_concurrent_allocator (const this_type &rhs) |
AZ_FORCE_INLINE | static_pool_concurrent_allocator (const this_type &rhs, const char *name) |
AZ_FORCE_INLINE this_type & | operator= (const this_type &rhs) |
AZ_FORCE_INLINE const char * | get_name () const |
AZ_FORCE_INLINE void | set_name (const char *name) |
constexpr size_type | max_size () const |
AZ_FORCE_INLINE size_type | get_allocated_size () const |
Node * | allocate () |
pointer | allocate (size_type byteSize, size_type alignment, int flags=0) |
void | deallocate (Node *ptr) |
void | deallocate (pointer ptr, size_type byteSize, size_type alignment) |
AZ_FORCE_INLINE size_type | resize (pointer ptr, size_type newSize) |
void | reset () |
void | leak_before_destroy () |
AZ_FORCE_INLINE void * | data () const |
AZ_FORCE_INLINE constexpr size_type | data_size () const |
Declares a static buffer of Node[NumNodes], and them pools them. It provides concurrent safe access. This is a perfect allocator for pooling lists or hash table nodes. Internally the buffer is allocated using aligned_storage.