@@ -26,14 +26,13 @@ class work_group_memory_impl {
2626 work_group_memory_impl (const work_group_memory_impl &rhs) = default ;
2727 work_group_memory_impl &
2828 operator =(const work_group_memory_impl &rhs) = default ;
29- work_group_memory_impl (size_t buffer_size)
30- : buffer_size{buffer_size} {}
31- private:
29+ work_group_memory_impl (size_t buffer_size) : buffer_size{buffer_size} {}
30+
31+ private:
3232 size_t buffer_size;
3333 friend class sycl ::handler;
3434};
3535
36-
3736} // namespace detail
3837namespace ext ::oneapi::experimental {
3938#ifdef __SYCL_DEVICE_ONLY__
@@ -57,8 +56,7 @@ class __SYCL_SPECIAL_CLASS __SYCL_TYPE(work_group_memory) work_group_memory
5756 template <typename T = DataT,
5857 typename = std::enable_if_t <!sycl::detail::is_unbounded_array_v<T>>>
5958 work_group_memory (handler &)
60- : sycl::detail::work_group_memory_impl (
61- sizeof (DataT)) {}
59+ : sycl::detail::work_group_memory_impl (sizeof (DataT)) {}
6260 template <typename T = DataT,
6361 typename = std::enable_if_t <sycl::detail::is_unbounded_array_v<T>>>
6462 work_group_memory (size_t num, handler &)
@@ -71,7 +69,7 @@ class __SYCL_SPECIAL_CLASS __SYCL_TYPE(work_group_memory) work_group_memory
7169 IsDecorated, value_type>(ptr);
7270 }
7371 DataT *operator &() const { return reinterpret_cast <DataT *>(ptr); }
74- operator DataT &() const { return *( this -> operator &() ); }
72+ operator DataT &() const { return *reinterpret_cast <DataT *>(ptr ); }
7573 template <typename T = DataT,
7674 typename = std::enable_if_t <!std::is_array_v<T>>>
7775 const work_group_memory &operator =(const DataT &value) const {
@@ -83,15 +81,7 @@ class __SYCL_SPECIAL_CLASS __SYCL_TYPE(work_group_memory) work_group_memory
8381#endif
8482private:
8583 decoratedPtr ptr;
86- size_t bufferSize;
87- template <typename DataType>
88- friend size_t getWorkGroupMemorySize ();
8984};
90-
91- template <typename DataType>
92- size_t getWorkGroupMemorySize () {
93- return work_group_memory<DataType, empty_properties_t >::bufferSize;
94- }
9585} // namespace ext::oneapi::experimental
9686} // namespace _V1
9787} // namespace sycl
0 commit comments