std::ranges::repeat_view<W, Bound>::iterator
struct /*iterator*/; |
(nur Exposition*) | |
ranges::repeat_view<W, Bound>::iterator ist der Typ der Iteratoren, die von begin() und end() von ranges::repeat_view<W, Bound> zurückgegeben werden.
[bearbeiten] Geschachtelte Typen
Nur-Exposition-Typen | |
| Typ | Definition |
index-type
|
std::conditional_t<std::same_as<Bound, std::unreachable_sentinel_t>, std::ptrdiff_t, Bound>((nur zur Veranschaulichung)*) |
Iterator-Eigenschaftstypen | |
| Typ | Definition |
iterator_concept
|
std::random_access_iterator_tag |
iterator_category
|
std::random_access_iterator_tag |
value_type
|
W
|
difference_type |
std::conditional_t<is-signed-integer-like <index-type >, index-type , iota-diff-t <index-type >> |
[bearbeiten] Datenmember
| Mitglied | Definition |
const W* value_ |
Ein Zeiger auf den zu wiederholenden Wert ((exposition-only member object*) |
index-type current_ |
Die aktuelle Position ((exposition-only member object*) |
[bearbeiten] Memberfunktionen
std::ranges::repeat_view::iterator::iterator
| /*iterator*/() = default; |
(1) | (seit C++23) |
constexpr explicit /*iterator*/ ( const W* value, /*index-type*/ b = /*index-type*/() ); |
(2) | (seit C++23) (nur Exposition*) |
Konstruiert einen Iterator. Überladung (2) wird von begin() und end() von ranges::repeat_view aufgerufen.
std::ranges::repeat_view::iterator::operator*
| constexpr const W& operator*() const noexcept; |
(seit C++23) | |
Gibt *value_ zurück.
std::ranges::repeat_view::iterator::operator[]
| constexpr const W& operator[]( difference_type n ) const noexcept; |
(seit C++23) | |
Gibt *(*this + n) zurück.
std::ranges::repeat_view::iterator::operator++
| constexpr /*iterator*/& operator++(); |
(1) | (seit C++23) |
| constexpr void operator++(int); |
(2) | (seit C++23) |
current_ ; return *this;.std::ranges::repeat_view::iterator::operator--
| constexpr /*iterator*/& operator--(); |
(1) | (seit C++23) |
| constexpr /*iterator*/ operator--(int); |
(2) | (seit C++23) |
current_ ; return *this;.Bound nicht std::unreachable_sentinel_t ist und current_ nicht-positiv ist, ist das Verhalten undefiniert.std::ranges::repeat_view::iterator::operator+=
| constexpr /*iterator*/& operator+=( difference_type n ); |
(seit C++23) | |
Entspricht current_ += n; return *this;.
Wenn Bound nicht std::unreachable_sentinel_t ist und current_ + n negativ ist, ist das Verhalten undefiniert.
std::ranges::repeat_view::iterator::operator-=
| constexpr /*iterator*/& operator-=( difference_type n ); |
(seit C++23) | |
Entspricht current_ -= n; return *this;.
Wenn Bound nicht std::unreachable_sentinel_t ist und current_ - n negativ ist, ist das Verhalten undefiniert.
[bearbeiten] Nicht-Member-Funktionen
operator==, <=>(std::ranges::repeat_view::iterator)
| friend constexpr bool operator== ( const /*iterator*/& x, const /*iterator*/& y ); |
(1) | (seit C++23) |
| friend constexpr auto operator<=> ( const /*iterator*/& x, const /*iterator*/& y ); |
(2) | (seit C++23) |
Der Operator != wird aus operator== synthetisiert.
Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch Argument-abhängige Suche gefunden werden, wenn iterator eine assoziierte Klasse der Argumente ist.
operator+(std::ranges::repeat_view::iterator)
| friend constexpr /*iterator*/ operator+ ( /*iterator*/ i, difference_type n ); |
(1) | (seit C++23) |
| friend constexpr /*iterator*/ operator+ ( difference_type n, /*iterator*/ i ); |
(2) | (seit C++23) |
Entspricht i += n; return i;.
Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch Argument-abhängige Suche gefunden werden, wenn iterator eine assoziierte Klasse der Argumente ist.
operator-(std::ranges::repeat_view::iterator)
| friend constexpr /*iterator*/ operator- ( /*iterator*/ i, difference_type n ); |
(1) | (seit C++23) |
| friend constexpr difference_type operator- ( const /*iterator*/& x, const /*iterator*/& y ); |
(2) | (seit C++23) |
difference_type>(x.current_ ) - static_cast<difference_type>(y.current_ ) zurück.Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch Argument-abhängige Suche gefunden werden, wenn iterator eine assoziierte Klasse der Argumente ist.
[bearbeiten] Hinweise
iterator ist immer ein random_access_iterator.