28 #ifndef ALLOCATOR_ADAPTERS 29 #define ALLOCATOR_ADAPTERS 53 template<
size_t alignment = allocationAlignment>
67 template<vm::PageType pageType = vm::kDefault,
int prot = PROT_READ|PROT_WRITE>
81 template<
size_t commitSize = largePageSize, vm::PageType pageType = vm::kDefault,
int prot = PROT_READ|PROT_WRITE>
100 template<
typename T,
class Allocator>
122 : allocator(&allocator)
126 template<
typename U,
class A>
128 : allocator(rhs.allocator)
154 return std::numeric_limits<std::size_t>::max() /
sizeof(
T);
173 return (pointer)allocator->allocate(n*
sizeof(
T));
183 return allocator->deallocate(ptr, n*
sizeof(
T));
190 #endif // #ifndef ALLOCATOR_ADAPTERS void * rtl_AllocateAligned(size_t size, size_t align)
Definition: gcc.cpp:66
std::size_t size_type
Definition: allocator_adapters.h:109
pointer allocate(size_type n)
Definition: allocator_adapters.h:168
#define UNUSED(param)
mark a function parameter as unused and avoid the corresponding compiler warning. ...
Definition: code_annotation.h:38
void deallocate(void *p, size_t size)
Definition: allocator_adapters.h:75
bool operator==(const ProxyAllocator &rhs) const
Definition: allocator_adapters.h:133
Definition: allocator_adapters.h:68
Definition: file_cache.cpp:91
bool operator==(const FCDJointWeightPair &a, const FCDJointWeightPair &b)
Definition: GeomReindex.cpp:59
#define NOTHROW_DEFINE
Definition: code_annotation.h:86
T * pointer
Definition: allocator_adapters.h:105
const T & const_reference
Definition: allocator_adapters.h:108
void deallocate(void *p, size_t size)
Definition: allocator_adapters.h:89
void * allocate(size_t size)
Definition: allocator_adapters.h:42
Definition: allocator_adapters.h:54
Allocator * allocator
Definition: allocator_adapters.h:187
#define UNUSED2(param)
mark a function local variable or parameter as unused and avoid the corresponding compiler warning...
Definition: code_annotation.h:56
pointer allocate(size_type n, const void *const)
Definition: allocator_adapters.h:176
Definition: allocator_adapters.h:113
T value_type
Definition: allocator_adapters.h:104
void * allocate(size_t size)
Definition: allocator_adapters.h:84
void construct(const pointer ptr, const value_type &t)
Definition: allocator_adapters.h:157
void deallocate(void *p, size_t size)
Definition: allocator_adapters.h:61
size_type max_size() const
Definition: allocator_adapters.h:152
void * allocate(size_t size)
Definition: allocator_adapters.h:70
void deallocate(void *p, size_t size)
Definition: allocator_adapters.h:47
#define T(string_literal)
Definition: secure_crt.cpp:76
const T * const_pointer
Definition: allocator_adapters.h:106
void deallocate(const pointer ptr, const size_type n)
Definition: allocator_adapters.h:181
std::ptrdiff_t difference_type
Definition: allocator_adapters.h:110
void ReleaseAddressSpace(void *p, size_t size)
release address space and decommit any memory.
Definition: uvm.cpp:49
fully STL-compatible allocator that simply draws upon another Allocator.
Definition: allocator_adapters.h:101
void * allocate(size_t size)
Definition: allocator_adapters.h:56
void * Allocate(size_t size, PageType pageType, int prot)
reserve address space and commit memory.
Definition: uvm.cpp:98
void rtl_FreeAligned(void *alignedPointer)
Definition: gcc.cpp:93
T & reference
Definition: allocator_adapters.h:107
NOTHROW_DEFINE ProxyAllocator(const ProxyAllocator< U, A > &rhs)
Definition: allocator_adapters.h:127
void * ReserveAddressSpace(size_t size, size_t commitSize, PageType pageType, int prot)
reserve address space and set the parameters for any later on-demand commits.
Definition: uvm.cpp:40
bool operator!=(const ProxyAllocator &rhs) const
Definition: allocator_adapters.h:137
NOTHROW_DEFINE ProxyAllocator(Allocator &allocator)
Definition: allocator_adapters.h:121
pointer address(reference r)
Definition: allocator_adapters.h:142
void Free(void *p, size_t size)
decommit memory and release address space.
Definition: uvm.cpp:113
const_pointer address(const_reference s)
Definition: allocator_adapters.h:147
void destroy(pointer ptr)
Definition: allocator_adapters.h:162
ProxyAllocator< U, Allocator > other
Definition: allocator_adapters.h:115
Definition: allocator_adapters.h:40
Definition: allocator_adapters.h:82