public final class BoundedMemoryIO extends AbstractMemoryIO implements DelegatingMemoryIO
| Constructor and Description |
|---|
BoundedMemoryIO(Pointer parent,
long offset,
long size) |
| Modifier and Type | Method and Description |
|---|---|
Object |
array()
Returns the array that backs this pointer.
|
int |
arrayLength()
Returns the length of this pointer's backing array that is used by this pointer.
|
int |
arrayOffset()
Returns the offset within this pointer's backing array of the first element.
|
void |
checkBounds(long offset,
long length)
Checks that the memory region is within the bounds of this memory object
|
boolean |
equals(Object obj) |
void |
get(long offset,
byte[] dst,
int off,
int len)
Bulk get method for multiple
byte values. |
void |
get(long offset,
double[] dst,
int off,
int len)
Bulk get method for multiple
double values. |
void |
get(long offset,
float[] dst,
int off,
int len)
Bulk get method for multiple
float values. |
void |
get(long offset,
int[] dst,
int off,
int len)
Bulk get method for multiple
int values. |
void |
get(long offset,
long[] dst,
int off,
int len)
Bulk get method for multiple
long values. |
void |
get(long offset,
short[] dst,
int off,
int len)
Bulk get method for multiple
short values. |
long |
getAddress(long offset)
Reads a native memory address value at the given offset.
|
byte |
getByte(long offset)
Reads an
byte (8 bit) value at the given offset. |
Pointer |
getDelegatedMemoryIO() |
double |
getDouble(long offset)
Reads a
double (64 bit) value at the given offset. |
float |
getFloat(long offset)
Reads a
float (32 bit) value at the given offset. |
int |
getInt(long offset)
Reads an
int (32 bit) value at the given offset. |
long |
getLongLong(long offset)
Reads a
long (64 bit) value at the given offset. |
Pointer |
getPointer(long offset)
Reads an
Pointer value at the given offset. |
Pointer |
getPointer(long offset,
long size)
Reads an
Pointer value at the given offset. |
short |
getShort(long offset)
Reads a
short (16 bit) value at the given offset. |
String |
getString(long offset)
Reads an
String value at the given offset. |
String |
getString(long offset,
int maxLength,
Charset cs)
Reads a
String value at the given offset, using a specific Charset |
boolean |
hasArray()
Indicates whether this Pointer instance is backed by an array.
|
int |
hashCode() |
int |
indexOf(long offset,
byte value)
Returns the location of a byte value within the memory area represented by this
Pointer. |
int |
indexOf(long offset,
byte value,
int maxlen)
Returns the location of a byte value within the memory area represented by this
Pointer. |
void |
put(long offset,
byte[] dst,
int off,
int len)
Bulk put method for multiple
byte values. |
void |
put(long offset,
double[] src,
int off,
int len)
Bulk put method for multiple
double values. |
void |
put(long offset,
float[] src,
int off,
int len)
Bulk put method for multiple
float values. |
void |
put(long offset,
int[] src,
int off,
int len)
Bulk put method for multiple
int values. |
void |
put(long offset,
long[] src,
int off,
int len)
Bulk put method for multiple
long values. |
void |
put(long offset,
short[] dst,
int off,
int len)
Bulk put method for multiple
short values. |
void |
putAddress(long offset,
Address value)
Writes a native memory address value at the given offset.
|
void |
putAddress(long offset,
long value)
Writes a native memory address value at the given offset.
|
void |
putByte(long offset,
byte value)
Writes a
byte (8 bit) value at the given offset. |
void |
putDouble(long offset,
double value)
Writes a
double (64 bit, double precision) value at the given offset. |
void |
putFloat(long offset,
float value)
Writes a
float (32 bit, single precision) value at the given offset. |
void |
putInt(long offset,
int value)
Writes an
int (32 bit) value at the given offset. |
void |
putLongLong(long offset,
long value)
Writes a
long (64 bit) value at the given offset. |
void |
putPointer(long offset,
Pointer value)
Writes a
Pointer value at the given offset. |
void |
putShort(long offset,
short value)
Writes a
short (16 bit) value at the given offset. |
void |
putString(long offset,
String string,
int maxLength,
Charset cs)
Writes a
String value at the given offset, using a specific Charset |
void |
setMemory(long offset,
long size,
byte value)
Sets the value of each byte in the memory area represented by this
Pointer. |
long |
size()
Gets the size of this memory object in bytes (optional operation).
|
void |
transferFrom(long offset,
Pointer other,
long otherOffset,
long count)
Bulk data transfer from one memory location to another.
|
void |
transferTo(long offset,
Pointer other,
long otherOffset,
long count)
Bulk data transfer from one memory location to another.
|
checkBounds, getInt, getLong, getNativeLong, putInt, putLong, putNativeLong, slice, sliceaddress, get, getNullTerminatedPointerArray, getNullTerminatedStringArray, getRuntime, isDirect, newIntPointer, put, toString, wrap, wrap, wrappublic BoundedMemoryIO(Pointer parent, long offset, long size)
public long size()
Pointersize in class PointerPointer points to. If
the size is unknown, Long.MAX_VALUE is returned}.public final boolean hasArray()
Pointerpublic final Object array()
Pointerpublic final int arrayOffset()
PointerarrayOffset in class Pointerpublic final int arrayLength()
PointerarrayLength in class Pointerpublic void checkBounds(long offset,
long length)
PointercheckBounds in class AbstractMemoryIOoffset - the starting point within this memory region.length - the length of the memory region in bytespublic Pointer getDelegatedMemoryIO()
getDelegatedMemoryIO in interface DelegatingMemoryIOpublic byte getByte(long offset)
Pointerbyte (8 bit) value at the given offset.public short getShort(long offset)
Pointershort (16 bit) value at the given offset.public int getInt(long offset)
Pointerint (32 bit) value at the given offset.public long getLongLong(long offset)
Pointerlong (64 bit) value at the given offset.getLongLong in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the value will be read.long value at the offset.public float getFloat(long offset)
Pointerfloat (32 bit) value at the given offset.public double getDouble(long offset)
Pointerdouble (64 bit) value at the given offset.public Pointer getPointer(long offset)
PointerPointer value at the given offset.getPointer in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the value will be read.Pointer value read from memory.public Pointer getPointer(long offset, long size)
PointerPointer value at the given offset.getPointer in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the value will be read.size - the maximum size of the memory location the returned Pointer represents.Pointer value read from memory.public void putByte(long offset,
byte value)
Pointerbyte (8 bit) value at the given offset.public void putShort(long offset,
short value)
Pointershort (16 bit) value at the given offset.public void putInt(long offset,
int value)
Pointerint (32 bit) value at the given offset.public void putLongLong(long offset,
long value)
Pointerlong (64 bit) value at the given offset.putLongLong in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the value will be written.value - the long value to be written.public void putFloat(long offset,
float value)
Pointerfloat (32 bit, single precision) value at the given offset.public void putDouble(long offset,
double value)
Pointerdouble (64 bit, double precision) value at the given offset.public void putPointer(long offset,
Pointer value)
PointerPointer value at the given offset.putPointer in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the value will be written.value - the Pointer value to be written to memory.public void get(long offset,
byte[] dst,
int off,
int len)
Pointerbyte values.
This method reads multiple byte values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be read.dst - the array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
byte[] dst,
int off,
int len)
Pointerbyte values.
This method writes multiple byte values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.dst - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public void get(long offset,
short[] dst,
int off,
int len)
Pointershort values.
This method reads multiple short values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the first value will be read.dst - The array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
short[] dst,
int off,
int len)
Pointershort values.
This method writes multiple short values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.dst - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public void get(long offset,
int[] dst,
int off,
int len)
Pointerint values.
This method reads multiple int values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the first value will be read.dst - The array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
int[] src,
int off,
int len)
Pointerint values.
This method writes multiple int values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.src - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public void get(long offset,
long[] dst,
int off,
int len)
Pointerlong values.
This method reads multiple long values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the first value will be read.dst - The array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
long[] src,
int off,
int len)
Pointerlong values.
This method writes multiple long values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.src - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public void get(long offset,
float[] dst,
int off,
int len)
Pointerfloat values.
This method reads multiple float values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the first value will be read.dst - The array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
float[] src,
int off,
int len)
Pointerfloat values.
This method writes multiple float values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.src - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public void get(long offset,
double[] dst,
int off,
int len)
Pointerdouble values.
This method reads multiple double values from consecutive addresses,
beginning at the given offset, and stores them in an array.get in class Pointeroffset - The offset from the start of the memory this Pointer represents at which the first value will be read.dst - The array into which values are to be stored.off - the start index in the dst array to begin storing the values.len - the number of values to be read.public void put(long offset,
double[] src,
int off,
int len)
Pointerdouble values.
This method writes multiple double values to consecutive addresses,
beginning at the given offset, from an array.put in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the first value will be written.src - the array to get values from.off - the start index in the dst array to begin reading values.len - the number of values to be written.public long getAddress(long offset)
PointerA native address can be either 32 or 64 bits in size, depending on the cpu architecture.
getAddress in class AbstractMemoryIOoffset - The offset from the start of the memory this Pointer represents at which the value will be read.Addresspublic String getString(long offset, int maxLength, Charset cs)
PointerString value at the given offset, using a specific CharsetgetString in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the value will be read.maxLength - the maximum size of memory to search for a NUL byte.cs - the Charset to use to decode the string.String value read from memory.public String getString(long offset)
PointerString value at the given offset.public void putAddress(long offset,
long value)
PointerA native address can be either 32 or 64 bits in size, depending on the cpu architecture.
putAddress in class AbstractMemoryIOoffset - The offset from the start of the memory this Pointer represents at which the value will be written.value - The native address value to be written.Addresspublic void putAddress(long offset,
Address value)
PointerA native address can be either 32 or 64 bits in size, depending on the cpu architecture.
putAddress in class AbstractMemoryIOoffset - The offset from the start of the memory this Pointer represents at which the value will be written.value - The native address value to be written.Addresspublic void putString(long offset,
String string,
int maxLength,
Charset cs)
PointerString value at the given offset, using a specific CharsetputString in class Pointeroffset - the offset from the start of the memory this Pointer represents at which the value will be written.string - the string to be written.maxLength - the maximum size of memory to use to store the string.cs - the Charset to use to decode the string.public int indexOf(long offset,
byte value)
PointerPointer.indexOf in class AbstractMemoryIOoffset - the offset from the start of the memory location this Pointer represents to begin searching.value - the byte value to locate.public int indexOf(long offset,
byte value,
int maxlen)
PointerPointer.indexOf in class Pointeroffset - the offset from the start of the memory location this Pointer represents to begin searching.value - the byte value to locate.maxlen - the maximum number of bytes to search for the desired value.public void setMemory(long offset,
long size,
byte value)
PointerPointer.
to a specified value.public void transferFrom(long offset,
Pointer other,
long otherOffset,
long count)
PointertransferFrom in class AbstractMemoryIOoffset - the offset from the start of the memory location this Pointer represents to begin copying to.other - the destination memory location to transfer data from.otherOffset - the offset from the start of the memory location the destination Pointer represents to begin copying from.count - the number of bytes to transfer.public void transferTo(long offset,
Pointer other,
long otherOffset,
long count)
PointertransferTo in class AbstractMemoryIOoffset - the offset from the start of the memory location this Pointer represents to begin copying from.other - the destination memory location to transfer data to.otherOffset - the offset from the start of the memory location the destination Pointer represents to begin copying to.count - the number of bytes to transfer.Copyright © 2017. All rights reserved.