36
36
37
37
namespace sycl {
38
38
__SYCL_INLINE_VER_NAMESPACE (_V1) {
39
- template <typename _DataT, int _Dimensions, access::mode _AccessMode,
40
- access::target _AccessTarget, access::placeholder _IsPlaceholder,
41
- typename _PropertyListT>
39
+
40
+ template <typename _AccessorDataT, int _AccessorDimensions,
41
+ access::mode _AccessMode, access::target _AccessTarget,
42
+ access::placeholder _IsPlaceholder, typename _PropertyListT>
42
43
class accessor ;
43
44
44
45
namespace detail {
45
46
46
- template <typename _DataT, int _Dimensions, access::mode _AccessMode,
47
- access::target _AccessTarget, access::placeholder _IsPlaceholder,
48
- typename _PropertyListT>
49
- class __accessor_iterator {
47
+ template <typename _DataT, int _Dimensions> class __accessor_iterator {
50
48
public:
51
49
using difference_type = std::ptrdiff_t ;
52
50
using value_type = _DataT;
@@ -57,8 +55,8 @@ class __accessor_iterator {
57
55
58
56
__accessor_iterator () = default ;
59
57
60
- _DataT & operator *() {
61
- return *(_MAccessorPtr-> get_pointer () + __get_absolute_offset_to_buffer ());
58
+ reference operator *() {
59
+ return *(_MDataPtr + __get_absolute_offset_to_buffer ());
62
60
}
63
61
64
62
__accessor_iterator &operator ++() {
@@ -168,12 +166,12 @@ class __accessor_iterator {
168
166
}
169
167
170
168
private:
171
- using _AccessorT = accessor<_DataT, _Dimensions, _AccessMode, _AccessTarget ,
172
- _IsPlaceholder, _PropertyListT>;
173
- friend class accessor <_DataT, _Dimensions, _AccessMode, _AccessTarget,
174
- _IsPlaceholder, _PropertyListT> ;
169
+ template < typename _AccessorDataT, int _AccessorDimensions ,
170
+ access::mode _AccessMode, access::target _AccessTarget,
171
+ access::placeholder _IsPlaceholder, typename _PropertyListT>
172
+ friend class sycl ::accessor ;
175
173
176
- const _AccessorT *_MAccessorPtr = nullptr ;
174
+ _DataT *_MDataPtr = nullptr ;
177
175
178
176
// Stores a linear id of an accessor's buffer element the iterator points to.
179
177
// This id is relative to a range accessible through an accessor, i.e. it is
@@ -285,11 +283,10 @@ class __accessor_iterator {
285
283
return _AbsoluteId;
286
284
}
287
285
288
- __accessor_iterator (const _AccessorT *_AccessorPtr,
289
- const range<_Dimensions> &_MemoryRange,
286
+ __accessor_iterator (_DataT *_DataPtr, const range<_Dimensions> &_MemoryRange,
290
287
const range<_Dimensions> &_AccessRange,
291
288
const id<_Dimensions> &_Offset)
292
- : _MAccessorPtr(_AccessorPtr ) {
289
+ : _MDataPtr(_DataPtr ) {
293
290
constexpr int _XIndex = _Dimensions - 1 ;
294
291
constexpr int _YIndex = _Dimensions - 2 ;
295
292
(void )_YIndex;
@@ -333,22 +330,22 @@ class __accessor_iterator {
333
330
_MEnd = _MBegin + _AccessRange.size ();
334
331
}
335
332
336
- static __accessor_iterator __get_begin (const _AccessorT *_AccessorPtr ,
333
+ static __accessor_iterator __get_begin (_DataT *_DataPtr ,
337
334
const range<_Dimensions> &_MemoryRange,
338
335
const range<_Dimensions> &_AccessRange,
339
336
const id<_Dimensions> &_Offset) {
340
337
auto _It =
341
- __accessor_iterator (_AccessorPtr , _MemoryRange, _AccessRange, _Offset);
338
+ __accessor_iterator (_DataPtr , _MemoryRange, _AccessRange, _Offset);
342
339
_It._MLinearId = _It._MBegin ;
343
340
return _It;
344
341
}
345
342
346
- static __accessor_iterator __get_end (const _AccessorT *_AccessorPtr ,
343
+ static __accessor_iterator __get_end (_DataT *_DataPtr ,
347
344
const range<_Dimensions> &_MemoryRange,
348
345
const range<_Dimensions> &_AccessRange,
349
346
const id<_Dimensions> &_Offset) {
350
347
auto _It =
351
- __accessor_iterator (_AccessorPtr , _MemoryRange, _AccessRange, _Offset);
348
+ __accessor_iterator (_DataPtr , _MemoryRange, _AccessRange, _Offset);
352
349
_It._MLinearId = _It._MEnd ;
353
350
return _It;
354
351
}
0 commit comments