std::ranges::iota_view<W, Bound>::sentinel
struct /*sentinel*/; |
(since C++20) | |
The return type of iota_view::end, used when the iota_view
is bounded (i.e. Bound
is not std::unreachable_sentinel_t) and Bound
and W
are not the same type.
The name of this class (shown here as /*sentinel*/) is unspecified.
Typical implementation holds one data member of type Bound
(shown here as bound_), typically a number.
Member functions
std::ranges::iota_view::sentinel::sentinel
/*sentinel*/() = default; |
(1) | (since C++20) |
constexpr explicit /*sentinel*/( Bound bound ); |
(2) | (since C++20) |
Non-member functions
In the following descriptions, value_
is an exposition-only data member of iterator
from which its operator* copies.
operator==(std::ranges::iota_view::iterator, std::ranges::iota_view::sentinel)
friend constexpr bool operator==( const /*iterator*/& x, const /*sentinel*/& y ); |
(since C++20) | |
Equivalent to: return x.value_ == y.bound_;.
The !=
operator is synthesized from operator==
.
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when sentinel
is an associated class of the arguments.
operator-(std::ranges::iota_view::iterator, std::ranges::iota_view::sentinel)
friend constexpr std::iter_difference_t<W> operator-(const /*iterator*/& x, const /*sentinel*/& y) |
(1) | (since C++20) |
friend constexpr std::iter_difference_t<W> operator-(const /*sentinel*/& x, const /*iterator*/& y) |
(2) | (since C++20) |
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when sentinel
is an associated class of the arguments.