std::istreambuf_iterator<CharT,Traits>::istreambuf_iterator
istreambuf_iterator() throw(); | (1) | (до C++11) |
constexpr istreambuf_iterator() noexcept; | (начиная с C++11) | |
constexpr istreambuf_iterator( std::default_sentinel_t ) noexcept; | (2) | (начиная с C++20) |
istreambuf_iterator( std::basic_istream<CharT,Traits>& is ) throw(); | (3) | (до C++11) |
istreambuf_iterator( std::basic_istream<CharT,Traits>& is ) noexcept; | (начиная с C++11) | |
istreambuf_iterator( std::basic_streambuf<CharT,Traits>* s ) throw(); | (4) | (до C++11) |
istreambuf_iterator( std::basic_streambuf<CharT,Traits>* s ) noexcept; | (начиная с C++11) | |
istreambuf_iterator( const /* proxy */& p ) throw(); | (5) | (до C++11) |
istreambuf_iterator( const /* proxy */& p ) noexcept; | (начиная с C++11) | |
istreambuf_iterator( const istreambuf_iterator& ) noexcept = default; | (6) | (начиная с C++11) |
1,2) Создаёт итератор конца потока.
3) Инициализирует итератор и сохраняет значение
is.rdbuf() в элементе данных. Если is.rdbuf() равен null, создаётся итератор конца потока.
4) Инициализирует итератор и сохраняет значение
s в элементе данных. Если s равен null, создаётся итератор конца потока.
5) Фактически вызывает (3) с указателем
p, который хранится в streambuf_type*.
6) Конструктор копирования тривиален и явно задан по умолчанию.
| Конструктор копирования фактически объявляется неявно, и его тривиальность не гарантируется. | (до C++11) |
Параметры
| is | - | поток, из которого извлекается буфер потока |
| s | - | буфер потока, которым инициализируется итератор |
| p | - | объект типа-прокси, определяемого реализацией |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/istreambuf_iterator/istreambuf_iterator