Class VkReallocationFunction

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.lwjgl.system.CallbackI, org.lwjgl.system.CallbackI.P, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer, VkReallocationFunctionI

    public abstract class VkReallocationFunction
    extends org.lwjgl.system.Callback
    implements VkReallocationFunctionI
    Application-defined memory reallocation function.
    C Specification

    The type of pfnReallocation is:

    
     typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
         void*                                       pUserData,
         void*                                       pOriginal,
         size_t                                      size,
         size_t                                      alignment,
         VkSystemAllocationScope                     allocationScope);
    Description

    pfnReallocation must return an allocation with enough space for size bytes, and the contents of the original allocation from bytes zero to min(original size, new size) - 1 must be preserved in the returned allocation. If size is larger than the old size, the contents of the additional space are undefined. If satisfying these requirements involves creating a new allocation, then the old allocation should be freed.

    If pOriginal is NULL, then pfnReallocation must behave equivalently to a call to VkAllocationFunction with the same parameter values (without pOriginal).

    If size is zero, then pfnReallocation must behave equivalently to a call to VkFreeFunction with the same pUserData parameter value, and pMemory equal to pOriginal.

    If pOriginal is non-NULL, the implementation must ensure that alignment is equal to the alignment used to originally allocate pOriginal.

    If this function fails and pOriginal is non-NULL the application must not free the old allocation.

    pfnReallocation must follow the same rules for return values as tname:PFN_vkAllocationFunction.

    See Also

    VkAllocationCallbacks

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.lwjgl.system.CallbackI

        org.lwjgl.system.CallbackI.B, org.lwjgl.system.CallbackI.D, org.lwjgl.system.CallbackI.F, org.lwjgl.system.CallbackI.I, org.lwjgl.system.CallbackI.J, org.lwjgl.system.CallbackI.N, org.lwjgl.system.CallbackI.P, org.lwjgl.system.CallbackI.S, org.lwjgl.system.CallbackI.V, org.lwjgl.system.CallbackI.Z
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

        org.lwjgl.system.Pointer.Default
    • Field Summary

      • Fields inherited from interface org.lwjgl.system.Pointer

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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static VkReallocationFunction create​(long functionPointer)
      Creates a VkReallocationFunction instance from the specified function pointer.
      static VkReallocationFunction create​(VkReallocationFunctionI instance)
      Creates a VkReallocationFunction instance that delegates to the specified VkReallocationFunctionI instance.
      static VkReallocationFunction createSafe​(long functionPointer)
      Like create, but returns null if functionPointer is NULL.
      • Methods inherited from class org.lwjgl.system.Callback

        __stdcall, address, equals, free, free, get, getSafe, hashCode, toString
      • Methods inherited from interface org.lwjgl.system.CallbackI

        address
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • create

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

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