Uint8Pointer
LogoDart

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
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
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
@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
@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
@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
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
external void operator []=(int index, int value);