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