soa1d_container::accessor and aos1d_container::accessor

Lightweight object provides efficient array subscript [] access to the read or write elements from inside a soa1d_container or aos1d_container. #include <sdlt/soa1d_container.h> and #include <sdlt/aos1d_container.h>


template <typename OffsetT> soa1d_container::accessor;
template <typename OffsetT> aos1d_container::accessor;


typename OffsetT

The type offset that will be applied to each operator[] call determined by the type of offset passed into soa1d_container::access(offset)/aos1d_container::access(offset) which constructs an accessor.


accessor provides [] operator that returns a proxy object representing an Element inside the Container that can export or import the Primitive's data. Can re-access with an offset to create a new accessor that when accessed at [0] will really be accessing at index corresponding to the embedded offset. Lightweight and meant to be passed by value into functions or lambda closures. Use accessors in place of pointers to access the logical array data.




Default Constructible

accessor(const accessor &);

Copy Constructible

accessor & operator = (const accessor &);

Copy Assignable

const int & get_size_d1() const;

Returns: Number of elements in the container.

auto operator [] (int index_d1) const

Returns: proxy Element representing element at index_d1 in the container..

template<typename IndexT_D1>
operator [] (const IndexT_D1 index_d1);

When: IndexT_D1 is one of the SDLT defined or generated Index types,

Returns: proxy Element representing element at index_d1 in the container.

reaccess(const int offset) const;

Returns: accessor with an integer-based embedded index offset.

template<int IndexAlignmentT>
reaccess(aligned_offset<IndexAlignmentT> offset) const;

Returns: accessor with an aligned_offset<IndexAlignmentT> based embedded index offset.

template<int fixed_offsetT>
reaccess(fixed_offset<fixed_offsetT>) const;

Returns: accessor with a fixed_offset<OffsetT> based embedded index offset.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.