Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
gts::OsHeapAllocator< ALIGNMENT > Class Template Reference

An OS heap allocator for GTS containers. More...

#include <OsHeapAllocator.h>

Inherited by gts::QueueMPMC< SlabHeader *, UnfairSpinMutex<>, OsHeapAllocator< GTS_NO_SHARING_CACHE_LINE_SIZE > > [private], and gts::Vector< internal::BlockAllocator, OsHeapAllocator< GTS_NO_SHARING_CACHE_LINE_SIZE > > [private].

Public Member Functions

 OsHeapAllocator (const OsHeapAllocator &)=default
 
template<typename T >
size_t max_size () const
 
template<typename T , typename... TArgs>
void construct (T *p, TArgs &&... args)
 
template<typename T >
void destroy (T *const ptr)
 
template<typename T >
T * allocate (const size_t n, size_t align=ALIGNMENT) const
 
template<typename T >
void deallocate (T *const p, size_t size) const
 
template<typename T , typename... TArgs>
T * new_object (TArgs &&... args)
 
template<typename T >
void delete_object (T *ptr)
 
template<typename T >
T * vector_new_object (size_t count)
 
template<typename T >
void vector_delete_object (T *ptr, size_t count)
 

Detailed Description

template<size_t ALIGNMENT>
class gts::OsHeapAllocator< ALIGNMENT >

An OS heap allocator for GTS containers.