Interface MemoryBackend
public interface MemoryBackend
Instances of this interface provide direct/unsafe off-heap memory access.
Use Configuration.MEMORY_BACKEND to configure or override the memory backed used by LWJGL.
LWJGL does not guarantee API stability for this interface.
-
Method Summary
Modifier and TypeMethodDescriptionallocateUTF8(String text, boolean nullTerminated, MemoryUtil.MemoryAllocator allocator) duplicate(ByteBuffer buffer) duplicate(CharBuffer buffer) duplicate(DoubleBuffer buffer) duplicate(FloatBuffer buffer) duplicate(LongBuffer buffer) duplicate(ShortBuffer buffer) longgetAddress(long ptr) longgetAddress(Buffer buffer) longgetAddress(Buffer buffer, int position) longgetAddress(ByteBuffer buffer) longgetAddress(ByteBuffer buffer, int position) longgetAddress(CharBuffer buffer) longgetAddress(CharBuffer buffer, int position) longgetAddress(DoubleBuffer buffer) longgetAddress(DoubleBuffer buffer, int position) longgetAddress(FloatBuffer buffer) longgetAddress(FloatBuffer buffer, int position) longgetAddress(IntBuffer buffer) longgetAddress(IntBuffer buffer, int position) longgetAddress(LongBuffer buffer) longgetAddress(LongBuffer buffer, int position) longgetAddress(ShortBuffer buffer) longgetAddress(ShortBuffer buffer, int position) longgetAddress0(Buffer buffer) longgetAddress0(ByteBuffer buffer) longgetAddress0(CharBuffer buffer) longgetAddress0(DoubleBuffer buffer) longgetAddress0(FloatBuffer buffer) longgetAddress0(IntBuffer buffer) longgetAddress0(LongBuffer buffer) longgetAddress0(ShortBuffer buffer) longgetAddressUnaligned(long ptr) booleangetBoolean(long ptr) bytegetByte(long ptr) chargetChar(long ptr) chargetCharUnaligned(long ptr) longgetCLong(long ptr) longgetCLongUnaligned(long ptr) static MemoryBackendReturns the defaultMemoryBackendinstance.doublegetDouble(long ptr) doublegetDoubleUnaligned(long ptr) floatgetFloat(long ptr) floatgetFloatUnaligned(long ptr) intgetInt(long ptr) intgetIntUnaligned(long ptr) longgetLong(byte[] o, long offset) longgetLong(long ptr) longgetLongUnaligned(long ptr) shortgetShort(long ptr) shortgetShortUnaligned(long ptr) default StringgetStringASCII(long source) default StringgetStringASCII(long source, int length) default StringgetStringUTF16(long source) default StringgetStringUTF16(long source, int length) default StringgetStringUTF8(long source) default StringgetStringUTF8(long source, int length) voidmemcpy(byte[] src, long dst, int offset, int size) voidmemcpy(char[] src, long dst, int offset, int size) voidmemcpy(double[] src, long dst, int offset, int size) voidmemcpy(float[] src, long dst, int offset, int size) voidmemcpy(int[] src, long dst, int offset, int size) voidmemcpy(long[] src, long dst, int offset, int size) voidmemcpy(long src, byte[] dst, int offset, int size) voidmemcpy(long src, char[] dst, int offset, int size) voidmemcpy(long src, double[] dst, int offset, int size) voidmemcpy(long src, float[] dst, int offset, int size) voidmemcpy(long src, int[] dst, int offset, int size) voidmemcpy(long src, long[] dst, int offset, int size) voidmemcpy(long src, long dst, long bytes) voidmemcpy(long src, short[] dst, int offset, int size) voidmemcpy(short[] src, long dst, int offset, int size) voidmemset(long ptr, int value, long bytes) voidputAddress(long ptr, long value) voidputAddressUnaligned(long ptr, long value) voidputBoolean(long ptr, boolean value) voidputByte(long ptr, byte value) voidputChar(long ptr, char value) voidputCharUnaligned(long ptr, char value) voidputCLong(long ptr, long value) voidputCLongUnaligned(long ptr, long value) voidputDouble(long ptr, double value) voidputDoubleUnaligned(long ptr, double value) voidputFloat(long ptr, float value) voidputFloatUnaligned(long ptr, float value) voidputInt(long ptr, int value) voidputIntUnaligned(long ptr, int value) voidputLong(long ptr, long value) voidputLongUnaligned(long ptr, long value) voidputShort(long ptr, short value) voidputShortUnaligned(long ptr, short value) voidputStringASCII(CharSequence text, boolean nullTerminated, long target) voidputStringASCII(String text, boolean nullTerminated, long target) default intputStringASCII(String text, boolean nullTerminated, long target, int maxLength) voidputStringUTF16(CharSequence text, boolean nullTerminated, long target) voidputStringUTF16(String text, boolean nullTerminated, long target) default intputStringUTF16(String text, boolean nullTerminated, long target, int maxLength) voidputStringUTF8(CharSequence text, boolean nullTerminated, long target) intputStringUTF8(String text, boolean nullTerminated, long target, int maxLength) slice(ByteBuffer buffer) slice(ByteBuffer buffer, int offset, int length) slice(CharBuffer buffer) slice(CharBuffer buffer, int offset, int length) slice(DoubleBuffer buffer) slice(DoubleBuffer buffer, int offset, int length) slice(FloatBuffer buffer) slice(FloatBuffer buffer, int offset, int length) slice(LongBuffer buffer) slice(LongBuffer buffer, int offset, int length) slice(ShortBuffer buffer) slice(ShortBuffer buffer, int offset, int length) wrapBufferByte(long address, int capacity) wrapBufferChar(long address, int capacity) wrapBufferDouble(long address, int capacity) wrapBufferFloat(long address, int capacity) wrapBufferInt(long address, int capacity) wrapBufferLong(long address, int capacity) wrapBufferShort(long address, int capacity)
-
Method Details
-
getDefaultInstance
Returns the defaultMemoryBackendinstance.May be used to delegate memory access operations from a custom
MemoryBackendimplementation. -
getBoolean
boolean getBoolean(long ptr) -
getByte
byte getByte(long ptr) -
getChar
char getChar(long ptr) -
getCharUnaligned
char getCharUnaligned(long ptr) -
getShort
short getShort(long ptr) -
getShortUnaligned
short getShortUnaligned(long ptr) -
getInt
int getInt(long ptr) -
getIntUnaligned
int getIntUnaligned(long ptr) -
getLong
long getLong(long ptr) -
getLongUnaligned
long getLongUnaligned(long ptr) -
getLong
long getLong(byte[] o, long offset) -
getFloat
float getFloat(long ptr) -
getFloatUnaligned
float getFloatUnaligned(long ptr) -
getDouble
double getDouble(long ptr) -
getDoubleUnaligned
double getDoubleUnaligned(long ptr) -
getCLong
long getCLong(long ptr) -
getCLongUnaligned
long getCLongUnaligned(long ptr) -
getAddress
long getAddress(long ptr) -
getAddressUnaligned
long getAddressUnaligned(long ptr) -
putBoolean
void putBoolean(long ptr, boolean value) -
putByte
void putByte(long ptr, byte value) -
putChar
void putChar(long ptr, char value) -
putCharUnaligned
void putCharUnaligned(long ptr, char value) -
putShort
void putShort(long ptr, short value) -
putShortUnaligned
void putShortUnaligned(long ptr, short value) -
putInt
void putInt(long ptr, int value) -
putIntUnaligned
void putIntUnaligned(long ptr, int value) -
putLong
void putLong(long ptr, long value) -
putLongUnaligned
void putLongUnaligned(long ptr, long value) -
putFloat
void putFloat(long ptr, float value) -
putFloatUnaligned
void putFloatUnaligned(long ptr, float value) -
putDouble
void putDouble(long ptr, double value) -
putDoubleUnaligned
void putDoubleUnaligned(long ptr, double value) -
putCLong
void putCLong(long ptr, long value) -
putCLongUnaligned
void putCLongUnaligned(long ptr, long value) -
putAddress
void putAddress(long ptr, long value) -
putAddressUnaligned
void putAddressUnaligned(long ptr, long value) -
getAddress0
-
getAddress0
-
getAddress0
-
getAddress0
-
getAddress0
-
getAddress0
-
getAddress0
-
getAddress0
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
getAddress
-
wrapBufferByte
-
wrapBufferChar
-
wrapBufferShort
-
wrapBufferInt
-
wrapBufferLong
-
wrapBufferFloat
-
wrapBufferDouble
-
duplicate
-
duplicate
-
duplicate
-
duplicate
-
duplicate
-
duplicate
-
duplicate
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
slice
-
memset
void memset(long ptr, int value, long bytes) -
memcpy
void memcpy(long src, long dst, long bytes) -
memcpy
void memcpy(byte[] src, long dst, int offset, int size) -
memcpy
void memcpy(char[] src, long dst, int offset, int size) -
memcpy
void memcpy(short[] src, long dst, int offset, int size) -
memcpy
void memcpy(int[] src, long dst, int offset, int size) -
memcpy
void memcpy(long[] src, long dst, int offset, int size) -
memcpy
void memcpy(float[] src, long dst, int offset, int size) -
memcpy
void memcpy(double[] src, long dst, int offset, int size) -
memcpy
void memcpy(long src, byte[] dst, int offset, int size) -
memcpy
void memcpy(long src, char[] dst, int offset, int size) -
memcpy
void memcpy(long src, short[] dst, int offset, int size) -
memcpy
void memcpy(long src, int[] dst, int offset, int size) -
memcpy
void memcpy(long src, long[] dst, int offset, int size) -
memcpy
void memcpy(long src, float[] dst, int offset, int size) -
memcpy
void memcpy(long src, double[] dst, int offset, int size) -
getStringASCII
-
getStringASCII
-
getStringUTF8
-
getStringUTF8
-
getStringUTF16
-
getStringUTF16
-
putStringASCII
-
putStringASCII
-
putStringASCII
-
allocateUTF8
-
putStringUTF8
-
putStringUTF8
-
putStringUTF16
-
putStringUTF16
-
putStringUTF16
-