47template <
typename Cell,
typename Accessor, sycl::access::mode access_mode,
65 requires(current_subdim == 0)
66 : ac(ac), id_prefix() {
67 id_prefix[current_subdim] = i;
81 : ac(ac), id_prefix(id_prefix) {
82 id_prefix[current_subdim] = i;
114 requires(current_subdim ==
dimensions - 2 && access_mode == sycl::access::mode::read)
116 sycl::id<dimensions>
id = id_prefix;
117 id[current_subdim + 1] = i;
132 requires(current_subdim ==
dimensions - 2 && access_mode != sycl::access::mode::read)
134 sycl::id<dimensions>
id = id_prefix;
135 id[current_subdim + 1] = i;
141 sycl::id<dimensions> id_prefix;
A helper class to support the double-subscript idiom for GridAccessors.
Definition AccessorSubscript.hpp:49
Cell & operator[](uindex_t i)
Access the cell.
Definition AccessorSubscript.hpp:131
AccessorSubscript< Cell, Accessor, access_mode, current_subdim+1 > operator[](uindex_t i)
Access the next dimension's accessor subscript.
Definition AccessorSubscript.hpp:96
AccessorSubscript(Accessor &ac, uindex_t i)
Instantiate a new accessor subscript object with the given index as the prefix.
Definition AccessorSubscript.hpp:64
Cell const & operator[](uindex_t i)
Access the cell.
Definition AccessorSubscript.hpp:113
AccessorSubscript(Accessor &ac, sycl::id< dimensions > id_prefix, uindex_t i)
Instantiate a new subscript object with the given prefix and subscript index.
Definition AccessorSubscript.hpp:80
static constexpr uindex_t dimensions
The number of dimensions in the accessed grid.
Definition AccessorSubscript.hpp:52
Definition AccessorSubscript.hpp:24
BOOST_PP_CAT(BOOST_PP_CAT(uint, STENCIL_INDEX_WIDTH), _t) uindex_t
An unsigned integer of configurable width.
Definition Index.hpp:42