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::const_accessor and aos1d_container::const_accessor

Lightweight object provides efficient array subscript [] access to the read 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::const_accessor;
template <typename OffsetT> aos1d_container::const_accessor;

Arguments

typename OffsetT

The type offset that embedded offset that will be applied to each operator[] call

Description

const_accessor provides [] operator that returns a proxy object representing a const Element inside the Container that can export the Primitive's data. Can re-access with an offset to create a new const_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 const_accessors in place of const pointers to access the logical array data.

Member

Description

const_accessor();

Default Constructible

const_accessor(const const_accessor &);

Copy Constructible

const_accessor & operator = (const 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 ConstElement representing element atindex_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 ConstElement representing element at index_d1 in the container.

auto 
reaccess(const int offset) const;

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

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

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

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

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