12#include <dr/concepts/concepts.hpp>
13#include <dr/detail/logger.hpp>
14#include <dr/detail/onedpl_direct_iterator.hpp>
15#include <dr/detail/ranges_shim.hpp>
16#include <dr/mp/global.hpp>
21template <dr::distributed_range R, std::
integral T>
void iota(R &&r, T value) {
22 auto iota_view = rng::views::iota(value, T(value + rng::distance(r)));
24 for_each(views::zip(iota_view, r), [](
auto &&elem) {
25 auto &&[idx, v] = elem;
31template <dr::distributed_iterator Iter, std::
integral T>
32void iota(Iter begin, Iter end, T value) {
33 auto r = rng::subrange(begin, end);