@Documented @Retention(value=RUNTIME) @Target(value=METHOD) public @interface Allocator
native void allocate(...)
are recognized
as allocators even without annotation. This behavior can be changed by annotating
the method with the Function
annotation. An allocator must have no
return values, but can have parameters corresponding to the ones found on the
native C++ constructors.
In a nutshell, an allocator uses the C++ new
operator along with all
the given arguments, and initializes the Pointer.address
as well as
the Pointer.deallocator
with NativeDeallocator
, based on the
delete
operator, if not additionally annotated with NoDeallocator
.
Pointer.init(long, long, long, long)
,
Generator
Copyright © 2019. All rights reserved.