neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance > Class Template Reference

#include <allocator.hpp>

Classes

struct  rebind
 

Public Types

typedef T value_type
 
typedef Tpointer
 
typedef Treference
 
typedef const Tconst_pointer
 
typedef const Tconst_reference
 
typedef std::size_t size_type
 
typedef ptrdiff_t difference_type
 

Public Member Functions

 neo_pool_allocator ()
 
 neo_pool_allocator (const neo_pool_allocator &)
 
template<typename U >
 neo_pool_allocator (const neo_pool_allocator< U, ChunkSize, Omega, Instance > &)
 
 ~neo_pool_allocator ()
 
size_type max_size () const
 
bool operator== (const neo_pool_allocator &) const
 
bool operator!= (const neo_pool_allocator &) const
 

Static Public Member Functions

static pointer allocate (size_type aCount=1)
 
static void deallocate (pointer aObject, size_type aCount=1)
 
static void construct (pointer aObject, const_reference val)
 
template<typename... Args>
static void construct (pointer aObject, Args &&... aArguments)
 
static void destroy (pointer aObject)
 
static void omega_recycle ()
 
template<typename CharT , typename Traits >
static void info (std::basic_ostream< CharT, Traits > &aOutput)
 

Detailed Description

template<typename T, std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
class neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >

Definition at line 50 of file allocator.hpp.

Member Typedef Documentation

◆ const_pointer

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef const T* neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::const_pointer

Definition at line 56 of file allocator.hpp.

◆ const_reference

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef const T& neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::const_reference

Definition at line 57 of file allocator.hpp.

◆ difference_type

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef ptrdiff_t neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::difference_type

Definition at line 59 of file allocator.hpp.

◆ pointer

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef T* neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::pointer

Definition at line 54 of file allocator.hpp.

◆ reference

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef T& neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::reference

Definition at line 55 of file allocator.hpp.

◆ size_type

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef std::size_t neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::size_type

Definition at line 58 of file allocator.hpp.

◆ value_type

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
typedef T neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::value_type

Definition at line 53 of file allocator.hpp.

Constructor & Destructor Documentation

◆ neo_pool_allocator() [1/3]

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::neo_pool_allocator ( )
inline

Definition at line 183 of file allocator.hpp.

◆ neo_pool_allocator() [2/3]

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::neo_pool_allocator ( const neo_pool_allocator< T, ChunkSize, Omega, Instance > &  )
inline

Definition at line 187 of file allocator.hpp.

◆ neo_pool_allocator() [3/3]

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
template<typename U >
neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::neo_pool_allocator ( const neo_pool_allocator< U, ChunkSize, Omega, Instance > &  )
inline

Definition at line 192 of file allocator.hpp.

◆ ~neo_pool_allocator()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::~neo_pool_allocator ( )
inline

Definition at line 196 of file allocator.hpp.

Member Function Documentation

◆ allocate()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
static pointer neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::allocate ( size_type  aCount = 1)
inlinestatic

Definition at line 202 of file allocator.hpp.

◆ construct() [1/2]

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
template<typename... Args>
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::construct ( pointer  aObject,
Args &&...  aArguments 
)
inlinestatic

Definition at line 227 of file allocator.hpp.

◆ construct() [2/2]

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::construct ( pointer  aObject,
const_reference  val 
)
inlinestatic

Definition at line 221 of file allocator.hpp.

◆ deallocate()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::deallocate ( pointer  aObject,
size_type  aCount = 1 
)
inlinestatic

Definition at line 210 of file allocator.hpp.

◆ destroy()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::destroy ( pointer  aObject)
inlinestatic

Definition at line 232 of file allocator.hpp.

◆ info()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
template<typename CharT , typename Traits >
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::info ( std::basic_ostream< CharT, Traits > &  aOutput)
inlinestatic

Definition at line 244 of file allocator.hpp.

◆ max_size()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
size_type neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::max_size ( ) const
inline

Definition at line 256 of file allocator.hpp.

◆ omega_recycle()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
static void neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::omega_recycle ( )
inlinestatic

Definition at line 238 of file allocator.hpp.

◆ operator!=()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
bool neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::operator!= ( const neo_pool_allocator< T, ChunkSize, Omega, Instance > &  ) const
inline

Definition at line 259 of file allocator.hpp.

◆ operator==()

template<typename T , std::size_t ChunkSize = 4096, bool Omega = false, std::size_t Instance = 0>
bool neolib::neo_pool_allocator< T, ChunkSize, Omega, Instance >::operator== ( const neo_pool_allocator< T, ChunkSize, Omega, Instance > &  ) const
inline

Definition at line 258 of file allocator.hpp.


The documentation for this class was generated from the following file: