Spec-Zone.ru › C++

std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)

istream_iterator& operator++();
(1)
istream_iterator operator++( int );
(2)

Считывает значение из базового потока (с помощью его operator>>) и сохраняет его в объекте итератора. Если чтение завершается неудачей (функция fail() базового потока возвращает true), итератор становится итератором конца потока.

Поведение не определено, если итератор является итератором конца потока.

Параметры

(нет)

Возвращаемое значение

1) *this
2) istream_iterator, содержащий неизменённое значение.

Исключения

Могут быть выброшены исключения, определяемые реализацией.

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

Отчёт об ошибке Применяется к Опубликованное поведение Корректное поведение
LWG 260 C++98 тип возвращаемого значения operator++(int) был istream_iterator& исправлен на istream_iterator
LWG 788 C++98 для определения того, завершается ли чтение неудачей, использовался operatorvoid* базового потока,
но он был удалён в результате принятия решения по отчёту LWG 468
вместо него используется fail()
LWG 838 C++98 не было ясно, можно ли инкрементировать итераторы конца потока поведение не определено

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/istream_iterator/operator_arith

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API