loadManyAs<T> method

List<T> loadManyAs<T>(
  1. Memory memory,
  2. int pointer,
  3. int elementCount,
  4. String name, {
  5. WASIComponentCanonicalStringEncoding stringEncoding = WASIComponentCanonicalStringEncoding.utf8,
})

Loads elementCount typed contiguous values from memory.

Implementation

List<T> loadManyAs<T>(
  wasm.Memory memory,
  int pointer,
  int elementCount,
  String name, {
  WASIComponentCanonicalStringEncoding stringEncoding =
      WASIComponentCanonicalStringEncoding.utf8,
}) {
  RangeError.checkNotNegative(elementCount, 'elementCount');
  final bytes = Uint8List.view(memory.buffer);
  _checkMemoryRange(
    bytes,
    pointer,
    elementCount * _layout.byteLength,
    _layout.alignment,
  );
  final data = ByteData.view(memory.buffer);
  return List<T>.generate(
    elementCount,
    (index) => _loadAs<T>(
      memory,
      data,
      bytes,
      pointer + index * _layout.byteLength,
      name,
      stringEncoding,
    ),
    growable: false,
  );
}