[istreambuf.iterator.cons] # 24 Iterators library [[iterators]](./#iterators) ## 24.6 Stream iterators [[stream.iterators]](stream.iterators#istreambuf.iterator.cons) ### 24.6.4 Class template istreambuf_iterator [[istreambuf.iterator]](istreambuf.iterator#cons) #### 24.6.4.3 Constructors [istreambuf.iterator.cons] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6955) For each istreambuf_iterator constructor in this subclause, an end-of-stream iterator is constructed if and only if the exposition-only member sbuf_ is initialized with a null pointer value[.](#1.sentence-1) [🔗](#lib:istreambuf_iterator,constructor) `constexpr istreambuf_iterator() noexcept; constexpr istreambuf_iterator(default_sentinel_t) noexcept; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6968) *Effects*: Initializes sbuf_ with nullptr[.](#2.sentence-1) [🔗](#lib:istreambuf_iterator,constructor_) `istreambuf_iterator(istream_type& s) noexcept; ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6979) *Effects*: Initializes sbuf_ with s.rdbuf()[.](#3.sentence-1) [🔗](#lib:istreambuf_iterator,constructor__) `istreambuf_iterator(streambuf_type* s) noexcept; ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6990) *Effects*: Initializes sbuf_ with s[.](#4.sentence-1) [🔗](#lib:istreambuf_iterator,constructor___) `istreambuf_iterator(const proxy& p) noexcept; ` [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L7001) *Effects*: Initializes sbuf_ with p.sbuf_[.](#5.sentence-1)