table of contents
include/Zycore/Allocator.h(3) | Library Functions Manual | include/Zycore/Allocator.h(3) |
NAME¶
include/Zycore/Allocator.h
SYNOPSIS¶
#include <Zycore/Status.h>
#include <Zycore/Types.h>
Classes¶
struct ZyanAllocator_
Typedefs¶
typedef ZyanStatus(* ZyanAllocatorAllocate) (struct
ZyanAllocator_ *allocator, void **p, ZyanUSize element_size,
ZyanUSize n)
typedef ZyanStatus(* ZyanAllocatorDeallocate) (struct
ZyanAllocator_ *allocator, void *p, ZyanUSize element_size, ZyanUSize
n)
typedef struct ZyanAllocator_ ZyanAllocator
Functions¶
ZYCORE_EXPORT ZyanStatus ZyanAllocatorInit
(ZyanAllocator *allocator, ZyanAllocatorAllocate allocate,
ZyanAllocatorAllocate reallocate, ZyanAllocatorDeallocate
deallocate)
ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanAllocator *
ZyanAllocatorDefault (void)
Typedef Documentation¶
typedef struct ZyanAllocator_ ZyanAllocator¶
Defines the ZyanAllocator struct.
This is the base class for all custom allocator implementations.
All fields in this struct should be considered as 'private'. Any changes may lead to unexpected behavior.
typedef ZyanStatus(* ZyanAllocatorAllocate) (struct ZyanAllocator_ *allocator, void **p, ZyanUSize element_size, ZyanUSize n)¶
Defines the ZyanAllocatorAllocate function prototype.
Parameters
p Receives a pointer to the first memory block sufficient to hold an array of n elements with a size of element_size.
element_size The size of a single element.
n The number of elements to allocate storage for.
Returns
This prototype is used for the allocate() and reallocate() functions.
The result of the reallocate() function is undefined, if p does not point to a memory block previously obtained by (re-)allocate().
typedef ZyanStatus(* ZyanAllocatorDeallocate) (struct ZyanAllocator_ *allocator, void *p, ZyanUSize element_size, ZyanUSize n)¶
Defines the ZyanAllocatorDeallocate function prototype.
Parameters
p The pointer obtained from (re-)allocate().
element_size The size of a single element.
n The number of elements earlier passed to (re-)allocate().
Returns
Function Documentation¶
ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanAllocator * ZyanAllocatorDefault (void)¶
Returns the default ZyanAllocator instance.
Returns
The default allocator uses the default memory manager to allocate memory on the heap.
You should in no case modify the returned allocator instance to avoid unexpected behavior.
ZYCORE_EXPORT ZyanStatus ZyanAllocatorInit (ZyanAllocator * allocator, ZyanAllocatorAllocate allocate, ZyanAllocatorAllocate reallocate, ZyanAllocatorDeallocate deallocate)¶
Initializes the given ZyanAllocator instance.
Parameters
allocate The allocate function.
reallocate The reallocate function.
deallocate The deallocate function.
Returns
Author¶
Generated automatically by Doxygen for Zycore from the source code.
Version 1.5.1.0 | Zycore |