Interface VkReallocationFunctionI
-
- All Superinterfaces:
org.lwjgl.system.CallbackI,org.lwjgl.system.CallbackI.P,org.lwjgl.system.Pointer
- All Known Implementing Classes:
VkReallocationFunction
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface VkReallocationFunctionI extends org.lwjgl.system.CallbackI.PApplication-defined memory reallocation function.C Specification
The type of
pfnReallocationis:typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( void* pUserData, void* pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope);Description
pfnReallocationmust return an allocation with enough space forsizebytes, and the contents of the original allocation from bytes zero tomin(original size, new size) - 1must be preserved in the returned allocation. Ifsizeis 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
pOriginalisNULL, thenpfnReallocationmust behave equivalently to a call toVkAllocationFunctionwith the same parameter values (withoutpOriginal).If
sizeis zero, thenpfnReallocationmust behave equivalently to a call toVkFreeFunctionwith the samepUserDataparameter value, andpMemoryequal topOriginal.If
pOriginalis non-NULL, the implementation must ensure thatalignmentis equal to thealignmentused to originally allocatepOriginal.If this function fails and
pOriginalis non-NULLthe application must not free the old allocation.pfnReallocationmust follow the same rules for return values as tname:PFN_vkAllocationFunction.See Also
-
-
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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSIGNATURE
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default longcallback(long args)default java.lang.StringgetSignature()longinvoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope)Application-defined memory reallocation function.
-
-
-
Method Detail
-
getSignature
default java.lang.String getSignature()
- Specified by:
getSignaturein interfaceorg.lwjgl.system.CallbackI
-
callback
default long callback(long args)
- Specified by:
callbackin interfaceorg.lwjgl.system.CallbackI.P
-
invoke
long invoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope)Application-defined memory reallocation function.- Parameters:
pUserData- the value specified forVkAllocationCallbacks::pUserDatain the allocator specified by the application.pOriginal- must be eitherNULLor a pointer previously returned bypfnReallocationorpfnAllocationof a compatible allocator.size- the size in bytes of the requested allocation.alignment- the requested alignment of the allocation in bytes and must be a power of two.allocationScope- aVkSystemAllocationScopevalue specifying the allocation scope of the lifetime of the allocation, as described here.
-
-