Class FFICIF.Buffer

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.lang.Iterable<FFICIF>, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer
    Enclosing class:
    FFICIF

    public static class FFICIF.Buffer
    extends org.lwjgl.system.StructBuffer<FFICIF,FFICIF.Buffer>
    implements org.lwjgl.system.NativeResource
    An array of FFICIF structs.
    • 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.system.Pointer

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

      Constructors 
      Constructor Description
      Buffer​(long address, int cap)  
      Buffer​(java.nio.ByteBuffer container)
      Creates a new FFICIF.Buffer instance backed by the specified container.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int abi()  
      org.lwjgl.PointerBuffer arg_types​(int capacity)  
      int bytes()  
      int flags()  
      int nargs()  
      FFIType rtype()  
      • Methods inherited from class org.lwjgl.system.CustomBuffer

        address, address, address0, capacity, clear, compact, duplicate, flip, free, hasRemaining, limit, limit, mark, position, position, put, remaining, reset, rewind, slice, slice, toString
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close, free
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from class org.lwjgl.system.Pointer.Default

        equals, hashCode
      • Methods inherited from class org.lwjgl.system.StructBuffer

        apply, apply, forEach, get, get, get, get, iterator, parallelStream, put, put, sizeof, spliterator, stream
    • Constructor Detail

      • Buffer

        public Buffer​(java.nio.ByteBuffer container)
        Creates a new FFICIF.Buffer instance backed by the specified container. Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by FFICIF.SIZEOF, and its mark will be undefined.

        The created buffer instance holds a strong reference to the container object.

      • Buffer

        public Buffer​(long address,
                      int cap)
    • Method Detail

      • abi

        public int abi()
        Returns:
        the value of the abi field.
      • nargs

        public int nargs()
        Returns:
        the value of the nargs field.
      • arg_types

        public org.lwjgl.PointerBuffer arg_types​(int capacity)
        Parameters:
        capacity - the number of elements in the returned buffer
        Returns:
        a PointerBuffer view of the data pointed to by the arg_types field.
      • rtype

        public FFIType rtype()
        Returns:
        a FFIType view of the struct pointed to by the rtype field.
      • bytes

        public int bytes()
        Returns:
        the value of the bytes field.
      • flags

        public int flags()
        Returns:
        the value of the flags field.