Uint32List.sublistView constructor
- @Since("2.8")
Creates a Uint32List view on a range of elements of data
.
Creates a view on the range of data.buffer
which corresponds to the elements of data
from start
until end
. If data
is a typed data list, like Uint16List, then the view is on the bytes of the elements with indices from start
until end
. If data
is a ByteData, it's treated like a list of bytes.
If provided, start
and end
must satisfy
0 ≤ start
≤ end
≤ elementCount
where elementCount is the number of elements in data
, which is the same as the List.length of a typed data list.
If omitted, start
defaults to zero and end
to elementCount.
The start and end indices of the range of bytes being viewed must be multiples of four.
Implementation
@Since("2.8") factory Uint32List.sublistView(TypedData data, [int start = 0, int? end]) { int elementSize = data.elementSizeInBytes; end = RangeError.checkValidRange( start, end, data.lengthInBytes ~/ elementSize); if (end == null) throw "unreachable"; // TODO(38725) int byteLength = (end - start) * elementSize; if (byteLength % bytesPerElement != 0) { throw ArgumentError("The number of bytes to view must be a multiple of " + "$bytesPerElement"); } return data.buffer.asUint32List(data.offsetInBytes + start * elementSize, byteLength ~/ bytesPerElement); }
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-typed_data/Uint32List/Uint32List.sublistView.html