Skip to content
Open
Show file tree
Hide file tree
Changes from 213 commits
Commits
Show all changes
218 commits
Select commit Hold shift + click to select a range
53944ea
[oneDPL][ranges][zip_view] + initial implementation of standard compl…
MikeDvorskiy Sep 17, 2024
dd621de
[oneDPL][ranges][zip_view] + missing arithmetic operations for zip_vi…
MikeDvorskiy Sep 18, 2024
070b844
[oneDPL][ranges][zip_view] + return type fix for operator*()
MikeDvorskiy Sep 20, 2024
51c5c2e
[oneDPL][ranges][tuple] + const assignment operator overload
MikeDvorskiy Sep 24, 2024
f170639
[oneDPL][ranges][zip_view] + test
MikeDvorskiy Sep 24, 2024
0970552
[oneDPL][ranges][zip_view] + apply_to_tuple instead of std::apply; st…
MikeDvorskiy Sep 24, 2024
996828c
[oneDPL][ranges][zip_view] + changes in the test
MikeDvorskiy Sep 25, 2024
212324b
[oneDPL][ranges][zip_view] -> oneapi::dpl::ranges
MikeDvorskiy Sep 25, 2024
dba1b44
[oneDPL][ranges][zip_view][test] -> oneapi::dpl::ranges
MikeDvorskiy Sep 25, 2024
506ad9e
[oneDPL][ranges][zip_view] + file header and guards
MikeDvorskiy Sep 25, 2024
2643c63
[oneDPL][ranges][zip_view] + apply_to_tuple instead of std::apply; st…
MikeDvorskiy Sep 25, 2024
036c1c6
[oneDPL][ranges][zip_view] + begin_imp, end_impl to reduce code dupli…
MikeDvorskiy Sep 26, 2024
452ae82
Revert "[oneDPL][ranges][zip_view] + begin_imp, end_impl to reduce co…
MikeDvorskiy Sep 26, 2024
853c2f0
[oneDPL][ranges][zip_view][test] + minor changes
MikeDvorskiy Sep 27, 2024
cd5606e
[oneDPL][ranges][zip_view] + minor changes
MikeDvorskiy Oct 7, 2024
530adbd
[oneDPL][ranges][zip_view] + #include "tuple_impl.h"
MikeDvorskiy Oct 9, 2024
e50cb9e
[oneDPL][ranges][zip_view][test] + test_zip_view_base_op()
MikeDvorskiy Oct 22, 2024
b8fe83e
[oneDPL][ranges][zip_view] + implementation fix for 'operator-' betwe…
MikeDvorskiy Oct 18, 2024
a55791c
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
a5e698c
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
5d26c97
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
041192a
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
f72be27
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
f36e469
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
2d96a41
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
c964bc2
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
d4cb936
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Oct 21, 2024
c62597b
[oneDPL][ranges][zip_view] + std::get usage
MikeDvorskiy Oct 21, 2024
873e8b8
[oneDPL][ranges][zip_view] + 'std::forward<decltype(__args)>(__args)'…
MikeDvorskiy Oct 21, 2024
b1cceb5
[oneDPL][ranges][zip_view] + 'minor change' for const/non const type …
MikeDvorskiy Oct 21, 2024
e12c67b
[oneDPL][ranges][zip_view] + fix operator<=> implementation
MikeDvorskiy Oct 22, 2024
6e5e414
[oneDPL][ranges][zip_view][test] removed cbegin(), cend() test cases …
MikeDvorskiy Oct 25, 2024
c23deac
[oneDPL][ranges][zip_view][test] + front(), back() methods check
MikeDvorskiy Oct 25, 2024
732fc55
[oneDPL][ranges][zip_view][test] + empty constructor call check
MikeDvorskiy Oct 29, 2024
839b2cf
[oneDPL][ranges][zip_view][test] + ;
MikeDvorskiy Oct 30, 2024
70b43b6
[oneDPL][ranges][zip_view][test] const for compare_with_sentinels
MikeDvorskiy Nov 4, 2024
bb15590
[oneDPL][ranges][zip_view][test] a fix for zip_view::iterator::operator-
MikeDvorskiy Nov 6, 2024
298af5a
[oneDPL][rfc][zip_view] + std::ranges::range_reference_t usage; it f…
MikeDvorskiy Nov 8, 2024
dd627f5
[oneDPL][ranges][zip_view][test] + minor changes
MikeDvorskiy Nov 8, 2024
539aae2
[oneDPL][zip_view] + minor improvements
MikeDvorskiy Nov 15, 2024
a8b7207
[oneDPL][ranges][zip_view][test] + EXPECT_TRUE usage
MikeDvorskiy Nov 19, 2024
793b1a3
[oneDPL][ranges][zip_view] + operator oneapi::dpl::zip_iterator<Itera…
MikeDvorskiy Dec 2, 2024
7a68921
[oneDPL][ranges][zip_view][test] + check conversion to oneapi::dpl::z…
MikeDvorskiy Dec 2, 2024
3b934c3
[oneDPL][ranges][zip_view][test] + EXPECT_TRUE usage
MikeDvorskiy Dec 5, 2024
93ea41b
[oneDPL][ranges][zip_view] + clang format
MikeDvorskiy Jan 16, 2025
a529582
[oneDPL][ranges][zip_view][test] + result checks
MikeDvorskiy Jan 16, 2025
47a7a73
[oneDPL][ranges][zip_view] + LLVM tests for ranges::zip_view (from C+…
MikeDvorskiy Feb 5, 2025
7c2d0a2
[oneDPL][ranges][zip_view] + __simple_view_concep. a fix for operator==
MikeDvorskiy Feb 7, 2025
e51cf7d
[oneDPL][ranges][zip_view][test] LLVM test begin.pass adaptation for …
MikeDvorskiy Feb 7, 2025
52f2119
[oneDPL][ranges][zip_view] + fix for end() and compare_equal
MikeDvorskiy Feb 7, 2025
4360039
[oneDPL][ranges][zip_view][test] LLVM test end.pass adaptation for on…
MikeDvorskiy Feb 7, 2025
117859f
[oneDPL][ranges][zip_view] + fix an error in zip_fn
MikeDvorskiy Feb 7, 2025
b5d604c
[oneDPL][ranges][zip_view][test] LLVM test cpo.pass adaptation for on…
MikeDvorskiy Feb 7, 2025
5f9c575
[oneDPL][ranges][zip_view] + implementation fixes
MikeDvorskiy Feb 10, 2025
4796307
[oneDPL][ranges][zip_view][test] LLVM test borrowing.compile.pass ada…
MikeDvorskiy Feb 10, 2025
2c022e6
[oneDPL][ranges][zip_view] + explicit for constructor
MikeDvorskiy Feb 10, 2025
8514ddf
[oneDPL][ranges][zip_view][test] LLVM test сtad.compile.pass adaptati…
MikeDvorskiy Feb 10, 2025
795325f
[oneDPL][ranges][zip_view][test] LLVM test сtor.default.pass adaptati…
MikeDvorskiy Feb 10, 2025
ba743ce
[oneDPL][ranges][zip_view][test] LLVM test general.pass and ctor.view…
MikeDvorskiy Feb 10, 2025
ac2029e
[oneDPL][ranges][zip_view] + correct implementation of method 'size()…
MikeDvorskiy Feb 10, 2025
b72d34a
[oneDPL][ranges][zip_view][test] another couple of LLVM tests adapta…
MikeDvorskiy Feb 10, 2025
cec5084
[oneDPL][ranges][zip_view] + arithmetic operation fixes
MikeDvorskiy Feb 12, 2025
3d80753
[oneDPL][ranges][zip_view][test] LLVM test arithmetict.pass adaptatio…
MikeDvorskiy Feb 12, 2025
2ae432d
[oneDPL][ranges][zip_view] + fixes in private zip_view::iterator cons…
MikeDvorskiy Feb 12, 2025
81eb9a1
[oneDPL][ranges][zip_view][test] compare.pass test adaptation for oneDPL
MikeDvorskiy Feb 12, 2025
bfc1779
[oneDPL][ranges][zip_view] + fixes in apply_to_tuple using
MikeDvorskiy Feb 12, 2025
5583916
[oneDPL][ranges][zip_view][test] another LLVM test portion were adopt…
MikeDvorskiy Feb 12, 2025
51e8606
[oneDPL][ranges][zip_view] + iter_move friend method
MikeDvorskiy Feb 13, 2025
19f1aac
[oneDPL][ranges][zip_view][test] another couple of LLVM tests adapta…
MikeDvorskiy Feb 13, 2025
e53952f
[oneDPL][ranges][zip_view] + iter_swap friend method
MikeDvorskiy Feb 13, 2025
d4d12c3
[oneDPL][ranges][zip_view][test] LLVM test iter_swap.pass adaptation …
MikeDvorskiy Feb 13, 2025
c831ad5
[oneDPL][ranges][zip_view] + fix: public inheritance for class iterat…
MikeDvorskiy Feb 13, 2025
555e1ff
[oneDPL][ranges][zip_view][test] another LLVM test adaptation for on…
MikeDvorskiy Feb 13, 2025
9b2b5e7
[oneDPL][ranges][zip_view][test] another couple of LLVM tests adapta…
MikeDvorskiy Feb 13, 2025
47e3f58
[oneDPL][ranges][zip_view][test] + test cases disabling #if __GNUC__ …
MikeDvorskiy Feb 13, 2025
66f583d
[oneDPL][ranges][tuple] + a fix for default. According to std::tuple:…
MikeDvorskiy Feb 17, 2025
acba4e3
[oneDPL][ranges][zip_view] + a fix: __maybe_const usage.
MikeDvorskiy Feb 17, 2025
8e023f2
[oneDPL][ranges][zip_view][test] another LLVM tests adaptation for o…
MikeDvorskiy Feb 17, 2025
e344bce
[oneDPL][ranges][zip_view][test] minor changes for begin.pass test
MikeDvorskiy Feb 17, 2025
1032847
[oneDPL][ranges][zip_view][test] the tests renamed: + prefix "zip_view."
MikeDvorskiy Feb 17, 2025
939c6fa
[oneDPL] a fixe for __pattern_walk2 implementation in case of forward…
MikeDvorskiy Feb 17, 2025
d88a100
[oneDPL][ranges][zip_view] removed spaces
MikeDvorskiy Feb 17, 2025
94dcd28
[oneDPL][ranges][zip_view][test] additional LLVM tests adaptation for…
MikeDvorskiy Feb 19, 2025
d90fd15
[oneDPL][ranges][tuple] + a fix for Value-initializes all elements of…
MikeDvorskiy Feb 18, 2025
52bf699
[oneDPL][ranges][zip_view][test] + #include "support/test_config.h"
MikeDvorskiy Feb 18, 2025
646e5bb
[oneDPL][ranges][tuple] + a fix for the internal tuple default constr…
MikeDvorskiy Feb 19, 2025
e1c37b1
[oneDPL][ranges][zip_view] + namespace views = ranges::views;
MikeDvorskiy Feb 19, 2025
a31a933
[oneDPL][ranges][zip_view][test] removed unused code
MikeDvorskiy Feb 24, 2025
a318685
[oneDPL][ranges][zip_view] + fix: std::ranges::enable_borrowed_range …
MikeDvorskiy Feb 24, 2025
7b431f4
[oneDPL][ranges][zip_view][test] + include
MikeDvorskiy Feb 24, 2025
8d3a006
[oneDPL][ranges][zip_view] + fix: using ranges::views::zip; in dpl::v…
MikeDvorskiy Feb 24, 2025
16f6aaa
[oneDPL][ranges][zip_view] + fixes
MikeDvorskiy Feb 24, 2025
713b2d1
[oneDPL][ranges][zip_view] + fixes
MikeDvorskiy Feb 24, 2025
6f469e3
[oneDPL][ranges][zip_view] + a fix for iterator private constructor
MikeDvorskiy Feb 25, 2025
8c87471
[oneDPL][ranges][zip_view][test] + name space fix
MikeDvorskiy Feb 25, 2025
c06109a
[oneDPL][tuple] + a comment default constructor
MikeDvorskiy Feb 25, 2025
1c19f76
[oneDPL][ranges][zip_view][test] removed // UNSUPPORTED: c++03, c++11…
MikeDvorskiy Feb 25, 2025
52c1be3
Apply suggestions from code review
MikeDvorskiy Feb 25, 2025
f1986e9
[oneDPL][ranges][zip_view][test] header changed
MikeDvorskiy Feb 25, 2025
378c798
[oneDPL][ranges][zip_view] removed the commented code
MikeDvorskiy Feb 25, 2025
c38298a
Apply suggestions from code review
MikeDvorskiy Feb 26, 2025
e7adc47
Apply suggestions from code review
MikeDvorskiy Feb 26, 2025
c469760
[oneDPL][ranges][zip_view] + difference_type alias usage
MikeDvorskiy Feb 26, 2025
289e8b7
Revert "[oneDPL][ranges][zip_view] + difference_type alias usage"
MikeDvorskiy Feb 26, 2025
ac25547
[oneDPL][ranges][zip_view] + difference_type alias usage for iterator
MikeDvorskiy Feb 26, 2025
83d50ef
[oneDPL][ranges][zip_view] + difference_type alias usage for sentinel
MikeDvorskiy Feb 26, 2025
96c3ee4
[oneDPL][ranges][zip_view] operator- code re-factored.
MikeDvorskiy Feb 28, 2025
21ad5a8
[oneDPL][ranges][zip_view] uglification, part1
MikeDvorskiy Feb 28, 2025
32b5ee3
[oneDPL][ranges][zip_view] __apply_to_tuple stuff refactoring
MikeDvorskiy Feb 28, 2025
adb8a0e
[oneDPL][ranges][zip_view] uglification, part2
MikeDvorskiy Feb 28, 2025
1630d52
[oneDPL][ranges][zip_view] moved the internal utility to namespace __…
MikeDvorskiy Feb 28, 2025
adbc836
[oneDPL][ranges][zip_view] + clang format
MikeDvorskiy Feb 28, 2025
70126d2
Revert "[oneDPL][ranges][zip_view] + clang format"
MikeDvorskiy Feb 28, 2025
ee796a6
[oneDPL][ranges][zip_view][tests] + removed unused code.
MikeDvorskiy Feb 28, 2025
815378a
[oneDPL][ranges][zip_view][tests] + test cases with zip_view (and dpc…
MikeDvorskiy Mar 3, 2025
5a0cce2
[oneDPL][ranges][zip_view] iterator_type -> iterators_type
MikeDvorskiy Mar 3, 2025
a4fe06e
[oneDPL][tuple] + clang format
MikeDvorskiy Mar 3, 2025
ffe99b7
[oneDPL][ranges][zip_view] + clang format
MikeDvorskiy Mar 3, 2025
7f9f56b
[oneDPL][ranges][zip_view][test] + a test case for a device policy
MikeDvorskiy Mar 11, 2025
1276333
[oneDPL][ranges][zip_view][test] + sharing alias typel_type for sever…
MikeDvorskiy Mar 10, 2025
71b8c91
Revert "[oneDPL][ranges][zip_view][test] + sharing alias typel_type f…
MikeDvorskiy Mar 10, 2025
6b49fc7
[oneDPL][ranges][zip_view] + fix "return" for __apply_to_tuples
MikeDvorskiy Mar 10, 2025
4ccc238
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Mar 10, 2025
8485eff
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Mar 10, 2025
d1c8386
[oneDPL][ranges][zip_view] + alias __iterators_type unification
MikeDvorskiy Mar 10, 2025
c9e5b94
Revert "[oneDPL][ranges][zip_view] + alias __iterators_type unification"
MikeDvorskiy Mar 10, 2025
69a4973
[oneDPL][ranges][zip_view] + check trivially copyability
MikeDvorskiy Apr 9, 2025
a3d1beb
[onedpl][ranges][tests] + fixes in test_dangling_pointers_arg_<x> fun…
MikeDvorskiy Jan 28, 2026
b3dd586
[onedpl][ranges][tests] removed unused type
MikeDvorskiy Jan 28, 2026
318e705
[onedpl][ranges][zip_view] changed __gen_lambda lambda by a structure…
MikeDvorskiy Jan 28, 2026
eb953d1
[onedpl][tests] removed redundant ;
MikeDvorskiy Jan 29, 2026
8289152
[onedpl][tests] removed unused variable and type
MikeDvorskiy Jan 29, 2026
3384d78
[onedpl][tests] the code re-factored: Checking the dangling iterators…
MikeDvorskiy Jan 29, 2026
fe831e1
[onedpl][tests] + [[maybe_unused]]
MikeDvorskiy Jan 29, 2026
a7eabf9
[onedpl][tests][zip_view] + assert
MikeDvorskiy Jan 30, 2026
9689939
[onedpl][tests][zip_view] suppressed Warray-bounds, because it is a f…
MikeDvorskiy Jan 30, 2026
b564767
[onedpl][tests] removed unused type
MikeDvorskiy Jan 30, 2026
3216f7c
[onedpl][tests][zip_view] "unreachable code" warning suppressed (relv…
MikeDvorskiy Jan 30, 2026
c459337
[onedpl][ranges][zip_view] + fix an access mode in zip_view class (fo…
MikeDvorskiy Jan 30, 2026
f5460bc
[onedpl][tests][zip_view] renamed a variable because a warning (windo…
MikeDvorskiy Feb 2, 2026
fa44a64
[onedpl][tests][zip_view] a call dpl_ranges::stable_sort with DPCPP …
MikeDvorskiy Feb 3, 2026
6891b13
[onedpl][tests][zip_view][ci] -ftemplate-backtrace-limit=0
MikeDvorskiy Feb 3, 2026
f1d1406
[onedpl][tests][zip_view][ci] removed "-ftemplate-backtrace-limit=0",…
MikeDvorskiy Feb 3, 2026
ac196bb
[onedpl][tests][zip_view] + #define _USE_STD_VECTOR_ALGORITHMS 0
MikeDvorskiy Feb 4, 2026
af41cbf
[onedpl][tests][zip_view] @ #define _USE_STD_VECTOR_ALGORITHMS 0
MikeDvorskiy Feb 4, 2026
1d13b75
[onedpl][zip_view] + friend class iterator<!_Const>; (_MSC_VER)
MikeDvorskiy Feb 4, 2026
af9a4d8
[onedpl][zip_view] C++ access mode fixes
MikeDvorskiy Feb 5, 2026
403bcb8
[onedpl][zip_view] C++ access mode changes
MikeDvorskiy Feb 6, 2026
ed79b70
[onedpl][zip_view] C++ access mode changes 2
MikeDvorskiy Feb 9, 2026
71980b4
[onedpl][zip_view][tests] static_assert(std::ranges::common_range<Vi…
MikeDvorskiy Feb 9, 2026
10a16e9
[onedpl][zip_view][tuple] tuple& => const tuple& in operator=(const t…
MikeDvorskiy Feb 10, 2026
2762f68
[onedpl][zip_view][tests] #define _USE_STD_VECTOR_ALGORITHMS 0
MikeDvorskiy Feb 10, 2026
603ebd2
Update include/oneapi/dpl/pstl/algorithm_impl.h
MikeDvorskiy Feb 10, 2026
5c69b47
Update test/parallel_api/ranges/range.zip/sentinel/zip_view.minus.pas…
MikeDvorskiy Feb 11, 2026
2e47ba1
[onedpl][zip_view][tests] + typo fix
MikeDvorskiy Feb 11, 2026
babebe5
[onedpl][zip_view][tests] + a typo fix
MikeDvorskiy Feb 11, 2026
ca17932
[onedpl][zip_view] removed unnecessary #include <vector>
MikeDvorskiy Feb 11, 2026
a29971c
[onedpl][zip_view] + #include <cstdlib> because std::abs is used in …
MikeDvorskiy Feb 11, 2026
e4e2dac
+fix re-basing artefacts
MikeDvorskiy Feb 11, 2026
27ceaba
[onedpl][zip_view] moved one::dpl::ranges::zip_view to one::dpl::exp…
MikeDvorskiy Feb 13, 2026
8a18dc4
[onedpl][zip_view] fixing "one::dpl::ranges::zip_view to one::dpl::e…
MikeDvorskiy Feb 16, 2026
b0fd57d
[onedpl][zip_view] fixing namespace error
MikeDvorskiy Feb 16, 2026
88cb4c3
[onedpl][zip_view] fixing a namespace error
MikeDvorskiy Feb 16, 2026
205bace
[onedpl][zip_view] + a minor fix
MikeDvorskiy Feb 16, 2026
ab22cd2
[onedpl][zip_view] + #define _USE_STD_VECTOR_ALGORITHMS 0
MikeDvorskiy Feb 16, 2026
f09d0c3
[onedpl][zip_view][test] + a minor scope resolution fix
MikeDvorskiy Feb 16, 2026
7c375cb
[onedpl][zip_view] trying moving some internal methods to a private s…
MikeDvorskiy Feb 18, 2026
e6179ac
[onedpl][zip_view] + clang format
MikeDvorskiy Feb 18, 2026
f9e5786
[onedpl][zip_view] + clang format, change in a comment
MikeDvorskiy Feb 18, 2026
550b6ca
[onedpl][ranges][zip_view] removed static for __apply_to_tuple_impl
MikeDvorskiy Feb 18, 2026
31cec14
[onedpl][ranges][zip_view] access modes: a workaround for CL compiler
MikeDvorskiy Feb 20, 2026
adb0bb7
[onedpl][zip_view] + clang format
MikeDvorskiy Feb 20, 2026
f58e343
[onedpl][ranges][zip_view] a comment
MikeDvorskiy Feb 20, 2026
93b24ea
[onedpl][ranges][zip_view] + base() method
MikeDvorskiy Feb 20, 2026
623eb99
[onedpl][zip_view] + clang format
MikeDvorskiy Feb 20, 2026
09643ac
Revert "[onedpl][zip_view] + clang format"
MikeDvorskiy Feb 25, 2026
1843b74
Removed commit artifacts (build files)
MikeDvorskiy Feb 25, 2026
026e3e4
Reverted "clang format changes" for this file.
MikeDvorskiy Feb 25, 2026
d6060f7
[onedpl][zip_view] EOL => LF
MikeDvorskiy Feb 26, 2026
cc6dd7d
[onedpl][ranges][zip_view] a minor change in __apply_to_tuple(..)
MikeDvorskiy Feb 26, 2026
aaab7b0
[onedpl][ranges][zip_view] + std::forward<decltype(__args)>(__args)...
MikeDvorskiy Feb 26, 2026
69dd42b
[onedpl][ranges][zip_view] + const _Views within "end() const" version
MikeDvorskiy Mar 2, 2026
3827918
[onedpl][ranges][zip_view] + __compare_equal(const iterator& __y
MikeDvorskiy Mar 2, 2026
b448cd1
[onedpl][ranges][zip_view][test] + minor fixes
MikeDvorskiy Mar 2, 2026
bc25a16
[onedpl][ranges][zip_view][test] + aliases for input and output itera…
MikeDvorskiy Mar 2, 2026
c90db99
[onedpl][ranges][zip_view][test] + an artifact removed
MikeDvorskiy Mar 2, 2026
009a1d2
Update include/oneapi/dpl/pstl/ranges_defs.h
MikeDvorskiy Mar 2, 2026
be91dc0
[onedpl][ranges][zip_view][test] removed the duplicated macro TEST_CO…
MikeDvorskiy Mar 3, 2026
43c0e63
[onedpl][ranges][zip_view][test] #if TEST_STD_VER < 17 => #if TEST_S…
MikeDvorskiy Mar 3, 2026
6c8ec0b
[onedpl][ranges][zip_view] arranged "struct zip_fn" according to std:…
MikeDvorskiy Mar 3, 2026
04eea66
[onedpl][ranges][zip_view][test] + test_iterators_cpp17.h, keeping te…
MikeDvorskiy Mar 3, 2026
767b1ec
[onedpl][ranges][zip_view][test] #include "support/test_iterators.h" …
MikeDvorskiy Mar 3, 2026
677da4a
[onedpl][ranges][zip_view] a fix: + const version of operator= for s…
MikeDvorskiy Mar 4, 2026
20109d0
[onedpl][ranges][zip_view][test] + checking const assignment operator
MikeDvorskiy Mar 4, 2026
f7c1cb7
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Mar 5, 2026
f9bfe6e
[onedpl][ranges][zip_view][test] + _ONEDPL_CPP20_OWNING_VIEW_PRESENT;…
MikeDvorskiy Mar 5, 2026
e16c6d7
[onedpl][ranges][zip_view][test] + _ONEDPL_CPP20_IN_OUT_ITERATOR_BROKEN
MikeDvorskiy Mar 6, 2026
c36ba42
Update test_iterators_cpp17.h - fix a typo
MikeDvorskiy Mar 10, 2026
bf08c15
[onedpl][zip_view] Uglification the uniglified names in zip_view_impl.h
MikeDvorskiy Mar 10, 2026
f7d37c2
[onedpl][zip_view] "<class' -> "<typename"
MikeDvorskiy Mar 10, 2026
86a2399
Update include/oneapi/dpl/pstl/tuple_impl.h
MikeDvorskiy Mar 10, 2026
cb70fce
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
8827f93
fix floating point zip_view test issues (#2608)
danhoeflinger Mar 12, 2026
43b4ebf
[oneDPL][zip_view] +fixes in "zip_view::end" methods
MikeDvorskiy Mar 12, 2026
ddb3ec1
Update include/oneapi/dpl/pstl/zip_view_impl.h
MikeDvorskiy Mar 12, 2026
905148d
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
cadfca4
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
14faf74
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
680564f
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
a9c5288
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
3de181a
Update zip_view_impl.h
MikeDvorskiy Mar 12, 2026
789f1d7
Prototype __tuple_apply
kboyarinov Mar 12, 2026
546b2f3
Fix typo
kboyarinov Mar 12, 2026
1d4c9ed
__tuples_apply -> __tuples_for_each
kboyarinov Mar 16, 2026
04b1e78
Merge remote-tracking branch 'origin/main' into dev/kboyarinov/zip_vi…
kboyarinov Mar 18, 2026
2754e5f
Fix compilation
kboyarinov Mar 18, 2026
741eed5
Make clang_format happy
kboyarinov Mar 18, 2026
fcffd26
Rework __tuple_apply overload
kboyarinov Mar 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions include/oneapi/dpl/internal/binary_search_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,17 @@ struct __custom_brick
using std::get;
if constexpr (func == search_algorithm::lower_bound)
{
get<2>(acc[idx]) = oneapi::dpl::__internal::__shars_lower_bound(get<0>(acc.tuple()), start_orig, end_orig,
get<2>(acc[idx]) = oneapi::dpl::__internal::__shars_lower_bound(get<0>(acc.base()), start_orig, end_orig,
get<1>(acc[idx]), comp);
}
else if constexpr (func == search_algorithm::upper_bound)
{
get<2>(acc[idx]) = oneapi::dpl::__internal::__shars_upper_bound(get<0>(acc.tuple()), start_orig, end_orig,
get<2>(acc[idx]) = oneapi::dpl::__internal::__shars_upper_bound(get<0>(acc.base()), start_orig, end_orig,
get<1>(acc[idx]), comp);
}
else
{
auto value = oneapi::dpl::__internal::__shars_lower_bound(get<0>(acc.tuple()), start_orig, end_orig,
auto value = oneapi::dpl::__internal::__shars_lower_bound(get<0>(acc.base()), start_orig, end_orig,
get<1>(acc[idx]), comp);
get<2>(acc[idx]) = (value != end_orig) && (get<1>(acc[idx]) == get<0>(acc[value]));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ struct __extract_range_from_zip
auto
operator()(const _InRng& __in_rng) const
{
return std::get<_EleId>(__in_rng.tuple());
return std::get<_EleId>(__in_rng.base());
}
};

Expand Down Expand Up @@ -186,7 +186,7 @@ struct __write_red_by_seg
using std::get;

// Get source tuple
auto&& __tuple = __out_rng.tuple();
auto&& __tuple = __out_rng.base();

auto __out_keys = get<0>(__tuple);
auto __out_values = get<1>(__tuple);
Expand Down Expand Up @@ -386,7 +386,7 @@ struct __gen_set_mask
operator()(const _InRng& __in_rng, std::size_t __id) const
{
// Get tuple from source range
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

// First we must extract individual sequences from zip iterator because they may not have the same length,
// dereferencing is dangerous
Expand Down Expand Up @@ -642,13 +642,13 @@ struct __get_bounds_partitioned
operator()(const _Rng& __in_rng, const _IndexT __id) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

auto __rng_tmp_diag = std::get<2>(__tuple); // set a temp storage sequence

using _SizeType = std::common_type_t<
std::make_unsigned_t<decltype(oneapi::dpl::__ranges::__size(std::get<0>(__in_rng.tuple())))>,
std::make_unsigned_t<decltype(oneapi::dpl::__ranges::__size(std::get<1>(__in_rng.tuple())))>,
std::make_unsigned_t<decltype(oneapi::dpl::__ranges::__size(std::get<0>(__in_rng.base())))>,
std::make_unsigned_t<decltype(oneapi::dpl::__ranges::__size(std::get<1>(__in_rng.base())))>,
std::make_unsigned_t<decltype(oneapi::dpl::__ranges::__size(__rng_tmp_diag))>>;

// Establish bounds of ranges for the tile from sparse partitioning pass kernel
Expand Down Expand Up @@ -677,7 +677,7 @@ struct __get_bounds_simple
operator()(const _Rng& __in_rng, const _IndexT) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

const auto __rng1 = std::get<0>(__tuple); // first sequence
const auto __rng2 = std::get<1>(__tuple); // second sequence
Expand Down Expand Up @@ -771,7 +771,7 @@ struct __gen_set_balanced_path
calc_and_store_balanced_path(_InRng& __in_rng, _IndexT __id, _BoundsProviderLocal __get_bounds_local) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

// First we must extract individual sequences from zip iterator because they may not have the same length,
// dereferencing is dangerous
Expand Down Expand Up @@ -819,7 +819,7 @@ struct __gen_set_balanced_path
operator()(const _InRng& __in_rng, _IndexT __id, TempData& __temp_data) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

// First we must extract individual sequences from zip iterator because they may not have the same length,
// dereferencing is dangerous
Expand Down Expand Up @@ -892,7 +892,7 @@ struct __gen_set_op_from_known_balanced_path
operator()(const _InRng& __in_rng, _IndexT __id, _TempData& __output_data) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

// First we must extract individual sequences from zip iterator because they may not have the same length,
// dereferencing is dangerous
Expand Down Expand Up @@ -973,7 +973,7 @@ struct __gen_red_by_seg_reduce_input
operator()(const _InRng& __in_rng, std::size_t __id, TempData&) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

const auto __in_keys = std::get<0>(__tuple);
const auto __in_vals = std::get<1>(__tuple);
Expand All @@ -1000,8 +1000,8 @@ struct __gen_scan_by_seg_reduce_input
auto
operator()(const _InRng& __in_rng, std::size_t __id, TempData&) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
// Get source base
auto&& __tuple = __in_rng.base();

const auto __in_keys = std::get<0>(__tuple);
const auto __in_vals = std::get<1>(__tuple);
Expand Down Expand Up @@ -1030,7 +1030,7 @@ struct __gen_red_by_seg_scan_input
operator()(const _InRng& __in_rng, std::size_t __id, TempData&) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

const auto __in_keys = std::get<0>(__tuple);
const auto __in_vals = std::get<1>(__tuple);
Expand Down Expand Up @@ -1083,7 +1083,7 @@ struct __gen_scan_by_seg_scan_input
operator()(const _InRng& __in_rng, std::size_t __id, TempData&) const
{
// Get source tuple
auto&& __tuple = __in_rng.tuple();
auto&& __tuple = __in_rng.base();

const auto __in_keys = std::get<0>(__tuple);
const auto __in_vals = std::get<1>(__tuple);
Expand Down
4 changes: 2 additions & 2 deletions include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ struct __create_mask
_ValueType
operator()(const _Idx __idx, const oneapi::dpl::__ranges::zip_view<_Ranges...>& __input) const
{
bool __mask_value = __pred(std::get<0>(__input.tuple()), __idx);
bool __mask_value = __pred(std::get<0>(__input.base()), __idx);
std::get<1>(__input[__idx]) = __mask_value;
return _ValueType(__mask_value);
}
Expand Down Expand Up @@ -1279,7 +1279,7 @@ class __brick_set_op
using std::get;

// Get source tuple
auto&& __tuple = __inout_acc.tuple();
auto&& __tuple = __inout_acc.base();

auto __a = get<0>(__tuple); // first sequence
auto __b = get<1>(__tuple); // second sequence
Expand Down
12 changes: 9 additions & 3 deletions include/oneapi/dpl/pstl/hetero/dpcpp/utils_ranges_sycl.h
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,12 @@ using val_t = typename ::std::iterator_traits<_Iter>::value_type;

//range/zip_view/all_view/ variadic utilities

#if _ONEDPL_CPP20_RANGES_PRESENT
namespace _dpl_ranges_zip = oneapi::dpl::ranges::__internal;
#else
namespace _dpl_ranges_zip = oneapi::dpl::__ranges;
#endif //_ONEDPL_CPP20_RANGES_PRESENT

//forward declaration required for _require_access_args
template <typename _Range, typename... _Ranges>
void
Expand All @@ -272,10 +278,10 @@ struct _require_access_args

template <typename... _Ranges>
void
__require_access_zip(sycl::handler& __cgh, oneapi::dpl::__ranges::zip_view<_Ranges...>& __zip)
__require_access_zip(sycl::handler& __cgh, _dpl_ranges_zip::zip_view<_Ranges...>& __zip)
{
const ::std::size_t __num_ranges = sizeof...(_Ranges);
oneapi::dpl::__ranges::invoke(__zip.tuple(), _require_access_args<decltype(__cgh)>{__cgh},
oneapi::dpl::__ranges::invoke(__zip.base(), _require_access_args<decltype(__cgh)>{__cgh},
::std::make_index_sequence<__num_ranges>());
}

Expand All @@ -295,7 +301,7 @@ __require_access_range(sycl::handler& __cgh, oneapi::dpl::__ranges::all_view<T,

template <typename... _Ranges>
void
__require_access_range(sycl::handler& __cgh, zip_view<_Ranges...>& zip_rng)
__require_access_range(sycl::handler& __cgh, _dpl_ranges_zip::zip_view<_Ranges...>& zip_rng)
{
__require_access_zip(__cgh, zip_rng);
}
Expand Down
12 changes: 12 additions & 0 deletions include/oneapi/dpl/pstl/onedpl_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,18 @@
# define _ONEDPL_CPP26_DEFAULT_VALUE_TYPE_PRESENT 0
#endif

// std::views::all on rvalue non-view ranges requires P2415R2 owning_view.
// - libstdc++ (GCC or Clang+libstdc++): available since GCC 12
// - libc++ (Clang+libc++): available since LLVM 16
// - MSVC STL: available since C++23
#if defined(__GLIBCXX__)
# define _ONEDPL_CPP20_OWNING_VIEW_PRESENT (_GLIBCXX_RELEASE >= 12)
#elif defined(_LIBCPP_VERSION)
# define _ONEDPL_CPP20_OWNING_VIEW_PRESENT (_LIBCPP_VERSION >= 16000)
#else
# define _ONEDPL_CPP20_OWNING_VIEW_PRESENT (_ONEDPL___cplusplus >= 202302L)
#endif

// When C++20 concepts are available, we must use std::tuple as a proxy reference to satisfy iterator concepts, which
// requires the changes to std::tuple in P2321R2 and the tuple-like basic_common_reference specialization in P2165R4.
#define _ONEDPL_CAN_USE_STD_TUPLE_PROXY_ITERATOR \
Expand Down
17 changes: 17 additions & 0 deletions include/oneapi/dpl/pstl/ranges_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@

#if _ONEDPL_CPP20_RANGES_PRESENT
#include <ranges>
//support zip_view (like in C++23) for C++20
#include "zip_view_impl.h"
#endif

#include "utils_ranges.h"
Expand All @@ -43,7 +45,11 @@ namespace ranges
using oneapi::dpl::__ranges::all_view;
#endif // _ONEDPL_BACKEND_SYCL
using oneapi::dpl::__ranges::guard_view;
#if _ONEDPL_CPP20_RANGES_PRESENT
using oneapi::dpl::ranges::__internal::zip_view;
#else
using oneapi::dpl::__ranges::zip_view;
#endif //_ONEDPL_CPP20_RANGES_PRESENT

//views
using __nanorange::nano::ranges::drop_view;
Expand Down Expand Up @@ -72,9 +78,20 @@ using __nanorange::nano::views::take;
using __nanorange::nano::views::transform;

using __nanorange::nano::subrange;
#if _ONEDPL_CPP20_RANGES_PRESENT
using oneapi::dpl::ranges::__internal::zip;
#endif //_ONEDPL_CPP20_RANGES_PRESENT
} // namespace views

} // namespace ranges

#if _ONEDPL_CPP20_RANGES_PRESENT
namespace views
{
using oneapi::dpl::ranges::__internal::zip;
} // namespace views
#endif //_ONEDPL_CPP20_RANGES_PRESENT

} // namespace experimental
} // namespace dpl
} // namespace oneapi
Expand Down
21 changes: 20 additions & 1 deletion include/oneapi/dpl/pstl/tuple_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,12 @@ struct tuple<T1, T...>
return get_impl<I>()(::std::move(*this));
}

tuple() = default;
template <typename _Tp = T1,
std::enable_if_t<
std::conjunction_v<std::is_default_constructible<_Tp>, std::is_default_constructible<T>...>, int> = 0>
tuple() : holder{}, next{}
{
} //The std::tuple value-initializes all elements, so we also follow this.
tuple(const tuple& other) = default;
tuple(tuple&& other) = default;
template <typename _U1, typename... _U, typename = ::std::enable_if_t<(sizeof...(_U) == sizeof...(T))>>
Expand Down Expand Up @@ -499,6 +504,15 @@ struct tuple<T1, T...>
return *this;
}

template <typename U1, typename... U>
const tuple&
operator=(const tuple<U1, U...>& other) const
{
holder.value = other.holder.value;
next = other.next;
return *this;
}

// if T1 is deduced with reference, compiler generates deleted operator= and,
// since "template operator=" is not considered as operator= overload
// the deleted operator= has a preference during lookup
Expand Down Expand Up @@ -589,6 +603,11 @@ struct tuple<>
operator=(const tuple&) = default;
tuple&
operator=(const ::std::tuple<>& /*other*/)
{
return *this;
}
const tuple&
operator=(const std::tuple<>&) const
{
return *this;
}
Expand Down
2 changes: 1 addition & 1 deletion include/oneapi/dpl/pstl/utils_ranges.h
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ class zip_view
}

_tuple_ranges_t
tuple() const
base() const
{
return __m_ranges;
}
Expand Down
Loading