Class CharPointer

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    @Properties(inherit=javacpp.class)
    public class CharPointer
    extends Pointer
    The peer class to native pointers and arrays of short for UTF-16. All operations take into account the position and limit, when appropriate.
    • Field Detail

      • logger

        private static final Logger logger
    • Constructor Detail

      • CharPointer

        public CharPointer​(java.lang.String s)
        Allocates enough memory for the String and copies it.
        Parameters:
        s - the String to copy
        See Also:
        putString(String)
      • CharPointer

        public CharPointer​(char... array)
        Allocates enough memory for the array and copies it.
        Parameters:
        array - the array to copy
        See Also:
        put(char[])
      • CharPointer

        public CharPointer​(java.nio.CharBuffer buffer)
        For direct buffers, calls Pointer(Buffer), while for buffers backed with an array, allocates enough memory for the array and copies it.
        Parameters:
        buffer - the Buffer to reference or copy
        See Also:
        put(char[])
      • CharPointer

        public CharPointer​(long size)
        Allocates a native short array of the given size.
        Parameters:
        size - the number of short elements to allocate
      • CharPointer

        public CharPointer()
        See Also:
        Pointer()
    • Method Detail

      • allocateArray

        private void allocateArray​(long size)
      • position

        public CharPointer position​(long position)
        Description copied from class: Pointer
        Sets the position and returns this. That makes the array.position(i) statement sort of equivalent to the array[i] statement in C++.
        Overrides:
        position in class Pointer
        Parameters:
        position - the new position
        Returns:
        this
        See Also:
        Pointer.position(long)
      • limit

        public CharPointer limit​(long limit)
        Description copied from class: Pointer
        Sets the limit and returns this. Used to limit the size of an operation on this object.
        Overrides:
        limit in class Pointer
        Parameters:
        limit - the new limit
        Returns:
        this
        See Also:
        Pointer.limit(long)
      • capacity

        public CharPointer capacity​(long capacity)
        Description copied from class: Pointer
        Sets the capacity and returns this. Should not be called more than once after allocation.
        Overrides:
        capacity in class Pointer
        Parameters:
        capacity - the new capacity
        Returns:
        this
        See Also:
        Pointer.capacity(long)
      • sizeof

        public int sizeof()
        Description copied from class: Pointer
        Returns 1 for Pointer or BytePointer else Loader.sizeof(getClass()) or -1 on error.
        Overrides:
        sizeof in class Pointer
      • getStringChars

        public char[] getStringChars()
        Returns the chars, assuming a null-terminated string if limit <= position.
      • getString

        public java.lang.String getString()
        Returns the String, assuming a null-terminated string if limit <= position.
      • putString

        public CharPointer putString​(java.lang.String s)
        Copies the String chars into native memory, including a terminating null char. Sets the limit to just before the terminating null character.
        Parameters:
        s - the String to copy
        Returns:
        this
        See Also:
        String.toCharArray(), put(char[])
      • get

        public char get()
        Returns:
        get(0)
      • get

        public char get​(long i)
        Returns:
        the i-th char value of a native array
      • put

        public CharPointer put​(char c)
        Returns:
        put(0, c)
      • put

        public CharPointer put​(long i,
                               char c)
        Copies the char value to the i-th element of a native array.
        Parameters:
        i - the index into the array
        c - the char value to copy
        Returns:
        this
      • get

        public CharPointer get​(char[] array)
        Returns:
        get(array, 0, array.length)
      • put

        public CharPointer put​(char... array)
        Returns:
        put(array, 0, array.length)
      • get

        public CharPointer get​(char[] array,
                               int offset,
                               int length)
        Reads a portion of the native array into a Java array.
        Parameters:
        array - the array to write to
        offset - the offset into the array where to start writing
        length - the length of data to read and write
        Returns:
        this
      • put

        public CharPointer put​(char[] array,
                               int offset,
                               int length)
        Writes a portion of a Java array into the native array.
        Parameters:
        array - the array to read from
        offset - the offset into the array where to start reading
        length - the length of data to read and write
        Returns:
        this