Namespaces
Variants
Actions

std::default_sentinel_t, std::default_sentinel

From cppreference.com
< cpp‎ | iterator
 
 
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_tdefault_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)
 
Defined in header <iterator>
struct default_sentinel_t {};
(1) (since C++20)
inlineconstexpr default_sentinel_t default_sentinel{};
(2) (since C++20)
1)default_sentinel_t is an empty class type used to denote the end of a range. It can be used together with iterator types that know the bound of their range (e.g., std::counted_iterator).
2)default_sentinel is a constant of type default_sentinel_t.

[edit]Example

#include <print>#include <regex>#include <string>   int main(){conststd::string s ="Quick brown fox.";   conststd::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(conststd::smatch& match : words)std::println("{}", match.str());}

Output:

Found 3 words: Quick brown fox.

[edit]See also

input iterator that reads from std::basic_istream
(class template)[edit]
input iterator that reads from std::basic_streambuf
(class template)[edit]
iterator adaptor that tracks the distance to the end of the range
(class template)[edit]
close