Package org.lwjgl.system.libffi
Class FFIType.Buffer
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.CustomBuffer<SELF>
org.lwjgl.system.StructBuffer<FFIType,FFIType.Buffer>
org.lwjgl.system.libffi.FFIType.Buffer
- All Implemented Interfaces:
AutoCloseable
,Iterable<FFIType>
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
- Enclosing class:
FFIType
public static class FFIType.Buffer
extends org.lwjgl.system.StructBuffer<FFIType,FFIType.Buffer>
implements org.lwjgl.system.NativeResource
An array of
FFIType
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
ConstructorDescriptionBuffer
(long address, int cap) Buffer
(ByteBuffer container) Creates a newFFIType.Buffer
instance backed by the specified container. -
Method Summary
Modifier and TypeMethodDescriptionshort
alignment
(short value) Sets the specified value to theFFIType.alignment()
field.org.lwjgl.PointerBuffer
elements
(int capacity) elements
(org.lwjgl.PointerBuffer value) Sets the address of the specifiedPointerBuffer
to theFFIType.elements(int)
field.long
size()
size
(long value) Sets the specified value to theFFIType.size()
field.short
type()
type
(short value) Sets the specified value to theFFIType.type()
field.Methods inherited from class org.lwjgl.system.StructBuffer
apply, apply, forEach, get, get, get, get, iterator, parallelStream, put, put, sizeof, spliterator, stream
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 class org.lwjgl.system.Pointer.Default
equals, hashCode
Methods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Constructor Details
-
Buffer
Creates a newFFIType.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
FFIType.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 Details
-
size
public long size()- Returns:
- the value of the
FFIType.size()
field.
-
alignment
public short alignment()- Returns:
- the value of the
FFIType.alignment()
field.
-
type
public short type()- Returns:
- the value of the
FFIType.type()
field.
-
elements
@Nullable public org.lwjgl.PointerBuffer elements(int capacity) - Parameters:
capacity
- the number of elements in the returned buffer- Returns:
- a
PointerBuffer
view of the data pointed to by theFFIType.elements(int)
field.
-
size
Sets the specified value to theFFIType.size()
field. -
alignment
Sets the specified value to theFFIType.alignment()
field. -
type
Sets the specified value to theFFIType.type()
field. -
elements
Sets the address of the specifiedPointerBuffer
to theFFIType.elements(int)
field.
-