std::ranges::repeat_view<W, Bound>::iterator
struct /*iterator*/; |
(exposition only*) | |
ranges::repeat_view<W, Bound>::
iterator
is the type of the iterators returned by begin()
and end()
of ranges::repeat_view<W, Bound>
Nested types
Exposition-only types | |
Type | Definition |
index-type
|
std::conditional_t
<
std::same_as
<Bound, std::unreachable_sentinel_t
>
std::ptrdiff_t, Bound>
(exposition-only member type* |
Iterator property types | |
Type | 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 >>
|
Data members
Member | Definition |
const W* value_
|
a pointer to the value to repeat (exposition-only member object* |
index-type current_
|
the current position (exposition-only member object* |
Member functions
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 only*) |
Constructs an iterator. Overload (2) is called by begin()
and end()
of ranges::repeat_view
std::ranges::repeat_view::iterator::operator*
constexpr
const W& operator*
(
)
const
noexcept
;
|
(since C++23) | |
Returns *value_
.
std::ranges::repeat_view::iterator::operator[]
constexpr
const W& operator[
]
( difference_type n )
const
noexcept
;
|
(since C++23) | |
Returns *(*this + n).
std::ranges::repeat_view::iterator::operator++
constexpr
/*iterator*/
& operator++
(
)
;
|
(1) | (since C++23) |
constexpr
void operator++
(
int
)
;
|
(2) | (since 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;
std::ranges::repeat_view::iterator::operator+=
constexpr
/*iterator*/
& operator+
=
( difference_type n )
;
|
(since C++23) | |
Equivalent to
current_
+= n; return *this;
If Bound
is not std::unreachable_sentinel_t and current_
+ n
std::ranges::repeat_view::iterator::operator-=
constexpr
/*iterator*/
& operator-
=
( difference_type n )
;
|
(since C++23) | |
Equivalent to
current_
-= n; return *this;
If Bound
is not std::unreachable_sentinel_t and current_
- n
Non-member functions
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) |
The !=
operator is synthesized from operator==
.
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when iterator
operator+(std::ranges::repeat_view::iterator)
friend
constexpr
/*iterator*/ operator+
( /*iterator*/ i, difference_type n ) ; |
(1) | (since C++23) |
friend
constexpr
/*iterator*/ operator+
( difference_type n, /*iterator*/ i ) ; |
(2) | (since C++23) |
Equivalent to i += n; return i;.
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when iterator
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_
)
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when iterator
Notes
iterator
is always random_access_iterator
.