Interface GLFWReallocateCallbackI
- All Superinterfaces:
org.lwjgl.system.CallbackI
,org.lwjgl.system.Pointer
- All Known Implementing Classes:
GLFWReallocateCallback
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
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 may be called during Init
but before the library is flagged as initialized, as well as during Terminate
after the library is no
longer flagged as initialized.
Any memory allocated by this function will be deallocated during library termination or earlier.
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. Reallocations of NULL
to a non-zero size are converted into regular allocations.
Note
- The returned memory block must be valid at least until it is deallocated.
- This function should not call any GLFW function.
- This function may be called from any thread that calls GLFW functions.
Type
void * (*invoke(long, long, long)
) (
void *block,
size_t size,
void *user
)
- Since:
- version 3.4
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default
-
Field Summary
FieldsFields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Method Summary
Methods inherited from interface org.lwjgl.system.CallbackI
address
-
Field Details
-
CIF
static final org.lwjgl.system.libffi.FFICIF CIF
-
-
Method Details
-
getCallInterface
default org.lwjgl.system.libffi.FFICIF getCallInterface()- Specified by:
getCallInterface
in interfaceorg.lwjgl.system.CallbackI
-
callback
default void callback(long ret, long args) - Specified by:
callback
in interfaceorg.lwjgl.system.CallbackI
-
invoke
long invoke(long block, long size, long user) Will be called for memory reallocation requests.- Parameters:
block
- the address of the memory block to reallocatesize
- the new minimum size, in bytes, of the memory blockuser
- the user-defined pointer from the allocator- Returns:
- the address of the newly allocated or resized memory block, or
NULL
if an error occurred
-