Skip to content

Uint8Pointer

extension Uint8Pointer on Pointer<Uint8>

Extension on Pointer specialized for the type argument Uint8.

Properties

value extension read / write

int get value

The 8-bit unsigned integer at address.

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

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

Implementation
dart
external int get value;

external void set value(int value);

Methods

asTypedList() extension

Uint8List 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<Uint8>() * 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.

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

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

deprecated elementAt() extension

Pointer<Uint8> elementAt(int index)

DEPRECATED

Use operator + instead

Pointer arithmetic (takes element size into account).

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

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

Operators

operator +() extension

Pointer<Uint8> operator +(int offset)

A pointer to the offsetth Uint8 after this one.

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

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

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

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

operator -() extension

Pointer<Uint8> operator -(int offset)

A pointer to the offsetth Uint8 before this one.

Equivalent to this + (-offset).

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

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

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

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

operator extension

int operator [](int index)

The 8-bit unsigned integer at address + sizeOf<Uint8>() * index.

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

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

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

operator []=() extension

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

The 8-bit unsigned integer at address + sizeOf<Uint8>() * index.

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

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

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