Namespaces
Variants

std::ranges::basic_istream_view::iterator

Из ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
struct /*iterator*/;
(только для пояснения*)

ranges::basic_istream_view<Val, CharT, Traits>::iterator — это тип итераторов, возвращаемых begin() класса ranges::basic_istream_view<Val, CharT, Traits>.

iterator является input_iterator, но не удовлетворяет LegacyInputIterator, и, следовательно, не работает с pre-C++20 алгоритмами.

Вложенные типы

Тип Определение
iterator_concept std::input_iterator_tag
difference_type std::ptrdiff_t
value_type Val

Элементы данных

Член Описание
ranges::basic_istream_view<Val, CharT, Traits> parent_ указатель на родительское представление
(только для описания член-объект*)

Функции-члены

std::ranges::basic_istream_view:: iterator :: iterator

/*iterator*/ ( const /*iterator*/ & ) = delete ;
(1) (since C++20)
/*iterator*/ ( /*iterator*/ && ) = default ;
(2) (since C++20)
constexpr explicit /*iterator*/ ( basic_istream_view & parent ) ;
(3) (since C++20)
1) Конструктор копирования удалён. Итератор не поддерживает копирование.
2) Конструктор перемещения объявлен по умолчанию.
3) Инициализирует parent_ значением std:: addressof ( parent ) .

std::ranges::basic_istream_view:: iterator :: operator=

/*iterator*/ & operator = ( const /*iterator*/ & ) = delete ;
(1) (since C++20)
/*iterator*/ & operator = ( /*iterator*/ && ) = default ;
(2) (since C++20)
1) Оператор копирующего присваивания удалён. Итератор не является копируемым.
2) Оператор перемещающего присваивания задан по умолчанию.

std::ranges::basic_istream_view:: iterator :: operator++

/*iterator*/ & operator ++ ( ) ;
(1) (since C++20)
void operator ++ ( int ) ;
(2) (since C++20)
1) Эквивалентно * parent_  - > stream_ >> parent_  - > value_ .
2) Эквивалентно ++* this .

std::ranges::basic_istream_view:: iterator :: operator*

Val & operator * ( ) const ;
(since C++20)

Возвращает parent_  - > value_ .

Функции, не являющиеся членами класса

operator== (std::ranges::basic_istream_view:: iterator , std::default_sentinel)

friend bool operator == ( const /*iterator*/ & x, std:: default_sentinel_t ) ;
(since C++20)

Возвращает ! * parent_  - > stream_ .

Эта функция не видна при обычном неквалифицированном поиске или квалифицированном поиске и может быть найдена только с помощью поиска, зависимого от аргументов , когда std::ranges::basic_istream_view:: iterator является ассоциированным классом аргументов.

Отчеты о дефектах

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

DR Applied to Behavior as published Correct behavior
P2325R3 C++20 конструктор по умолчанию был предоставлен как C++20
итераторы должны быть default_initializable
удалён вместе с
требованием