| 
10 | 10 | 
 
  | 
11 | 11 | #include <sycl/detail/defines.hpp>            // for __SYCL_ASSUME_INT  | 
12 | 12 | #include <sycl/detail/defines_elementary.hpp> // for __SYCL_ALWAYS_INLINE, __SYC...  | 
13 |  | -#include <sycl/detail/helpers.hpp>            // for Builder  | 
14 | 13 | #include <sycl/detail/item_base.hpp>          // for id, range, ItemBase  | 
15 |  | -#include <sycl/exception.hpp> // for make_error_code, errc, exce...  | 
16 | 14 | #include <sycl/id.hpp>        // for id, item  | 
17 | 15 | #include <sycl/range.hpp>     // for range  | 
18 | 16 | 
 
  | 
@@ -93,8 +91,7 @@ template <int Dimensions = 1, bool with_offset = true> class item {  | 
93 | 91 | 
 
  | 
94 | 92 |   template <bool has_offset = with_offset>  | 
95 | 93 |   operator std::enable_if_t<!has_offset, item<Dimensions, true>>() const {  | 
96 |  | -    return detail::Builder::createItem<Dimensions, true>(  | 
97 |  | -        MImpl.MExtent, MImpl.MIndex, /*Offset*/ {});  | 
 | 94 | +    return item<Dimensions, true>{MImpl.MExtent, MImpl.MIndex, /*Offset*/ {}};  | 
98 | 95 |   }  | 
99 | 96 | 
 
  | 
100 | 97 |   size_t __SYCL_ALWAYS_INLINE get_linear_id() const {  | 
@@ -128,6 +125,8 @@ template <int Dimensions = 1, bool with_offset = true> class item {  | 
128 | 125 | 
 
  | 
129 | 126 |   friend class detail::Builder;  | 
130 | 127 | 
 
  | 
 | 128 | +  template <int, bool> friend class item;  | 
 | 129 | + | 
131 | 130 | private:  | 
132 | 131 |   detail::ItemBase<Dimensions, with_offset> MImpl;  | 
133 | 132 | };  | 
 | 
0 commit comments