Spec-Zone.ru › Dart 2

dart:typed_data

Int32x4List.view конструктор

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

Создаёт Int32x4List представление указанного региона в buffer.

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

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

offsetInBytes должно быть кратно bytesPerElement.

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

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

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

Int32x4List.sublistView(other, 0, count);

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

Реализация

factory Int32x4List.view(ByteBuffer buffer,
    [int offsetInBytes = 0, int? length]) {
  return buffer.asInt32x4List(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/Int32x4List/Int32x4List.view.html

Spec-Zone.ru

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