Namespaces
Variants

std:: default_sentinel_t, std:: default_sentinel

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
default_sentinel_t default_sentinel
(C++20) (C++20)
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Definido en el encabezado <iterator>
struct default_sentinel_t { } ;
(1) (desde C++20)
inline constexpr default_sentinel_t default_sentinel { } ;
(2) (desde C++20)
1) default_sentinel_t es un tipo de clase vacío utilizado para denotar el final de un rango. Puede usarse junto con tipos de iteradores que conocen el límite de su rango (por ejemplo, std::counted_iterator ).
2) default_sentinel es una constante de tipo default_sentinel_t .

Ejemplo

#include <print>
#include <regex>
#include <string>
int main()
{
    const std::string s = "Quick brown fox.";
    const std::regex words_regex("[^\\s]+");
    const std::ranges::subrange words(
        std::sregex_iterator(s.begin(), s.end(), words_regex), std::default_sentinel);
    std::println("Found {} words:", std::ranges::distance(words));
    for (const std::smatch& match : words)
        std::println("{}", match.str());
}

Salida:

Found 3 words:
Quick
brown
fox.

Véase también

iterador de entrada que lee desde std::basic_istream
(plantilla de clase)
iterador de entrada que lee desde std::basic_streambuf
(plantilla de clase)
adaptador de iterador que rastrea la distancia hasta el final del rango
(plantilla de clase)