Skip to content

PointerPointer<T extends NativeType>

extension PointerPointer<T extends NativeType> on Pointer<Pointer<T>>

Extension on Pointer specialized for the type argument Pointer.

Properties

value extension read / write

Pointer<T> get value

The pointer at address.

A Pointer is unboxed before being stored (as if by .address), and the pointer is boxed (as if by Pointer.fromAddress) when loaded.

On 32-bit platforms the address must be 4-byte aligned, and on 64-bit platforms the address must be 8-byte aligned.

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
external Pointer<T> get value;

external void set value(Pointer<T> value);

Methods

deprecated elementAt() extension

Pointer<Pointer<T>> elementAt(int index)

DEPRECATED

Use operator + instead

Pointer arithmetic (takes element size into account).

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
@Deprecated('Use operator + instead')
external Pointer<Pointer<T>> elementAt(int index);

Operators

operator +() extension

Pointer<Pointer<T>> operator +(int offset)

A pointer to the offsetth Pointer<T> after this one.

Returns a pointer to the Pointer<T> whose address is offset times the size of Pointer<T> after the address of this pointer. That is (this + offset).address == this.address + offset * sizeOf<Pointer<T>>().

Also (this + offset).value is equivalent to this[offset], and similarly for setting.

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
external Pointer<Pointer<T>> operator +(int offset);

operator -() extension

Pointer<Pointer<T>> operator -(int offset)

A pointer to the offsetth Pointer<T> before this one.

Equivalent to this + (-offset).

Returns a pointer to the Pointer<T> whose address is offset times the size of Pointer<T> before the address of this pointer. That is, (this - offset).address == this.address - offset * sizeOf<Pointer<T>>().

Also, (this - offset).value is equivalent to this[-offset], and similarly for setting,

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
external Pointer<Pointer<T>> operator -(int offset);

operator extension

Pointer<T> operator [](int index)

Load a Dart value from this location offset by index.

A Pointer is unboxed before being stored (as if by .address), and the pointer is boxed (as if by Pointer.fromAddress) when loaded.

On 32-bit platforms the address must be 4-byte aligned, and on 64-bit platforms the address must be 8-byte aligned.

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
external Pointer<T> operator [](int index);

operator []=() extension

void operator []=(int index, Pointer<T> value)

Store a Dart value into this location offset by index.

A Pointer is unboxed before being stored (as if by .address), and the pointer is boxed (as if by Pointer.fromAddress) when loaded.

On 32-bit platforms the address must be 4-byte aligned, and on 64-bit platforms the address must be 8-byte aligned.

Available on Pointer<T extends NativeType>, provided by the PointerPointer<T extends NativeType> extension

Implementation
dart
external void operator []=(int index, Pointer<T> value);