Distributed Ranges
Loading...
Searching...
No Matches
views.hpp
1// SPDX-FileCopyrightText: Intel Corporation
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#pragma once
6
7#include <dr/concepts/concepts.hpp>
8#include <dr/views/transform.hpp>
9
10namespace dr {
11
12// returns range: [(rank, element) ...]
13auto ranked_view(const dr::distributed_range auto &r) {
14 auto rank = [](auto &&v) { return dr::ranges::rank(&v); };
15 return rng::views::zip(rng::views::transform(r, rank), r);
16}
17
18} // namespace dr
Definition: concepts.hpp:20