std::ranges::repeat_view<W, Bound>::iterator - cppreference.com
From cppreference.com
|
(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
|
|
(1) | (since C++23) |
|
(2) | (since C++23) (exposition only*) |
Constructs an iterator. Overload (2) is called by begin() and end() of ranges::repeat_view.
1) Initializes value_ with nullptr and value-initializes current_ .
2) Initializes value_ with value and current_ with b.
If Bound is not std::unreachable_sentinel_t and b is negative, the behavior is undefined.
std::ranges::repeat_view::iterator::operator*
|
|
(since C++23) | |
Returns *value_.
std::ranges::repeat_view::iterator::operator[]
|
|
(since C++23) | |
Returns *(*this + n).
std::ranges::repeat_view::iterator::operator++
|
|
(1) | (since C++23) |
|
|
(2) | (since C++23) |
1) Equivalent to ++current_ ; return *this;.
2) Equivalent to auto tmp = *this; ++*this; return tmp;.
std::ranges::repeat_view::iterator::operator--
|
|
(1) | (since C++23) |
|
|
(2) | (since C++23) |
1) Equivalent to --current_ ; return *this;.
If Bound is not std::unreachable_sentinel_t and current_ is non-positive, the behavior is undefined.
2) Equivalent to auto tmp = *this; --*this; return tmp;.
std::ranges::repeat_view::iterator::operator+=
|
|
(since C++23) | |
Equivalent to current_ += n; return *this;.
If Bound is not std::unreachable_sentinel_t and current_ + n is negative, the behavior is undefined.
std::ranges::repeat_view::iterator::operator-=
|
|
(since C++23) | |
Equivalent to current_ -= n; return *this;.
If Bound is not std::unreachable_sentinel_t and current_ - n is negative, the behavior is undefined.
Non-member functions
operator==, <=>(std::ranges::repeat_view::iterator)
|
|
(1) | (since C++23) |
|
|
(2) | (since C++23) |
1) Returns x.current_ == y.current_.
2) Returns x.current_ <=> y.current_.
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 is an associated class of the arguments.
operator+(std::ranges::repeat_view::iterator)
|
|
(1) | (since C++23) |
|
|
(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 is an associated class of the arguments.
operator-(std::ranges::repeat_view::iterator)
|
|
(1) | (since C++23) |
|
|
(2) | (since C++23) |
1) Equivalent to i -= n; return i;.
Notes
iterator is always random_access_iterator.