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)
Défini dans l'en-tête <iterator>
struct default_sentinel_t { } ;
(1) (depuis C++20)
inline constexpr default_sentinel_t default_sentinel { } ;
(2) (depuis C++20)
1) default_sentinel_t est un type de classe vide utilisé pour désigner la fin d'une plage. Il peut être utilisé conjointement avec des types d'itérateurs qui connaissent la limite de leur plage (par exemple, std::counted_iterator ).
2) default_sentinel est une constante de type default_sentinel_t .

Exemple

#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());
}

Sortie :

Found 3 words:
Quick
brown
fox.

Voir aussi

itérateur d'entrée qui lit depuis std::basic_istream
(modèle de classe)
itérateur d'entrée qui lit depuis std::basic_streambuf
(modèle de classe)
adaptateur d'itérateur qui suit la distance jusqu'à la fin de la plage
(modèle de classe)