Indexes
soa1d_container's and aos1d_container's accessors [] operator can
accept an integer based loop index. However if any modifications were applied
to that loop index, the fact that it's a loop index may be lost by the compiler
as it is handled before being passed to the [] operator.
To avoid this situation, SDLT provides classes to wrap loop indexes
that capture multiple additions or subtractions of offsets (see the Offsets
section). The resulting index can be passed to [] and preserve the original
loop index and track any arithmetic with Offsets to be applied to underlying
data layout.
It is common for stencil based algorithms to need to apply offsets
during data access.
For a regular linear loop, use linear_index to wrap your loop index.