Delegate GLFWreallocatefun
The function pointer type for memory reallocation callbacks.
This is the function pointer type for memory reallocation callbacks. A memory reallocation callback function has the following signature:
void* function_name(void* block, size_t size, void* user)
This function must return a memory block at least size
bytes long, or
null
if allocation failed. Note that not all parts of GLFW handle allocation
failures gracefully yet.
This function must support being called during glfwInit() but before the library is flagged as initialized, as well as during glfwTerminate() after the library is no longer flagged as initialized.
Any memory allocated via this function will be deallocated via the same allocator during library termination or earlier.
Any memory allocated via this function must be suitably aligned for any object type.
If you are using C99 or earlier, this alignment is platform-dependent but will be the
same as what realloc
provides.If you are using C11 or later, this is the value of
alignof(max_align_t)
.
The block address will never be null
and the size will always be greater than zero.
Reallocations of a block to size zero are converted into deallocations before reaching
the custom allocator.Reallocations of null
to a non-zero size are converted into
regular allocations before reaching the custom allocator.
If this function returns null
, GLFW will emit OutOfMemory.
This function must not call any GLFW function.
Namespace: OpenTK.Windowing.GraphicsLibraryFramework
Assembly: OpenTK.Windowing.GraphicsLibraryFramework.dll
Syntax
public delegate void* GLFWreallocatefun(void* block, UIntPtr size, void* user)
Parameters
Type | Name | Description |
---|---|---|
void* | block | The address of the memory block to reallocate. |
UIntPtr | size | The new minimum size, in bytes, of the memory block. |
void* | user | The user-defined pointer from the allocator. |
Returns
Type | Description |
---|---|
void* | The address of the newly allocated or resized memory block, or |
Remarks
The returned memory block must be valid at least until it is deallocated.
This function should not call any GLFW function.
This function must support being called from any thread that calls GLFW functions.