with constant iterators   
(alias template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_const_sentinel&action=edit)  
[ make_const_iterator  ](/w/cpp/iterator/make_const_iterator "cpp/iterator/make const iterator") (C++23)  |  creates a  std::const_iterator  of type inferred from the argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_make_const_iterator&action=edit)  
[ make_const_sentinel  ](/w/cpp/iterator/make_const_sentinel "cpp/iterator/make const sentinel") (C++23)  |  creates a  std::const_sentinel  of type inferred from the argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_make_const_sentinel&action=edit)  
[ move_iterator  ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator") (C++11)  |  iterator adaptor which dereferences to an rvalue   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_move_iterator&action=edit)  
[ move_sentinel  ](/w/cpp/iterator/move_sentinel "cpp/iterator/move sentinel") (C++20)  |  sentinel adaptor for use with  [ std::move_iterator ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_move_sentinel&action=edit)  
[ make_move_iterator  ](/w/cpp/iterator/make_move_iterator "cpp/iterator/make move iterator") (C++11)  |  creates a  [ std::move_iterator ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator") of type inferred from the argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_make_move_iterator&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)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/iterator&action=edit&section=14
"Edit section: Stream iterators") ]  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/istreambu