Interface DuplicateFunc

All Superinterfaces:
FunctionPointer
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @Generated("org.javagi.JavaGI") public interface DuplicateFunc extends FunctionPointer

Functional interface declaration of the DuplicateFunc callback.

See Also:
  • Method Details

    • run

      MemorySegment run(@Nullable MemorySegment data)
      The type of functions that are used to 'duplicate' an object. What this means depends on the context, it could just be incrementing the reference count, if data is a ref-counted object.
      Parameters:
      data - the data to duplicate
      Returns:
      a duplicate of data
    • upcall

      default MemorySegment upcall(MemorySegment data, MemorySegment userData)
      The upcall method is called from native code. The parameters are marshaled and run(MemorySegment) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer