std::ranges::elements_view<V,N>::elements_view
De cppreference.com
<tbody>
</tbody>
elements_view() requires std::default_initializable<V> = default; |
(1) | (desde C++20) |
constexpr elements_view( V base ); |
(2) | (desde C++20) |
Construye un objeto elements_view.
1) Constructor por defecto. Inicializa por valor la vista subyacente. Después de la construcción,
base() devuelve una copia de V().2) Inicializa la vista subyacente con
std::move(r).Parámetros
| base | - | La vista subyacente. |
Ejemplo
Ejecuta este código
#include <iostream>
#include <ranges>
#include <tuple>
#include <array>
using namespace std::literals;
int main()
{
const std::array<std::tuple<int, char, std::string>, 2> vt {
std::tuple{1, 'A', "α"s},
std::tuple{2, 'B', "β"s},
};
[[maybe_unused]]
auto empty = std::views::elements<0>;
auto ev0 = std::views::elements<0>(vt);
auto ev1 = std::views::elements<1>(vt);
auto ev2 = std::views::elements<2>(vt);
for (auto const& e: ev0) { std::cout << e << ' '; }
std::cout << '\n';
for (auto const& e: ev1) { std::cout << e << ' '; }
std::cout << '\n';
for (auto const& e: ev2) { std::cout << e << ' '; }
std::cout << '\n';
}
Salida:
1 2
A B
α β