Introduces a new DynamicRowRange type that is used when a range is taken of a DynamicRow. This removes the "copy the whole subset"-behavior from taking ranges of DynamicRows, fixing #9.
DynamicRowRange essentially stores a reference to a DynamicRow, and will keep it alive until all ranges and the row are disposed. This makes taking a range of a DynamicRow O(1), instead of O(n) (relative to the number of cells taken from the row).
Internal changes
Introduces DynamicRowRange and it's associated dynamic object infrastructure
A lot of existing dynamic infrastructure grows Offset and Length fields, so they can be used with either type
Introduces a new DynamicRowRange type that is used when a range is taken of a DynamicRow. This removes the "copy the whole subset"-behavior from taking ranges of DynamicRows, fixing #9.
DynamicRowRange essentially stores a reference to a DynamicRow, and will keep it alive until all ranges and the row are disposed. This makes taking a range of a DynamicRow O(1), instead of O(n) (relative to the number of cells taken from the row).
Internal changes