Package org.lwjgl.system.libffi
Class FFIType.Buffer
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.CustomBuffer<FFIType.Buffer>
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
ConstructorsConstructorDescriptionBuffer(long address, int cap) Buffer(ByteBuffer container) Creates a newFFIType.Bufferinstance backed by the specified container. -
Method Summary
Modifier and TypeMethodDescriptionshortalignment(short value) Sets the specified value to theFFIType.alignment()field.@Nullable org.lwjgl.PointerBufferelements(int capacity) elements(@Nullable org.lwjgl.PointerBuffer value) Sets the address of the specifiedPointerBufferto theFFIType.elements(int)field.longsize()size(long value) Sets the specified value to theFFIType.size()field.shorttype()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, streamMethods 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, toStringMethods inherited from class org.lwjgl.system.Pointer.Default
equals, hashCodeMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Constructor Details
-
Buffer
Creates a newFFIType.Bufferinstance 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
public @Nullable org.lwjgl.PointerBuffer elements(int capacity) - Parameters:
capacity- the number of elements in the returned buffer- Returns:
- a
PointerBufferview 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 specifiedPointerBufferto theFFIType.elements(int)field.
-