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 Details

    • getDefaultInstance

      static MemoryBackend getDefaultInstance()
      Returns the default MemoryBackend instance.

      May be used to delegate memory access operations from a custom MemoryBackend implementation.

    • 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

      long getAddress0(Buffer buffer)
    • getAddress0

      long getAddress0(ByteBuffer buffer)
    • getAddress0

      long getAddress0(CharBuffer buffer)
    • getAddress0

      long getAddress0(ShortBuffer buffer)
    • getAddress0

      long getAddress0(IntBuffer buffer)
    • getAddress0

      long getAddress0(LongBuffer buffer)
    • getAddress0

      long getAddress0(FloatBuffer buffer)
    • getAddress0

      long getAddress0(DoubleBuffer buffer)
    • getAddress

      long getAddress(Buffer buffer)
    • getAddress

      long getAddress(Buffer buffer, int position)
    • getAddress

      long getAddress(ByteBuffer buffer)
    • getAddress

      long getAddress(ByteBuffer buffer, int position)
    • getAddress

      long getAddress(CharBuffer buffer)
    • getAddress

      long getAddress(CharBuffer buffer, int position)
    • getAddress

      long getAddress(ShortBuffer buffer)
    • getAddress

      long getAddress(ShortBuffer buffer, int position)
    • getAddress

      long getAddress(IntBuffer buffer)
    • getAddress

      long getAddress(IntBuffer buffer, int position)
    • getAddress

      long getAddress(LongBuffer buffer)
    • getAddress

      long getAddress(LongBuffer buffer, int position)
    • getAddress

      long getAddress(FloatBuffer buffer)
    • getAddress

      long getAddress(FloatBuffer buffer, int position)
    • getAddress

      long getAddress(DoubleBuffer buffer)
    • getAddress

      long getAddress(DoubleBuffer buffer, int position)
    • wrapBufferByte

      ByteBuffer wrapBufferByte(long address, int capacity)
    • wrapBufferChar

      CharBuffer wrapBufferChar(long address, int capacity)
    • wrapBufferShort

      ShortBuffer wrapBufferShort(long address, int capacity)
    • wrapBufferInt

      IntBuffer wrapBufferInt(long address, int capacity)
    • wrapBufferLong

      LongBuffer wrapBufferLong(long address, int capacity)
    • wrapBufferFloat

      FloatBuffer wrapBufferFloat(long address, int capacity)
    • wrapBufferDouble

      DoubleBuffer wrapBufferDouble(long address, int capacity)
    • duplicate

      ByteBuffer duplicate(ByteBuffer buffer)
    • duplicate

      CharBuffer duplicate(CharBuffer buffer)
    • duplicate

      ShortBuffer duplicate(ShortBuffer buffer)
    • duplicate

      IntBuffer duplicate(IntBuffer buffer)
    • duplicate

      LongBuffer duplicate(LongBuffer buffer)
    • duplicate

      FloatBuffer duplicate(FloatBuffer buffer)
    • duplicate

      DoubleBuffer duplicate(DoubleBuffer buffer)
    • slice

      ByteBuffer slice(ByteBuffer buffer)
    • slice

      ByteBuffer slice(ByteBuffer buffer, int offset, int length)
    • slice

      CharBuffer slice(CharBuffer buffer)
    • slice

      CharBuffer slice(CharBuffer buffer, int offset, int length)
    • slice

      ShortBuffer slice(ShortBuffer buffer)
    • slice

      ShortBuffer slice(ShortBuffer buffer, int offset, int length)
    • slice

      IntBuffer slice(IntBuffer buffer)
    • slice

      IntBuffer slice(IntBuffer buffer, int offset, int length)
    • slice

      LongBuffer slice(LongBuffer buffer)
    • slice

      LongBuffer slice(LongBuffer buffer, int offset, int length)
    • slice

      FloatBuffer slice(FloatBuffer buffer)
    • slice

      FloatBuffer slice(FloatBuffer buffer, int offset, int length)
    • slice

      DoubleBuffer slice(DoubleBuffer buffer)
    • slice

      DoubleBuffer slice(DoubleBuffer buffer, int offset, int length)
    • 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

      default String getStringASCII(long source)
    • getStringASCII

      default String getStringASCII(long source, int length)
    • getStringUTF8

      default String getStringUTF8(long source)
    • getStringUTF8

      default String getStringUTF8(long source, int length)
    • getStringUTF16

      default String getStringUTF16(long source)
    • getStringUTF16

      default String getStringUTF16(long source, int length)
    • putStringASCII

      void putStringASCII(String text, boolean nullTerminated, long target)
    • putStringASCII

      void putStringASCII(CharSequence text, boolean nullTerminated, long target)
    • putStringASCII

      default int putStringASCII(String text, boolean nullTerminated, long target, int maxLength)
    • allocateUTF8

      ByteBuffer allocateUTF8(String text, boolean nullTerminated, MemoryUtil.MemoryAllocator allocator)
    • putStringUTF8

      void putStringUTF8(CharSequence text, boolean nullTerminated, long target)
    • putStringUTF8

      int putStringUTF8(String text, boolean nullTerminated, long target, int maxLength)
    • putStringUTF16

      void putStringUTF16(String text, boolean nullTerminated, long target)
    • putStringUTF16

      void putStringUTF16(CharSequence text, boolean nullTerminated, long target)
    • putStringUTF16

      default int putStringUTF16(String text, boolean nullTerminated, long target, int maxLength)