Конструктор Int64List.view
- ByteBuffer buffer,
- [int offsetInBytes = 0,
- int? length]
Создаёт Int64List вид указанного региона в buffer.
Изменения в Int64List будут видны в буфере байтов и наоборот. Если offsetInBytes индекс региона не указан, он по умолчанию равен нулю (первый байт в буфере байтов). Если длина не указана, вид простирается до конца буфера байтов.
offsetInBytes и length должны быть неотрицательными, и offsetInBytes + (length * bytesPerElement) должно быть меньше или равно длине buffer.
offsetInBytes должен быть кратен bytesPerElement.
Обратите внимание, что при создании представления из списка TypedData или данных байтов, этот список или данные байтов могут сами быть представлением большего буфера с TypedData.offsetInBytes больше нуля. Просто выполнение Int64List.view(other.buffer, 0, count) может не указывать на искомые байты. Вместо этого вам может потребоваться сделать:
Int64List.view(other.buffer, other.offsetInBytes, count)
В качестве альтернативы, используйте Int64List.sublistView, который включает этот вычисление:
Int64List.sublistView(other, 0, count);
(Третий аргумент — это конечный индекс, а не длина, поэтому, если вы начинаете с позиции, большей нуля, вам не нужно уменьшать счётчик соответствующим образом).
Реализация
factory Int64List.view(ByteBuffer buffer,
[int offsetInBytes = 0, int? length]) {
return buffer.asInt64List(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/Int64List/Int64List.view.html