std::ranges:: repeat_view<W, Bound>:: iterator
|
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
>
.
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
.
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) |
current_
;
return
*
this
;
.
std::ranges::repeat_view:: iterator :: operator--
|
constexpr
/*iterator*/
&
operator
--
(
)
;
|
(1) | (since C++23) |
|
constexpr
/*iterator*/
operator
--
(
int
)
;
|
(2) | (since C++23) |
current_
;
return
*
this
;
.
Bound
n'est pas
std::unreachable_sentinel_t
et
current_
n'est pas positif, 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
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) |
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) |
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
.