Uint8ClampedList.sublistView constructor

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

Creates a Uint8ClampedList 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("3.3")
factory Uint8ClampedList.sublistView(
  TypedData data, [
  int start = 0,
  int? end,
]) {
  int elementSize = data.elementSizeInBytes;
  end = RangeError.checkValidRange(
    start,
    end,
    data.lengthInBytes ~/ elementSize,
  );
  return data.buffer.asUint8ClampedList(
    data.offsetInBytes + start * elementSize,
    (end - start) * elementSize,
  );
}