arsa  2.7
Public Member Functions | List of all members
irr::core::irrAllocatorFast< T > Class Template Reference

Fast allocator, only to be used in containers inside the same memory heap. More...

#include <irrAllocator.h>

Public Member Functions

T * allocate (size_t cnt)
 Allocate memory for an array of objects. More...
 
void deallocate (T *ptr)
 Deallocate memory for an array of objects. More...
 
void construct (T *ptr, const T &e)
 Construct an element. More...
 
void destruct (T *ptr)
 Destruct an element. More...
 

Detailed Description

template<typename T>
class irr::core::irrAllocatorFast< T >

Fast allocator, only to be used in containers inside the same memory heap.

Containers using it are NOT able to be used it across dll boundaries. Use this when using in an internal class or function or when compiled into a static lib

Definition at line 75 of file irrAllocator.h.

Member Function Documentation

◆ allocate()

template<typename T >
T* irr::core::irrAllocatorFast< T >::allocate ( size_t  cnt)
inline

Allocate memory for an array of objects.

Definition at line 80 of file irrAllocator.h.

81  {
82  return (T*)operator new(cnt* sizeof(T));
83  }

◆ construct()

template<typename T >
void irr::core::irrAllocatorFast< T >::construct ( T *  ptr,
const T &  e 
)
inline

Construct an element.

Definition at line 92 of file irrAllocator.h.

93  {
94  new ((void*)ptr) T(e);
95  }

◆ deallocate()

template<typename T >
void irr::core::irrAllocatorFast< T >::deallocate ( T *  ptr)
inline

Deallocate memory for an array of objects.

Definition at line 86 of file irrAllocator.h.

87  {
88  operator delete(ptr);
89  }

◆ destruct()

template<typename T >
void irr::core::irrAllocatorFast< T >::destruct ( T *  ptr)
inline

Destruct an element.

Definition at line 98 of file irrAllocator.h.

99  {
100  ptr->~T();
101  }

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