#include <cstdliballocator.h>
详细描述
C stdlib memory allocator. This allocator forwards all requests to malloc(), realloc() and free(). It is much slower than the
DefaultAllocator
and should only be used, if your code requires memory directly from the C stdlib.
THREADSAFE.
静态公共成员函数
|
static
Int
|
ComputeArraySize
(
Int
currentSize,
Int
increment,
Int
minChunkSize)
|
static void *
|
Alloc
(
Int32
s,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
static void *
|
Alloc
(
Int64
s,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
static void *
|
AllocClear
(
Int32
s,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
static void *
|
AllocClear
(
Int64
s,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
static void *
|
Realloc
(void *p,
Int32
n,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
static void *
|
Realloc
(void *p,
Int64
n,
MAXON_SOURCE_LOCATION_DECLARATION
)
|
template<typename T >
|
static void
|
Free
(T *&p)
|
static
Bool
|
IsCompatibleWithDefaultAllocator
(void *)
|
成员函数文档编制
◆
ComputeArraySize()
static
Int
ComputeArraySize
|
(
|
Int
|
currentSize
,
|
|
|
Int
|
increment
,
|
|
|
Int
|
minChunkSize
|
|
)
|
|
|
|
static
|
Computes the new size for a growing array THREADSAFE.
-
参数
-
[in]
|
currentSize
|
Current number of elements.
|
[in]
|
increment
|
Number of elements to be added (>= 1)
|
[in]
|
minChunkSize
|
The minimum number of elements upon array creation.
|
-
返回
-
New number of elements.
◆
Alloc()
[1/2]
Allocates a memory block. The memory is not cleared, it may contain a certain byte pattern in debug mode THREADSAFE.
-
参数
-
-
返回
-
Memory block address or nullptr.
◆
Alloc()
[2/2]
Allocates a memory block. The memory is not cleared, it may contain a certain byte pattern in debug mode THREADSAFE.
-
参数
-
-
返回
-
Memory block address or nullptr.
◆
AllocClear()
[1/2]
Allocates a memory block and clears it THREADSAFE.
-
参数
-
-
返回
-
Memory block address or nullptr.
◆
AllocClear()
[2/2]
Allocates a memory block and clears it THREADSAFE.
-
参数
-
-
返回
-
Memory block address or nullptr.
◆
Realloc()
[1/2]
Resizes a memory block. The content of the memory block is preserved up to the lesser of the new and old sizes, even if the block is moved to a new location. The additional memory is not cleared, it may contain a certain byte pattern in debug mode. In case that p is a nullptr the function behaves like Alloc. If the function fails to allocate the requested block of memory a nullptr is returned and the memory block pointed to by argument p is not deallocated (it is still valid with its contents unchanged). THREADSAFE.
-
参数
-
[in]
|
p
|
Current memory block (can be nullptr)
|
[in]
|
n
|
New block size in bytes (values < 0 will return nullptr)
|
[in]
|
allocLocation
|
Pass
MAXON_SOURCE_LOCATION(_NAME)
to add the current source line and file.
|
-
返回
-
Memory block address or nullptr if resize is not possible (p is still valid in this case)
◆
Realloc()
[2/2]
Resizes a memory block. The content of the memory block is preserved up to the lesser of the new and old sizes, even if the block is moved to a new location. The additional memory is not cleared, it may contain a certain byte pattern in debug mode. In case that p is a nullptr the function behaves like Alloc. If the function fails to allocate the requested block of memory a nullptr is returned and the memory block pointed to by argument p is not deallocated (it is still valid with its contents unchanged). THREADSAFE.
-
参数
-
[in]
|
p
|
Current memory block (can be nullptr)
|
[in]
|
n
|
New block size in bytes (values < 0 will return nullptr)
|
[in]
|
allocLocation
|
Pass
MAXON_SOURCE_LOCATION(_NAME)
to add the current source line and file.
|
-
返回
-
Memory block address or nullptr if resize is not possible (p is still valid in this case)
◆
Free()
static void Free
|
(
|
T *&
|
p
|
)
|
|
|
static
|
Frees a memory block. THREADSAFE.
-
参数
-
[in,out]
|
p
|
Memory block address (can be nullptr, will be nullptr after return)
|
◆
IsCompatibleWithDefaultAllocator()
static
Bool
IsCompatibleWithDefaultAllocator
|
(
|
void *
|
|
)
|
|
|
static
|
Returns if a memory block allocated via this allocator can be reallocated or freed by the
DefaultAllocator
.
-
返回
-
Always false.