Espacios de nombres
Variantes

std::ranges::views::values, std::ranges::values_view

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
<tbody> </tbody>
Definido en el archivo de encabezado <ranges>
template<class R> using values_view = ranges::elements_view<R, 1>;
(1) (desde C++20)
namespace views { inline constexpr auto values = ranges::elements<1>; }
(2) (desde C++20)

Toma una vista (view) de valores similares a tuplas (por ejemplo std::tuple o std::pair), y produce una vista con un tipo valor del segundo elemento del tipo valor de la vista adaptada.

1) Un alias para ranges::elements_view<R, 1>.
2) Objeto adaptador de rango. La expresión views::values(e) es equivalente en expresión a values_view<views::all_t<decltype((e))>>{e} para cualquier subexpresión e adecuada.

Equivalente en expresión

La expresión e es equivalente-en-expresión a la expresión f, si e y f tienen los mismos efectos, ambas potencialmente lanzan o ambas potencialmente no lanzan (es decir, noexcept (e) == noexcept(f)), y ambas son subexpresiones constantes o ambas no son subexpresiones constantes.

Notas

values_view puede ser útil para extraer valores de los contenedores asociativos; por ejemplo, for (auto const& value : std::views::values(map)) { /*...*/ }.

Ejemplo

#include <iostream>
#include <ranges>
#include <map>

int main()
{
    std::map<char, int> mapa{ {'A', 1}, {'B', 2}, {'C', 3}, {'D', 4}, {'E', 5} };

    auto non = [](int x) { return 0 != (x & 1); };

    std::cout << "Valores nones en el mapa: ";
    for (int valor : mapa | std::views::values | std::views::filter(non))
        std::cout << valor << ' ';
}

Salida:

Valores nones en el mapa: 1 3 5

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 3563 C++20 keys_view es incapaz de participar en la deducción de argumentos
de plantillas de clase debido a su uso de views::all_t.
views::all_t se eliminó.

Véase también

Toma una vista (view) que consiste en valores similares a pares y produce una vista de los primeros elementos de cada par.
(plantilla de clase) (objeto adaptador de rango) [editar]
Toma una vista (view) que consiste en valores similares a tuplas y a un número N y produce una vista del N-ésimo elemento de cada tupla.
(plantilla de clase) (objeto adaptador de rango) [editar]
BLAS-como una rebanada de valarray: índice de inicio, duración, ritmo
Original:
BLAS-like slice of a valarray: starting index, length, stride
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(clase) [editar]