From eeed3f8a38adc57cc87e4b2a41e64ac5a9b33bbc Mon Sep 17 00:00:00 2001 From: Ruslan Arutyunyan Date: Mon, 7 Oct 2024 14:24:30 -0600 Subject: [PATCH 1/2] Enable CTAD for blocked_rangeNd since C++17 --- include/oneapi/tbb/blocked_rangeNd.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/oneapi/tbb/blocked_rangeNd.h b/include/oneapi/tbb/blocked_rangeNd.h index a7ba137506..058663b5dc 100644 --- a/include/oneapi/tbb/blocked_rangeNd.h +++ b/include/oneapi/tbb/blocked_rangeNd.h @@ -133,7 +133,12 @@ class blocked_rangeNd_impl> { }; template -using blocked_rangeNd = blocked_rangeNd_impl; +class blocked_rangeNd : public blocked_rangeNd_impl { + using base = blocked_rangeNd_impl; + + // Making constructors of base class visible + using base::base; +}; } // namespace d1 } // namespace detail From 3fe65dcbe5a24388c05b91a82722ec052ef5ff1d Mon Sep 17 00:00:00 2001 From: Ruslan Arutyunyan Date: Mon, 7 Oct 2024 15:17:08 -0600 Subject: [PATCH 2/2] Fix constraits test failure --- include/oneapi/tbb/blocked_range.h | 1 - include/oneapi/tbb/blocked_rangeNd.h | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/include/oneapi/tbb/blocked_range.h b/include/oneapi/tbb/blocked_range.h index 12862fa2a1..ff90cd60e5 100644 --- a/include/oneapi/tbb/blocked_range.h +++ b/include/oneapi/tbb/blocked_range.h @@ -151,7 +151,6 @@ class blocked_range { friend class blocked_range3d; template - __TBB_requires(blocked_range_value) friend class blocked_rangeNd_impl; }; diff --git a/include/oneapi/tbb/blocked_rangeNd.h b/include/oneapi/tbb/blocked_rangeNd.h index 058663b5dc..38b2de65f0 100644 --- a/include/oneapi/tbb/blocked_rangeNd.h +++ b/include/oneapi/tbb/blocked_rangeNd.h @@ -50,11 +50,9 @@ namespace d1 { */ template> - __TBB_requires(blocked_range_value) class blocked_rangeNd_impl; template - __TBB_requires(blocked_range_value) class blocked_rangeNd_impl> { public: //! Type of a value. @@ -133,9 +131,9 @@ class blocked_rangeNd_impl> { }; template + __TBB_requires(blocked_range_value) class blocked_rangeNd : public blocked_rangeNd_impl { using base = blocked_rangeNd_impl; - // Making constructors of base class visible using base::base; };