[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)
