std::ranges::basic_istream_view::iterator
struct /*iterator*/; |
(с C++20) (только для примера*) |
Тип возвращаемого значения basic_istream_view::begin.
/*iterator*/ является input_iterator, но не удовлетворяет LegacyInputIterator и, следовательно, не работает с алгоритмами до C++20 algorithms.
Типы членов
| Тип члена | Определение |
|---|---|
iterator_concept(C++20) |
std::input_iterator_tag |
difference_type(C++20) |
std::ptrdiff_t |
value_type(C++20) |
Val |
Члены-функции
|
(C++20) |
создаёт итератор (публичный член-функция) |
|
(C++20) |
оператор присваивания копирования удалён; оператор присваивания перемещения — единственный реализованный (публичный член-функция) |
|
(C++20) |
перемещает итератор вперёд (публичный член-функция) |
|
(C++20) |
возвращает текущий элемент (публичный член-функция) |
std::ranges::basic_istream_view::iterator::iterator
constexpr explicit /*iterator*/( basic_istream_view& parent ); |
(1) | (с C++20) |
/*iterator*/( const /*iterator*/& ) = delete; |
(2) | (с C++20) |
/*iterator*/( /*iterator*/&& ) = default; |
(3) | (с C++20) |
basic_istream_view.
std::ranges::basic_istream_view::iterator::operator=
/*iterator*/& operator=( const /*iterator*/& ) = delete; |
(1) | (с C++20) |
/*iterator*/& operator=( /*iterator*/&& ) = default; |
(2) | (с C++20) |
std::ranges::basic_istream_view::iterator::operator++
/*iterator*/& operator++(); |
(1) | (с C++20) |
void operator++(int); |
(2) | (с C++20) |
Считывает значение из базового потока и сохраняет его в родительский basic_istream_view.
Возвращаемое значение
*this
std::ranges::basic_istream_view::iterator::operator*
Val& operator*() const; |
(с C++20) |
Возвращает ссылку на сохранённое значение.
Независимые функции
operator==
(C++20) |
сравнивает с итератором, имеющим тот же самый родительский диапазон (публичный член-функция) |
operator==(std::ranges::basic_istream_view::iterator, std::default_sentinel)
friend bool operator==( const /*iterator*/& x, std::default_sentinel_t ); |
(с C++20) |
Сравнивает итератор с std::default_sentinel_t.
Возвращает true, если у *this нет родительского basic_istream_view, или если в базовом потоке произошла ошибка.
Эта функция не видна для обычного прямого или явного поиска и может быть найдена только с помощью поиска зависимого от аргументов, когда std::ranges::basic_istream_view::iterator является ассоциированным классом аргументов.
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применимо к | Поведение, как опубликовано | Правильное поведение |
|---|---|---|---|
| P2325R3 | C++20 | Конструктор по умолчанию был предоставлен как итераторы C++20 должны быть определяемы по умолчанию |
удалён вместе с требованием |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/basic_istream_view/iterator