std::default_sentinel_t,std::default_sentinel -
std::default_sentinel_t,std::default_sentinel
Defined in header <iterator>
struct default_sentinel_t { }; (1) (since C++20)
inline constexpr 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.
// Run this code
#include <iterator>
#include <algorithm>
#include <list>
#include <iostream>
int main()
{
std::list<int> l{3,1,4,1,5,9,2,6};
std::ranges::copy(std::counted_iterator(std::begin(l), 4),
std::default_sentinel, std::ostream_iterator<int>{std::cout, "
"});
}
istream_iterator input iterator that reads from
std::basic_istream
(class template)
istreambuf_iterator input iterator that reads from std::basic_streambuf
(class template)
counted_iterator iterator adaptor that tracks the distance to the end of the
(C++20) range
(class template)