Class GLFWAllocateCallback

java.lang.Object
org.lwjgl.system.Callback
org.lwjgl.glfw.GLFWAllocateCallback
All Implemented Interfaces:
AutoCloseable, GLFWAllocateCallbackI, org.lwjgl.system.CallbackI, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public abstract class GLFWAllocateCallback extends org.lwjgl.system.Callback implements GLFWAllocateCallbackI
The function pointer type for memory allocation callbacks.

This is the function pointer type for memory allocation callbacks. A memory allocation callback function has the following signature:


 void* function_name(size_t size, void* user)

This function must return either 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 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 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 malloc provides. If you are using C11 or later, this is the value of alignof(max_align_t).

The size will always be greater than zero. Allocations of size zero are filtered out before reaching the custom allocator.

If this function returns NULL, GLFW will emit OUT_OF_MEMORY.

Note
  • The returned memory block must be valid at least until it is deallocated.
  • This function must not call any GLFW function.
  • This function must support being called from any thread that calls GLFW functions.

Type


 void * (*GLFWAllocateCallbackI.invoke(long, long)) (
     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

    Fields inherited from interface org.lwjgl.glfw.GLFWAllocateCallbackI

    CIF

    Fields inherited from interface org.lwjgl.system.Pointer

    BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
  • Method Summary

    Modifier and Type
    Method
    Description
    create(long functionPointer)
    Creates a GLFWAllocateCallback instance from the specified function pointer.
    Creates a GLFWAllocateCallback instance that delegates to the specified GLFWAllocateCallbackI instance.
    static @Nullable GLFWAllocateCallback
    createSafe(long functionPointer)
    Like create, but returns null if functionPointer is NULL.

    Methods inherited from class org.lwjgl.system.Callback

    address, equals, free, free, get, getSafe, hashCode, toString

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.lwjgl.system.CallbackI

    address

    Methods inherited from interface org.lwjgl.glfw.GLFWAllocateCallbackI

    callback, getCallInterface, invoke

    Methods inherited from interface org.lwjgl.system.NativeResource

    close
  • Method Details

    • create

      public static GLFWAllocateCallback create(long functionPointer)
      Creates a GLFWAllocateCallback instance from the specified function pointer.
      Returns:
      the new GLFWAllocateCallback
    • createSafe

      public static @Nullable GLFWAllocateCallback createSafe(long functionPointer)
      Like create, but returns null if functionPointer is NULL.
    • create

      public static GLFWAllocateCallback create(GLFWAllocateCallbackI instance)
      Creates a GLFWAllocateCallback instance that delegates to the specified GLFWAllocateCallbackI instance.