Skip to content

Commit 603daed

Browse files
committed
[oneDPL][ranges][zip_view] + enumerate_view
1 parent 80ef9c5 commit 603daed

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

include/oneapi/dpl/pstl/zip_view_impl.h

+14
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,20 @@ struct zip_fn {
377377

378378
inline constexpr zip_fn zip{};
379379

380+
template <typename _R>
381+
using enumerate_view = oneapi::dpl::ranges::zip_view<std::ranges::iota_view<std::ranges::range_size_t<_R>,
382+
std::ranges::range_size_t<_R>>, _R>;
383+
384+
struct enumerate_fn {
385+
template <std::ranges::viewable_range _R>
386+
constexpr auto operator()(_R&& __r) const {
387+
return oneapi::dpl::ranges::zip_view(std::views::iota((std::ranges::range_size_t<_R>)0,
388+
std::ranges::size(__r)), std::forward<_R>(__r));
389+
}
390+
};
391+
392+
inline constexpr enumerate_fn enumerate{};
393+
380394
} // namespace ranges
381395
} // namespace dpl
382396
} // namespace oneapi

0 commit comments

Comments
 (0)