loadManyAs<T> method
List<T>
loadManyAs<T>(
- Memory memory,
- int pointer,
- int elementCount,
- String name, {
- 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,
);
}