5 #ifndef __LOGOG_OBJECT_HPP__
6 #define __LOGOG_OBJECT_HPP__
11 #ifdef LOGOG_LEAK_DETECTION
35 #endif // LOGOG_LEAK_DETECTION
38 #define LOGOG_PREVIOUS_DEFINITION_OF_NEW new
42 #define LOGOG_PREVIOUS_DEFINITION_OF_DELETE delete
54 void *
operator new(
size_t nSize );
56 void *
operator new[](
size_t nSize);
67 #ifdef LOGOG_FLAVOR_WINDOWS
68 void*
operator new(
size_t nSize, LPCSTR lpszFileName,
int nLine);
69 void*
operator new[](
size_t nSize, LPCSTR lpszFileName,
int nLine);
70 void operator delete(
void* ptr, LPCSTR lpszFileName,
int nLine);
71 void operator delete[](
void* ptr, LPCSTR lpszFileName,
int nLine);
72 #endif // LOGOG_FLAVOR_WINDOWS
76 void operator delete(
void *ptr );
78 void operator delete[](
void *ptr );
83 static void *
Allocate(
size_t nSize );
89 #ifdef LOGOG_PREVIOUS_DEFINITION_OF_NEW
90 #define new LOGOG_PREVIOUS_DEFINITION_OF_NEW
93 #ifdef LOGOG_PREVIOUS_DEFINITION_OF_DELETE
94 #define delete GA_PREVIOUS_DEFINITION_OF_DELETE
143 const_pointer
address( const_reference x )
const
155 new(( T * ) p ) T( val );
160 #ifdef LOGOG_FLAVOR_WINDOWS
163 #endif // LOGOG_FLAVOR_WINDOWS
195 template <
class T1,
class T2>
201 template <
class T1,
class T2>
221 #endif // __LOGOG_OBJECT_HPP
[Thread]
Definition: api.hpp:8
int ReportMemoryAllocations()
Definition: object.hpp:99
const T * const_pointer
Definition: object.hpp:109
void destroy(pointer p)
Definition: object.hpp:158
T * pointer
Definition: object.hpp:107
pointer allocate(size_type n, const void *=0)
Definition: object.hpp:122
void deallocate(void *p, size_type)
Definition: object.hpp:129
LOGOG_UNORDERED_MAP< PointerType, size_t > AllocationsType
Definition: object.hpp:21
static void * Allocate(size_t nSize)
bool operator!=(const Allocator< T1 > &, const Allocator< T2 > &)
Definition: object.hpp:202
void * PointerType
Definition: object.hpp:16
void construct(pointer p, const T &val)
Definition: object.hpp:153
void UnlockAllocationsMutex()
ptrdiff_t difference_type
Definition: object.hpp:105
T value_type
Definition: object.hpp:115
Allocator(const Allocator &)
Definition: object.hpp:119
pointer address(reference x) const
Definition: object.hpp:138
Allocator()
Definition: object.hpp:117
size_t size_type
Definition: object.hpp:103
AllocationsType s_Allocations
Definition: object.hpp:176
Allocator< T > & operator=(const Allocator &)
Definition: object.hpp:148
Allocator & operator=(const Allocator< U > &)
Definition: object.hpp:188
Definition: object.hpp:47
const T & const_reference
Definition: object.hpp:113
size_type max_size() const
Definition: object.hpp:168
static void Deallocate(void *ptr)
T & reference
Definition: object.hpp:111
void LockAllocationsMutex()
Allocator(const Allocator< U > &)
Definition: object.hpp:184
Allocator< U > other
Definition: object.hpp:179
bool operator==(const Allocator< T1 > &, const Allocator< T2 > &)
Definition: object.hpp:196
const_pointer address(const_reference x) const
Definition: object.hpp:143