Espacios de nombres
Variantes

std::ranges::split_view<V,Pattern>::begin

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
<tbody> </tbody>
constexpr /*iterator*/ begin();
(desde C++20)

Devuelve un iterador (iterator) al primer subrango encontrado.

Para proporcionar la complejidad de tiempo constante amortizada requerida por el concepto range, esta función almacena en caché el resultado dentro de split_view para usarlo en llamadas posteriores. Equivalente a:

constexpr /*iterator*/ begin() {
  if (!cached_begin_.has_value())
    cached_begin_ = this->find_next(ranges::begin(base_));
  return { *this, ranges::begin(base_), cached_begin_.value() };
}

Los datos miembro solo de exposición base_ y cached_begin_ se describen aquí.

Parámetros

(Ninguno)

Valor de retorno

Un iterador (iterator).

Complejidad

Amortizada O(1).

Ejemplo

Un enlace para verificar el código: wandbox

#include <iostream>
#include <iomanip>
#include <ranges>
#include <string_view>

int main()
{
    constexpr std::string_view enunciado{ "Seguir..hacia..adelante.." };
    constexpr std::string_view delim{ ".." };
    std::ranges::split_view palabras{ enunciado, delim };

    std::cout << "begin(): " << std::quoted( std::string_view{*palabras.begin()} )
              << "\nSubcadenas: ";
    for (std::string_view palabra: palabras)
        std::cout << std::quoted(palabra) << ' ';
    
    std::ranges::split_view letras{ enunciado, std::string_view{""} };
    std::cout << "\nbegin(): " << std::quoted( std::string_view{*letras.begin()} )
              << "\nLetras: ";
    for (std::string_view letra: letras)
        std::cout << std::quoted(letra, '\'') << ' ';
}

Salida:

begin(): "Seguir"
Subcadenas: "Seguir" "hacia" "adelante" "" 
begin(): "S"
Letras: 'S' 'e' 'g' 'u' 'i' 'r' '.' '.' 'h' 'a' 'c' 'i' 'a' '.' '.' 'a' 'd' 'e' 'l' 'a' 'n' 't' 'e' '.' '.'

Véase también

(C++20)
Devuelve un iterador o un centinela al final.
(función miembro pública) [editar]
(C++20)
Devuelve un iterador al comienzo.
(función miembro pública de std::ranges::lazy_split_view<V,Pattern>) [editar]
Devuelve un iterador al principio de un rango.
(objeto punto de personalización) [editar]