newArray method
- int length
inherited
Returns a slice of length
from the pre-allocated array of Arena.
When length
exceeds freeSpace it throws a RangeError
.
Implementation
Array<T, L> newArray(int length) {
assert(length > 0);
if (freeSpace < length) {
throw RangeError('Not enough free space');
}
final addr = _arrPtr.address + _index;
final newPtr = Pointer<T>.fromAddress(addr);
final view = _getView(newPtr, length);
_index += length;
return Array<T, L>.fromPtr(newPtr, view);
}