Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
struct /*iterator*/ ;
( exposition seulement* )

ranges:: repeat_view < W, Bound > :: iterator est le type des itérateurs retournés par begin() et end() de ranges:: repeat_view < W, Bound > .

Table des matières

Types imbriqués

Types d'exposition uniquement
Type Définition
index-type std:: conditional_t < std:: same_as < Bound, std:: unreachable_sentinel_t > ,
std:: ptrdiff_t , Bound >
( type membre d'exposition uniquement* )
Types de propriétés d'itérateur
Type Définition
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  >>

Membres de données

Membre Définition
const W * value_ un pointeur vers la valeur à répéter
( objet membre d'exposition uniquement* )
index-type current_ la position actuelle
( objet membre d'exposition uniquement* )

Fonctions membres

std::ranges::repeat_view:: iterator :: iterator

/*iterator*/ ( ) = default ;
(1) (since C++23)
constexpr explicit /*iterator*/
( const W * value, /*index-type*/ b = /*index-type*/ ( ) ) ;
(2) (since C++23)
( exposition seulement* )

Construit un itérateur. La surcharge (2) est appelée par begin() et end() de ranges::repeat_view .

1) Initialise value_ avec nullptr et initialise par défaut current_ .
2) Initialise value_ avec value et current_ avec b .
Si Bound n'est pas std::unreachable_sentinel_t et b est négatif, le comportement est indéfini.

std::ranges::repeat_view:: iterator :: operator*

constexpr const W & operator * ( ) const noexcept ;
(depuis C++23)

Retourne * value_ .

std::ranges::repeat_view:: iterator :: opérateur[]

constexpr const W & operator [ ] ( difference_type n ) const noexcept ;
(depuis C++23)

Retourne * ( * this + n ) .

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

constexpr /*iterator*/ & operator ++ ( ) ;
(1) (depuis C++23)
constexpr void operator ++ ( int ) ;
(2) (depuis C++23)
1) Équivalent à ++ current_  ; return * this ; .
2) Équivalent à 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) Équivalent à -- current_  ; return * this ; .
Si Bound n'est pas std::unreachable_sentinel_t et current_ n'est pas positif, le comportement est indéfini.
2) Équivalent à auto tmp = * this ; --* this ; return tmp ; .

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

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

Équivalent à current_ + = n ; return * this ; .

Si Bound n'est pas std::unreachable_sentinel_t et current_ + n est négatif, le comportement est indéfini.

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

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

Équivalent à current_ - = n ; return * this ; .

Si Bound n'est pas std::unreachable_sentinel_t et que current_ - n est négatif, le comportement est indéfini.

Fonctions non membres

operator==, <=> (std::ranges::repeat_view:: iterator )

friend constexpr bool operator ==
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(1) (since C++23)
friend constexpr auto operator <=>
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(2) (since C++23)
1) Retourne x. current_ == y. current_ .
2) Retourne x. current_ <=> y. current_ .

L'opérateur != est synthétisé à partir de operator== .

Ces fonctions ne sont pas visibles par la recherche non qualifiée ordinaire ou la recherche qualifiée , et ne peuvent être trouvées que par la recherche dépendante des arguments lorsque iterator est une classe associée des arguments.

operator+ (std::ranges::repeat_view:: iterator )

friend constexpr /*iterator*/ operator +
( /*iterator*/ i, difference_type n ) ;
(1) (depuis C++23)
friend constexpr /*iterator*/ operator +
( difference_type n, /*iterator*/ i ) ;
(2) (depuis C++23)

Équivalent à i + = n ; return i ; .

Ces fonctions ne sont pas visibles par la recherche non qualifiée ou la recherche qualifiée ordinaires, et ne peuvent être trouvées que par la recherche dépendante des arguments lorsque iterator est une classe associée des arguments.

operator- (std::ranges::repeat_view:: iterator )

friend constexpr /*iterator*/ operator -
( /*iterator*/ i, difference_type n ) ;
(1) (since C++23)
friend constexpr difference_type operator -
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(2) (since C++23)
1) Équivalent à i - = n ; return i ; .
2) Retourne static_cast < difference_type > ( x. current_  ) -
static_cast < difference_type > ( y. current_  )
.

Ces fonctions ne sont pas visibles par la recherche non qualifiée ou recherche qualifiée ordinaire, et ne peuvent être trouvées que par la recherche dépendante des arguments lorsque iterator est une classe associée des arguments.

Notes

iterator est toujours random_access_iterator .