Class CXString

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

    public class CXString
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    A character string.

    The CXString type is used to return strings from the interface when the ownership of that string might differ from one call to the next. Use getCString to retrieve the string data and, once finished with the string data, call disposeString to free the string.

    Layout

    
     struct CXString {
         void const * data;
         unsigned private_flags;
     }
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CXString.Buffer
      An array of CXString structs.
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

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

      Fields 
      Modifier and Type Field Description
      static int ALIGNOF
      The struct alignment in bytes.
      static int DATA
      PRIVATE_FLAGS
      The struct member offsets.
      static int SIZEOF
      The struct size in bytes.
      • Fields inherited from interface org.lwjgl.system.Pointer

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

      Constructors 
      Constructor Description
      CXString​(java.nio.ByteBuffer container)
      Creates a CXString instance at the current position of the specified ByteBuffer container.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static CXString calloc()
      Returns a new CXString instance allocated with memCalloc.
      static CXString.Buffer calloc​(int capacity)
      Returns a new CXString.Buffer instance allocated with memCalloc.
      static CXString callocStack()
      Returns a new CXString instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static CXString.Buffer callocStack​(int capacity)
      Returns a new CXString.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static CXString.Buffer callocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new CXString.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static CXString callocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new CXString instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static CXString create()
      Returns a new CXString instance allocated with BufferUtils.
      static CXString.Buffer create​(int capacity)
      Returns a new CXString.Buffer instance allocated with BufferUtils.
      static CXString create​(long address)
      Returns a new CXString instance for the specified memory address.
      static CXString.Buffer create​(long address, int capacity)
      Create a CXString.Buffer instance at the specified memory.
      static CXString createSafe​(long address)
      Like create, but returns null if address is NULL.
      static CXString.Buffer createSafe​(long address, int capacity)
      Like create, but returns null if address is NULL.
      java.nio.ByteBuffer data​(int capacity)
      Returns a ByteBuffer view of the data pointed to by the data field.
      static CXString malloc()
      Returns a new CXString instance allocated with memAlloc.
      static CXString.Buffer malloc​(int capacity)
      Returns a new CXString.Buffer instance allocated with memAlloc.
      static CXString mallocStack()
      Returns a new CXString instance allocated on the thread-local MemoryStack.
      static CXString.Buffer mallocStack​(int capacity)
      Returns a new CXString.Buffer instance allocated on the thread-local MemoryStack.
      static CXString.Buffer mallocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new CXString.Buffer instance allocated on the specified MemoryStack.
      static CXString mallocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new CXString instance allocated on the specified MemoryStack.
      static java.nio.ByteBuffer ndata​(long struct, int capacity)
      Unsafe version of data.
      static int nprivate_flags​(long struct)
      Unsafe version of private_flags().
      int private_flags()
      Returns the value of the private_flags field.
      int sizeof()  
      • 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

        address, equals, hashCode, toString
      • Methods inherited from class org.lwjgl.system.Struct

        clear, free, isNull
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • DATA, PRIVATE_FLAGS

        The struct member offsets.
    • Constructor Detail

      • CXString

        public CXString​(java.nio.ByteBuffer container)
        Creates a CXString instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

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

    • Method Detail

      • sizeof

        public int sizeof()
        Specified by:
        sizeof in class org.lwjgl.system.Struct
      • data

        public java.nio.ByteBuffer data​(int capacity)
        Returns a ByteBuffer view of the data pointed to by the data field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • private_flags

        public int private_flags()
        Returns the value of the private_flags field.
      • malloc

        public static CXString malloc()
        Returns a new CXString instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static CXString calloc()
        Returns a new CXString instance allocated with memCalloc. The instance must be explicitly freed.
      • create

        public static CXString create()
        Returns a new CXString instance allocated with BufferUtils.
      • create

        public static CXString create​(long address)
        Returns a new CXString instance for the specified memory address.
      • createSafe

        @Nullable
        public static CXString createSafe​(long address)
        Like create, but returns null if address is NULL.
      • malloc

        public static CXString.Buffer malloc​(int capacity)
        Returns a new CXString.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • calloc

        public static CXString.Buffer calloc​(int capacity)
        Returns a new CXString.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • create

        public static CXString.Buffer create​(int capacity)
        Returns a new CXString.Buffer instance allocated with BufferUtils.
        Parameters:
        capacity - the buffer capacity
      • create

        public static CXString.Buffer create​(long address,
                                             int capacity)
        Create a CXString.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static CXString.Buffer createSafe​(long address,
                                                 int capacity)
        Like create, but returns null if address is NULL.
      • mallocStack

        public static CXString mallocStack()
        Returns a new CXString instance allocated on the thread-local MemoryStack.
      • callocStack

        public static CXString callocStack()
        Returns a new CXString instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static CXString mallocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new CXString instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static CXString callocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new CXString instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • mallocStack

        public static CXString.Buffer mallocStack​(int capacity)
        Returns a new CXString.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static CXString.Buffer callocStack​(int capacity)
        Returns a new CXString.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • mallocStack

        public static CXString.Buffer mallocStack​(int capacity,
                                                  org.lwjgl.system.MemoryStack stack)
        Returns a new CXString.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • callocStack

        public static CXString.Buffer callocStack​(int capacity,
                                                  org.lwjgl.system.MemoryStack stack)
        Returns a new CXString.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • ndata

        public static java.nio.ByteBuffer ndata​(long struct,
                                                int capacity)
        Unsafe version of data.
      • nprivate_flags

        public static int nprivate_flags​(long struct)
        Unsafe version of private_flags().