Float64x2List.view 构造函数

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

创建一个针对指定区域在 buffer 中的 Float64x2List 视图

Float64x2List 中的更改将在字节数组缓冲区中可见,反之亦然。如果没有指定区域中的 offsetInBytes索引,则默认为零(字节数组的第一个字节)。如果没有提供长度,则视图扩展到字节数组的末尾。

必须为非负,且 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);
}