std::ranges:: views:: values, std::ranges:: values_view
|
Défini dans l'en-tête
<ranges>
|
||
|
template
<
class
R
>
using values_view = ranges:: elements_view < R, 1 > ; |
(1) | (depuis C++20) |
|
namespace
views
{
inline
constexpr
auto
values
=
ranges
::
elements
<
1
>
;
|
(2) | (depuis C++20) |
Prend une
view
de valeurs de type
tuple-like
(par exemple
std::tuple
ou
std::pair
), et produit une vue dont le
value-type
correspond au
second
élément du value-type de la vue adaptée.
Table des matières |
Notes
values_view peut être utile pour extraire les valeurs des conteneurs associatifs, par exemple
std::map<int, std::string> map{{1, "alpha"}, {2, "beta"}}; for (auto const& value : std::views::values(map)) std::cout << value << ' '; // affiche : alpha beta
Exemple
#include <iostream> #include <map> #include <ranges> int main() { const auto list = {std::pair{1, 11.1}, {2, 22.2}, {3, 33.3}}; std::cout << "pair::second values in the list: "; for (double value : list | std::views::values) std::cout << value << ' '; std::map<char, int> map{{'A', 1}, {'B', 2}, {'C', 3}, {'D', 4}, {'E', 5}}; auto odd = [](int x) { return 0 != (x & 1); }; std::cout << "\nodd values in the map: "; for (int value : map | std::views::values | std::views::filter(odd)) std::cout << value << ' '; std::cout << '\n'; }
Sortie :
pair::second values in the list: 11.1 22.2 33.3 odd values in the map: 1 3 5
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3563 | C++20 |
keys_view
ne peut pas participer à CTAD en raison de son utilisation de
views::all_t
|
views::all_t supprimé |
Voir aussi
|
(C++20)
|
prend une
view
constituée de valeurs de type paire et produit une
view
des premiers éléments de chaque paire
(modèle de classe) (objet adaptateur de gamme) |
prend une
view
constituée de valeurs
tuple-like
et un nombre N, et produit une
view
du N
ème
élément de chaque tuple
(modèle de classe) (objet adaptateur de gamme) |
|
|
tranche de valarray de type BLAS : index de départ, longueur, pas
(classe) |