Class CLongPointer

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    @Name("long")
    @Properties(inherit=javacpp.class)
    public class CLongPointer
    extends Pointer
    The peer class to native pointers and arrays of long. All operations take into account the position and limit, when appropriate.

    We need this class because platforms supported by Java do not all agree on the size of the native C++ long type, unlike int and short.

    • Field Detail

      • logger

        private static final Logger logger
    • Constructor Detail

      • CLongPointer

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

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

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

      • allocateArray

        private void allocateArray​(long size)
      • position

        public CLongPointer 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 CLongPointer 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 CLongPointer 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)
      • get

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

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

        public CLongPointer put​(long l)
        Returns:
        put(0, l)
      • put

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

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

        public CLongPointer put​(long... array)
        Returns:
        put(array, 0, array.length)
      • get

        public CLongPointer get​(long[] 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 CLongPointer put​(long[] 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