std::ranges::basic_istream_view::iterator
Von cppreference.com
< cpp | ranges | basic istream view
struct /*iterator*/; |
(nur Exposition*) | |
ranges::basic_istream_view<Val, CharT, Traits>::iterator ist der Typ der Iteratoren, die von begin() von ranges::basic_istream_view<Val, CharT, Traits> zurückgegeben werden.
iterator ist ein input_iterator, erfüllt aber nicht die Anforderungen an LegacyInputIterator und funktioniert daher nicht mit Algorithmen vor C++20.
[bearbeiten] Verschachtelte Typen
| Typ | Definition |
iterator_concept
|
std::input_iterator_tag |
difference_type
|
std::ptrdiff_t |
value_type
|
Val
|
[bearbeiten] Datenmember
| Mitglied | Definition |
ranges::basic_istream_view<Val, CharT, Traits> parent_ |
ein Zeiger auf die Eltern-View ((exposition-only member object*) |
[bearbeiten] Member-Funktionen
std::ranges::basic_istream_view::iterator::iterator
| /*iterator*/( const /*iterator*/& ) = delete; |
(1) | (seit C++20) |
| /*iterator*/( /*iterator*/&& ) = default; |
(2) | (seit C++20) |
| constexpr explicit /*iterator*/( basic_istream_view& parent ); |
(3) | (seit C++20) |
1) Der Kopierkonstruktor ist gelöscht. Der Iterator ist nicht kopierbar.
2) Der Verschiebekonstruktor ist standardmäßig.
std::ranges::basic_istream_view::iterator::operator=
| /*iterator*/& operator=( const /*iterator*/& ) = delete; |
(1) | (seit C++20) |
| /*iterator*/& operator=( /*iterator*/&& ) = default; |
(2) | (seit C++20) |
1) Der Zuweisungsoperator für Kopien ist gelöscht. Der Iterator ist nicht kopierbar.
2) Der Zuweisungsoperator für Verschiebungen ist standardmäßig.
std::ranges::basic_istream_view::iterator::operator++
| /*iterator*/& operator++(); |
(1) | (seit C++20) |
| void operator++(int); |
(2) | (seit C++20) |
2) Entspricht ++*this.
std::ranges::basic_istream_view::iterator::operator*
| Val& operator*() const; |
(seit C++20) | |
[bearbeiten] Nicht-Member-Funktionen
operator==(std::ranges::basic_istream_view::iterator, std::default_sentinel)
| friend bool operator==( const /*iterator*/& x, std::default_sentinel_t ); |
(seit C++20) | |
Gibt !*parent_ ->stream_ zurück.
Diese Funktion ist für normale nicht qualifizierte oder qualifizierte Suchen nicht sichtbar und kann nur durch argumentabhängige Suche gefunden werden, wenn std::ranges::basic_istream_view::iterator eine zugehörige Klasse der Argumente ist.
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| P2325R3 | C++20 | Der Standardkonstruktor wurde als C++20 bereitgestellt Iteratoren müssen default_initializable sein |
entfernt zusammen mit die Anforderung |