Espacios de nombres
Variantes

std::ranges::common_view<V>::begin

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
<tbody> </tbody>
constexpr auto begin();
(1) (desde C++20)
constexpr auto begin() const requires range<const V>;
(2) (desde C++20)
1) Devuelve un iterador al primer elemento de la vista common_view, es decir:
  • ranges::begin(base_), si tanto ranges::random_access_range<V> como ranges::sized_range<V> se satisfacen,
  • std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::begin(base_)) de lo contrario.
Aquí base_ (el nombre es para efectos solo de exposición) es la vista subyacente.
2) Igual que (1), pero V está calificada const.

Parámetros

(Ninguno)

Valor de retorno

Un iterador al comienzo de la vista subyacente.

Ejemplo

#include <iostream>
#include <numeric>
#include <ranges>
#include <string_view>

int main()
{
    constexpr auto comun = std::views::iota(1)
                           | std::views::take(3)
                           | std::views::common
                           ;

    for (int i{}; int e : comun) { std::cout << (i++ ? " + " : "") << e; }

    std::cout << " = " << std::accumulate(comun.begin(), comun.end(), 0) << '\n';
}

Salida:

1 + 2 + 3 = 6

Véase también

(C++20)
Devuelve un iterador al final.
(función miembro pública) [editar]
Devuelve un iterador al principio de un rango.
(objeto punto de personalización) [editar]
Devuelve un iterador al final de un rango
(objeto punto de personalización) [editar]