Namespaces
Variants

std::ranges:: repeat_view<W, Bound>:: iterator

From cppreference.net
Ranges library
Range adaptors
struct /*iterator*/ ;
( nur zur Darstellung* )

ranges:: repeat_view < W, Bound > :: iterator ist der Typ der Iteratoren, die von begin() und end() des ranges:: repeat_view < W, Bound > zurückgegeben werden.

Inhaltsverzeichnis

Verschachtelte Typen

Nur zur Darstellung verwendete Typen
Typ Definition
index-type std:: conditional_t < std:: same_as < Bound, std:: unreachable_sentinel_t > ,
std:: ptrdiff_t , Bound >
( nur zur Darstellung verwendeter Member-Typ* )
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  >>

Datenmitglieder

Member Definition
const W * value_ ein Zeiger auf den zu wiederholenden Wert
( Nur zur Veranschaulichung verwendetes Member-Objekt* )
index-type current_ die aktuelle Position
( Nur zur Veranschaulichung verwendetes Member-Objekt* )

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 zur Darstellung* )

Konstruiert einen Iterator. Überladung (2) wird von begin() und end() von ranges::repeat_view aufgerufen.

1) Initialisiert value_ mit nullptr und wertinitialisiert current_ .
2) Initialisiert value_ mit value und current_ mit b .
Wenn Bound nicht std::unreachable_sentinel_t ist und b negativ ist, ist das Verhalten undefiniert.

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) (since C++23)
constexpr void operator ++ ( int ) ;
(2) (since C++23)
1) Entspricht ++ current_  ; return * this ; .
2) Entspricht auto tmp = * this ; ++* this ; return tmp ; .

std::ranges::repeat_view:: iterator :: operator--

constexpr /*iterator*/ & operator -- ( ) ;
(1) (since C++23)
constexpr /*iterator*/ operator -- ( int ) ;
(2) (since C++23)
1) Entspricht -- current_  ; return * this ; .
Wenn Bound nicht std::unreachable_sentinel_t ist und current_ nicht positiv ist, ist das Verhalten undefiniert.
2) Entspricht auto tmp = * this ; --* this ; return tmp ; .

std::ranges::repeat_view:: iterator :: operator+=

constexpr /*iterator*/ & operator + = ( difference_type n ) ;
(seit C++23)

Entspricht current_ + = n ; return * this ; .

Falls 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 ; .

Falls Bound nicht std::unreachable_sentinel_t ist und current_ - n negativ ist, ist das Verhalten undefiniert.

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)
1) Gibt x. current_ == y. current_ zurück.
2) Gibt x. current_ <=> y. current_ zurück.

Der != -Operator wird synthetisiert aus operator== .

Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhä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öhnliches unqualified oder qualified lookup nicht sichtbar und können nur durch argument-dependent lookup 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)
1) Entspricht i - = n ; return i ; .
2) Gibt zurück static_cast < difference_type > ( x. current_  ) -
static_cast < difference_type > ( y. current_  )
.

Diese Funktionen sind für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn iterator eine assoziierte Klasse der Argumente ist.

Hinweise

iterator ist immer random_access_iterator .