ias template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_const_iterator&action=edit)  
[ const_sentinel  ](/w/cpp/iterator/const_sentinel "cpp/iterator/const sentinel") (C++23)  |  computes a sentinel type to be used with constant iterators   
(alias template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_const_sentinel&action=edit)  
[ common_iterator  ](/w/cpp/iterator/common_iterator "cpp/iterator/common iterator") (C++20)  |  adapts an iterator type and its sentinel into a common iterator type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_common_iterator&action=edit)  
[ default_sentinel_t  ](/w/cpp/iterator/default_sentinel_t "cpp/iterator/default sentinel t") (C++20)  |  default sentinel for use with iterators that know the bound of their range   
(class)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_default_sentinel_t&action=edit)  
[ counted_iterator  ](/w/cpp/iterator/counted_iterator "cpp/iterator/counted iterator") (C++20)  |  iterator adaptor that tracks the distance to the end of the range   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_counted_iterator&action=edit)  
[ unreachable_sentinel_t  ](/w/cpp/iterator/unreachable_sentinel_t "cpp/iterator/unreachable sentinel t") (C++20)  |  sentinel that always compares unequal to any [ ` weakly_incrementable ` ](/w/cpp/iterator/weakly_incrementable "cpp/iterator/weakly incrementable") type   
(class)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_unreachable_sentinel_t&action=edit)  
[ back_insert_iterator  ](/w/cpp/iterator/back_insert_iterator "cpp/iterator/back insert iterator") |  iterator adaptor for insertion at the end of a container   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_back_insert_iterator&action=edit)  
[ front_insert_iterator  ](/w/cpp/iterator/front_insert_iterator "cpp/iterator/front insert iterator") |  iterator adaptor for insertion at the front of a container   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_front_insert_iterator&action=edit)  
[ insert_iterator  ](/w/cpp/iterator/insert_iterator "cpp/iterator/insert iterator") |  iterator adaptor for insertion into a container   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_insert_iterator&action=edit)  
  
#####  Stream Iterators  
  
[ istream_iterator  ](/w/cpp/iterator/istream_iterator "cpp/iterator/istream iterator") |  input iterator that reads from  [ std::basic_istream ](/w/cpp/io/basic_istream "cpp/io/basic istream")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_istream_iterator&action=edit)  
[ ostream_iterator  ](/w/cpp/iterator/ostream_iterator "cpp/iterator/ostream iterator") |  output iterator that writes to  [ std::basic_ostream ](/w/cpp/io/basic_ostream "cpp/io/basic ostream")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_ostream_iterator&action=edit)  
[ istreambuf_iterator  ](/w/cpp/iterator/istreambuf_iterator "cpp/iterator/istreambuf iterator") |  input iterator that reads from  [ std::basic_streambuf ](/w/cpp/io/basic_streambuf "cpp/io/basic streambuf")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_istreambuf_iterator&action=edit)  
[ ostreambuf_iterator  ](/w/cpp/iterator/ostreambuf_iterator "cpp/iterator/ostreambuf iterator") |  output iterator that writes to  [ std::basic_streambuf ](/w/cpp/io/basic_streambuf "cpp/io/basic streambuf")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cp