Int8List.sublistView constructor

  1. @Since("2.8")
Int8List.sublistView(
  1. TypedData data, [
  2. int start = 0,
  3. int? end
])

Creates an Int8List 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 ≤ startendelementCount

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.

Implementation

@Since("2.8")
factory Int8List.sublistView(TypedData data, [int start = 0, int? end]) {
  int elementSize = data.elementSizeInBytes;
  end = RangeError.checkValidRange(
    start,
    end,
    data.lengthInBytes ~/ elementSize,
  );
  return data.buffer.asInt8List(
    data.offsetInBytes + start * elementSize,
    (end - start) * elementSize,
  );
}