Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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>

Syntax

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

Arguments

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.

Description

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.

Member

Description

accessor();

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>
auto 
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.

auto 
reaccess(const int offset) const;

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

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

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

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

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