std::default_sentinel_t, std::default_sentinel - cppreference.com (original) (raw)
Defined in header | ||
---|---|---|
struct default_sentinel_t {}; | (1) | (since C++20) |
inline constexpr default_sentinel_t default_sentinel{}; | (2) | (since C++20) |
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).default_sentinel
is a constant of typedefault_sentinel_t
.
[edit] Example
Run this code
#include #include #include 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()); }
Output:
Found 3 words: Quick brown fox.
[edit] See also
istream_iterator | input iterator that reads from std::basic_istream (class template) [edit] |
---|---|
istreambuf_iterator | input iterator that reads from std::basic_streambuf (class template) [edit] |
counted_iterator(C++20) | iterator adaptor that tracks the distance to the end of the range (class template) [edit] |