Interface NativeMemory

All Known Implementing Classes:
ByteBufferNativeMemory, SegmentNativeMemory

public interface NativeMemory
Platform-agnostic interface for reading and writing native memory.

Desktop: backed by MemorySegment (via SegmentNativeMemory). Web: backed by ByteBuffer or JS typed array.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Copy all bytes from src into this memory at offset 0.
    byte
    getByte(long offset)
     
    double
    getDouble(long offset)
     
    float
    getFloat(long offset)
     
    int
    getInt(long offset)
     
    long
    getLong(long offset)
     
    short
    getShort(long offset)
     
    void
    putByte(long offset, byte value)
     
    void
    putDouble(long offset, double value)
     
    void
    putFloat(long offset, float value)
     
    void
    putFloatArray(long offset, float[] data)
    Bulk write of a float array starting at the given byte offset.
    void
    putInt(long offset, int value)
     
    void
    putIntArray(long offset, int[] data)
    Bulk write of an int array starting at the given byte offset.
    void
    putLong(long offset, long value)
     
    void
    putShort(long offset, short value)
     
    long
     
    slice(long offset, long length)
    Returns a view of a sub-region of this memory.
  • Method Details

    • putFloat

      void putFloat(long offset, float value)
    • putInt

      void putInt(long offset, int value)
    • putByte

      void putByte(long offset, byte value)
    • putShort

      void putShort(long offset, short value)
    • putLong

      void putLong(long offset, long value)
    • putDouble

      void putDouble(long offset, double value)
    • getFloat

      float getFloat(long offset)
    • getInt

      int getInt(long offset)
    • getByte

      byte getByte(long offset)
    • getShort

      short getShort(long offset)
    • getLong

      long getLong(long offset)
    • getDouble

      double getDouble(long offset)
    • size

      long size()
    • putFloatArray

      void putFloatArray(long offset, float[] data)
      Bulk write of a float array starting at the given byte offset.
    • putIntArray

      void putIntArray(long offset, int[] data)
      Bulk write of an int array starting at the given byte offset.
    • copyFrom

      void copyFrom(NativeMemory src)
      Copy all bytes from src into this memory at offset 0.
    • slice

      NativeMemory slice(long offset, long length)
      Returns a view of a sub-region of this memory.