Spec-Zone.ru › Dart 2

dart:typed_data

Конструктор Int8List.view

Int8List.view(
  1. ByteBuffer buffer,
  2. [int offsetInBytes = 0,
  3. int? length]
)

Создаёт Int8List вид заданного региона в buffer.

Изменения в Int8List будут видны в буфере байтов и наоборот. Если индекс offsetInBytes региона не указан, он по умолчанию равен нулю (первый байт в буфере байтов). Если длина не указана, вид простирается до конца буфера байтов.

offsetInBytes и length должны быть неотрицательными, и offsetInBytes + (length * bytesPerElement) должно быть меньше или равно длине buffer.

Обратите внимание, что при создании вида из списка TypedData или данных байтов, этот список или данные байтов могут сами быть видом на более крупный буфер с TypedData.offsetInBytes больше нуля. Просто выполнение Int8List.view(other.buffer, 0, count) может не указывать на те байты, которые вы имели в виду. Вместо этого вам может понадобиться сделать:

Int8List.view(other.buffer, other.offsetInBytes, count)

В качестве альтернативы используйте Int8List.sublistView, который включает в себя это вычисление:

Int8List.sublistView(other, 0, count);

(Третий аргумент является конечным индексом, а не длиной, поэтому, если вы начинаете с позиции, большей нуля, вам не нужно уменьшать счётчик соответственно).

Реализация

factory Int8List.view(ByteBuffer buffer,
    [int offsetInBytes = 0, int? length]) {
  return buffer.asInt8List(offsetInBytes, length);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-typed_data/Int8List/Int8List.view.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API