Top Description Fields Constructors Methods
org.lwjgl

public Class CLongBuffer

extends CustomBuffer<CLongBuffer>
implements Comparable<CLongBuffer>
Class Inheritance
All Implemented Interfaces
java.lang.Comparable
Imports
org.lwjgl.system.*, javax.annotation.*, java.nio.*

This class is a container for C long data. Its interface mirrors the LongBuffer API for convenience.

The size of the C long type depends on the platform and CPU architecture. On Windows it is always 32-bit. On other platforms, it is 32-bit on 32-bit architectures and 64-bit on 64-bit architectures. Most APIs prefer portable sizes, so this class is rarely needed.

Field Summary

Inherited from org.lwjgl.system.CustomBuffer:
capacitycontainerlimitmarkposition

Constructor Summary

AccessConstructor and Description
protected
CLongBuffer(long address, ByteBuffer container, int mark, int position, int limit, int capacity)

Method Summary

Modifier and TypeMethod and Description
public static CLongBuffer

Returns:

the new long buffer
allocateDirect
(int
the new buffer's capacity, in longs
capacity
)

Allocates a new long buffer.

public int

Returns:

A negative integer, zero, or a positive integer as this buffer is less than, equal to, or greater than the specified buffer
compareTo
(CLongBuffer
the object to be compared.
that
)

Implements java.lang.Comparable.compareTo.

Compares this buffer to another.
public static CLongBuffer
create(long
the starting memory address
address
,
int
the buffer capacity, in number of longs
capacity
)

Creates a new CLongBuffer that starts at the specified memory address and has the specified capacity.

public static CLongBuffer
create(ByteBuffer
the source buffer
source
)

Creates a new CLongBuffer using the specified ByteBuffer as its long data source.

public boolean

Returns:

true if, and only if, this buffer is equal to the given object
equals
(Object
the object to which this buffer is to be compared
ob
)

Overrides org.lwjgl.system.Pointer.Default.equals.

Tells whether or not this buffer is equal to another object.
public long

Returns:

the long at the buffer's current position
get
()

Relative get method.

public static long
get(ByteBuffer
the source ByteBuffer
source
)

Convenience relative get from a source ByteBuffer.

public long

Returns:

the long at the specified index
get
(int
the index from which the long will be read
index
)

Absolute get method.

public static long
get(ByteBuffer
the source ByteBuffer
source
,
int
the index at which the long will be read
index
)

Convenience absolute get from a source ByteBuffer.

public CLongBuffer

Returns:

This buffer
get
(long[] dst)

Relative bulk get method.

public CLongBuffer

Returns:

This buffer
get
(long[]
the array into which longs are to be written
dst
,
int
the offset within the array of the first long to be written; must be non-negative and no larger than dst.length
offset
,
int
the maximum number of longs to be written to the specified array; must be non-negative and no larger than dst.length - offset
length
)

Relative bulk get method.

private void
get32(long[] dst, int offset, int length)

public int

Returns:

the current hash code of this buffer
hashCode
()

Overrides org.lwjgl.system.Pointer.Default.hashCode.

Returns the current hash code of this buffer.
public CLongBuffer

Returns:

This buffer
put
(long
the long to be written
p
)

Overrides org.lwjgl.system.CustomBuffer.put.

Relative put method  (optional operation).
public static void
put(ByteBuffer
the target ByteBuffer
target
,
long
the long value to be written
p
)

Convenience relative put on a target ByteBuffer.

public CLongBuffer

Returns:

This buffer
put
(int
the index at which the long will be written
index
,
long
the long value to be written
p
)

Absolute put method  (optional operation).

public static void
put(ByteBuffer
the target ByteBuffer
target
,
int
the index at which the long will be written
index
,
long
the long value to be written
p
)

Convenience absolute put on a target ByteBuffer.

public CLongBuffer

Returns:

This buffer
put
(long[]
the source buffer from which elements are to be read; must not be this buffer
src
)

Overrides org.lwjgl.system.CustomBuffer.put.

Relative bulk put method  (optional operation).
public CLongBuffer

Returns:

This buffer
put
(long[]
the array from which longs are to be read
src
,
int
the offset within the array of the first long to be read; must be non-negative and no larger than array.length
offset
,
int
the number of longs to be read from the specified array; must be non-negative and no larger than array.length - offset
length
)

Relative bulk put method  (optional operation).

private void
put32(long[] src, int offset, int length)

protected CLongBuffer
public int
sizeof()

Implements abstract org.lwjgl.system.CustomBuffer.sizeof.

Returns the sizeof a single element in the buffer.
Inherited from org.lwjgl.system.CustomBuffer:
addressaddressaddress0capacityclearcompactduplicateflipfreehasRemaininglimitlimitmarknextGetIndexnextPutIndexpositionpositionremainingresetrewindsliceslicetoString

Constructor Detail

CLongBufferback to summary
protected CLongBuffer(long address, ByteBuffer container, int mark, int position, int limit, int capacity)

Method Detail

allocateDirectback to summary
public static CLongBuffer allocateDirect(int capacity)

Allocates a new long buffer.

The new buffer's position will be zero, its limit will be its capacity, and its mark will be undefined.

Parameters
capacity:int

the new buffer's capacity, in longs

Returns:CLongBuffer

the new long buffer

Exceptions
IllegalArgumentException:
If the capacity is a negative integer
compareToback to summary
public int compareTo(CLongBuffer that)

Implements java.lang.Comparable.compareTo.

Compares this buffer to another.

Two long buffers are compared by comparing their sequences of remaining elements lexicographically, without regard to the starting position of each sequence within its corresponding buffer.

A long buffer is not comparable to any other type of object.

Parameters
that:CLongBuffer

Doc from java.lang.Comparable.compareTo.

the object to be compared.

Returns:int

A negative integer, zero, or a positive integer as this buffer is less than, equal to, or greater than the specified buffer

Annotations
@Override
createback to summary
public static CLongBuffer create(long address, int capacity)

Creates a new CLongBuffer that starts at the specified memory address and has the specified capacity.

Parameters
address:long

the starting memory address

capacity:int

the buffer capacity, in number of longs

createback to summary
public static CLongBuffer create(ByteBuffer source)

Creates a new CLongBuffer using the specified ByteBuffer as its long data source.

Parameters
source:ByteBuffer

the source buffer

equalsback to summary
public boolean equals(Object ob)

Overrides org.lwjgl.system.Pointer.Default.equals.

Tells whether or not this buffer is equal to another object.

Two long buffers are equal if, and only if,

  1. They have the same element type,
  2. They have the same number of remaining elements, and
  3. The two sequences of remaining elements, considered independently of their starting positions, are pointwise equal.

A long buffer is not equal to any other type of object.

Parameters
ob:Object

the object to which this buffer is to be compared

Returns:boolean

true if, and only if, this buffer is equal to the given object

getback to summary
public long get()

Relative get method. Reads the long at this buffer's current position, and then increments the position.

Returns:long

the long at the buffer's current position

Exceptions
BufferUnderflowException:
If the buffer's current position is not smaller than its limit
getback to summary
public static long get(ByteBuffer source)

Convenience relative get from a source ByteBuffer.

Parameters
source:ByteBuffer

the source ByteBuffer

getback to summary
public long get(int index)

Absolute get method. Reads the long at the specified index.

Parameters
index:int

the index from which the long will be read

Returns:long

the long at the specified index

Exceptions
IndexOutOfBoundsException:
If index is negative or not smaller than the buffer's limit
getback to summary
public static long get(ByteBuffer source, int index)

Convenience absolute get from a source ByteBuffer.

Parameters
source:ByteBuffer

the source ByteBuffer

index:int

the index at which the long will be read

getback to summary
public CLongBuffer get(long[] dst)

Relative bulk get method.

This method transfers longs from this buffer into the specified destination array. An invocation of this method of the form src.get(a) behaves in exactly the same way as the invocation

    src.get(a, 0, a.length) 
Returns:CLongBuffer

This buffer

Exceptions
BufferUnderflowException:
If there are fewer than length longs remaining in this buffer
getback to summary
public CLongBuffer get(long[] dst, int offset, int length)

Relative bulk get method.

This method transfers longs from this buffer into the specified destination array. If there are fewer longs remaining in the buffer than are required to satisfy the request, that is, if length > remaining(), then no longs are transferred and a BufferUnderflowException is thrown.

Otherwise, this method copies length longs from this buffer into the specified array, starting at the current position of this buffer and at the specified offset in the array. The position of this buffer is then incremented by length.

In other words, an invocation of this method of the form src.get(dst, off, len) has exactly the same effect as the loop

    for (int i = off; i < off + len; i++)
        dst[i] = src.get(); 

except that it first checks that there are sufficient longs in this buffer and it is potentially much more efficient.

Parameters
dst:long[]

the array into which longs are to be written

offset:int

the offset within the array of the first long to be written; must be non-negative and no larger than dst.length

length:int

the maximum number of longs to be written to the specified array; must be non-negative and no larger than dst.length - offset

Returns:CLongBuffer

This buffer

Exceptions
BufferUnderflowException:
If there are fewer than length longs remaining in this buffer
IndexOutOfBoundsException:
If the preconditions on the offset and length parameters do not hold
get32back to summary
private void get32(long[] dst, int offset, int length)
hashCodeback to summary
public int hashCode()

Overrides org.lwjgl.system.Pointer.Default.hashCode.

Returns the current hash code of this buffer.

The hash code of a long buffer depends only upon its remaining elements; that is, upon the elements from position() up to, and including, the element at limit() - 1.

Because buffer hash codes are content-dependent, it is inadvisable to use buffers as keys in hash maps or similar data structures unless it is known that their contents will not change.

Returns:int

the current hash code of this buffer

putback to summary
public CLongBuffer put(long p)

Overrides org.lwjgl.system.CustomBuffer.put.

Relative put method  (optional operation).

Writes the specified long into this buffer at the current position, and then increments the position.

Parameters
p:long

the long to be written

Returns:CLongBuffer

This buffer

Exceptions
BufferOverflowException:
If this buffer's current position is not smaller than its limit
putback to summary
public static void put(ByteBuffer target, long p)

Convenience relative put on a target ByteBuffer.

Parameters
target:ByteBuffer

the target ByteBuffer

p:long

the long value to be written

putback to summary
public CLongBuffer put(int index, long p)

Absolute put method  (optional operation).

Writes the specified long into this buffer at the specified index.

Parameters
index:int

the index at which the long will be written

p:long

the long value to be written

Returns:CLongBuffer

This buffer

Exceptions
IndexOutOfBoundsException:
If index is negative or not smaller than the buffer's limit
putback to summary
public static void put(ByteBuffer target, int index, long p)

Convenience absolute put on a target ByteBuffer.

Parameters
target:ByteBuffer

the target ByteBuffer

index:int

the index at which the long will be written

p:long

the long value to be written

putback to summary
public CLongBuffer put(long[] src)

Overrides org.lwjgl.system.CustomBuffer.put.

Relative bulk put method  (optional operation).

This method transfers the entire content of the specified source long array into this buffer. An invocation of this method of the form dst.put(a) behaves in exactly the same way as the invocation

    dst.put(a, 0, a.length) 
Parameters
src:long[]

Doc from org.lwjgl.system.CustomBuffer.put.

the source buffer from which elements are to be read; must not be this buffer

Returns:CLongBuffer

This buffer

Exceptions
BufferOverflowException:
If there is insufficient space in this buffer
putback to summary
public CLongBuffer put(long[] src, int offset, int length)

Relative bulk put method  (optional operation).

This method transfers longs into this buffer from the specified source array. If there are more longs to be copied from the array than remain in this buffer, that is, if length > remaining(), then no longs are transferred and a BufferOverflowException is thrown.

Otherwise, this method copies length longs from the specified array into this buffer, starting at the specified offset in the array and at the current position of this buffer. The position of this buffer is then incremented by length.

In other words, an invocation of this method of the form dst.put(src, off, len) has exactly the same effect as the loop

    for (int i = off; i < off + len; i++)
        dst.put(a[i]); 

except that it first checks that there is sufficient space in this buffer and it is potentially much more efficient.

Parameters
src:long[]

the array from which longs are to be read

offset:int

the offset within the array of the first long to be read; must be non-negative and no larger than array.length

length:int

the number of longs to be read from the specified array; must be non-negative and no larger than array.length - offset

Returns:CLongBuffer

This buffer

Exceptions
BufferOverflowException:
If there is insufficient space in this buffer
IndexOutOfBoundsException:
If the preconditions on the offset and length parameters do not hold
put32back to summary
private void put32(long[] src, int offset, int length)
selfback to summary
protected CLongBuffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override
sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.CustomBuffer.sizeof.

Doc from org.lwjgl.system.CustomBuffer.sizeof.

Returns the sizeof a single element in the buffer.

Annotations
@Override