writeArrayImpl static method

Tuple2<Uint8List, int> writeArrayImpl(
  1. Uint8List output,
  2. List elements,
  3. int count,
  4. int currentPos,
  5. dynamic accessor,
)

Implementation

static Tuple2<Uint8List, int> writeArrayImpl(Uint8List output, List elements, int count, int currentPos, dynamic accessor) {
  for (var i = 0; i < count; ++i) {
    final element = elements[i];
    if (accessor != null && 0 < i && 0 <= deepCompare(accessor(elements[i - 1]), accessor(element))) {
      throw RangeError('array passed to write array is not sorted');
    }
    var serializedElement = element.serialize();
    var elementSize = serializedElement.length as int;
    output.setRange(currentPos, currentPos + elementSize, serializedElement);
    currentPos += elementSize;
  }
  return Tuple2(output, currentPos);
}