Template class for "Array of Structures" memory layout of a one-dimensional container of Primitives.
template< typename PrimitiveT, AccessBy AccessByT, class AllocatorT = allocator::default_alloc > class aos1d_container;
- typename PrimitiveT
- The type that each element in the array will store
- access_by AccessByT
- Enum to control how the memory layout will be accessed. Recommend access_by_struct unless you are having issues vectorizing.See the documentation ofaccess_byfor more details
- class AllocatorT = allocator::default_alloc
- [Optional] Specify the type of allocator to be used.allocator::default_allocis currently the only allocator supported.
Provide compatible interface with
soa1d_containerwhile keeping the memory layout as an Array of Structures internally. User can easily switch between data layouts by changing the type of container they use. The rest of the code written against accessors and proxy elements and members can stay the same.
- Dynamic resizing with interface similar tostd::vector
- Accessor objects suitable for efficient data access inside SIMD loops
Type to use when specifying sizes to methods of the container.
Template alias to an