Skip to content

Int16Pointer

extension Int16Pointer on Pointer<Int16>

Extension on Pointer specialized for the type argument Int16.

Properties

value extension read / write

int get value

The 16-bit two's complement integer at address.

A Dart integer is truncated to 16 bits (as if by .toSigned(16)) before being stored, and the 16-bit value is sign-extended when it is loaded.

The address must be 2-byte aligned.

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

Implementation
dart
external int get value;

external void set value(int value);

Methods

asTypedList() extension

Int16List asTypedList(
  int length, {
  Pointer<NativeFinalizerFunction<Void Function(Pointer<Void> token)>>? finalizer,
  Pointer<Void>? token,
})

Creates a typed list view backed by memory in the address space.

The returned view will allow access to the memory range from address to address + sizeOf<Int16>() * length.

The user has to ensure the memory range is accessible while using the returned list.

If provided, finalizer will be run on the pointer once the typed list is GCed. If provided, token will be passed to finalizer, otherwise the this pointer itself will be passed.

The address must be 2-byte aligned.

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

Implementation
dart
external Int16List asTypedList(
  int length, {
  @Since('3.1') Pointer<NativeFinalizerFunction>? finalizer,
  @Since('3.1') Pointer<Void>? token,
});

deprecated elementAt() extension

Pointer<Int16> elementAt(int index)

DEPRECATED

Use operator + instead

Pointer arithmetic (takes element size into account).

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

Implementation
dart
@Deprecated('Use operator + instead')
Pointer<Int16> elementAt(int index) =>
    Pointer.fromAddress(address + sizeOf<Int16>() * index);

Operators

operator +() extension

Pointer<Int16> operator +(int offset)

A pointer to the offsetth Int16 after this one.

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

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

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

Implementation
dart
@Since('3.3')
@pragma("vm:prefer-inline")
Pointer<Int16> operator +(int offset) =>
    Pointer.fromAddress(address + sizeOf<Int16>() * offset);

operator -() extension

Pointer<Int16> operator -(int offset)

A pointer to the offsetth Int16 before this one.

Equivalent to this + (-offset).

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

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

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

Implementation
dart
@Since('3.3')
@pragma("vm:prefer-inline")
Pointer<Int16> operator -(int offset) =>
    Pointer.fromAddress(address - sizeOf<Int16>() * offset);

operator extension

int operator [](int index)

The 16-bit two's complement integer at address + sizeOf<Int16>() * index.

A Dart integer is truncated to 16 bits (as if by .toSigned(16)) before being stored, and the 16-bit value is sign-extended when it is loaded.

The address must be 2-byte aligned.

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

Implementation
dart
external int operator [](int index);

operator []=() extension

void operator []=(int index, int value)

The 16-bit two's complement integer at address + sizeOf<Int16>() * index.

A Dart integer is truncated to 16 bits (as if by .toSigned(16)) before being stored, and the 16-bit value is sign-extended when it is loaded.

The address must be 2-byte aligned.

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

Implementation
dart
external void operator []=(int index, int value);