constexpr auto begin(); | (1) | (since C++20) |
constexpr auto begin() const requires ranges::input_range<const V> && std::is_reference_v<ranges::range_reference_t<const V>>; | (2) | (since C++20) |
Returns an iterator to the first element of the join_view
. Given base_
is the underlying view,
return /*iterator*/<true>{*this, ranges::begin(base_)};
if __SimpleView<V>
is satisfied and ranges::range_reference_t<V>
is reference type. Otherwise, equivalent to return /*iterator*/<false>{*this, ranges::begin(base_)};
.return /*iterator*/<true>{*this, ranges::begin(base_)};
.(none).
Iterator to the first element.
When ranges::range_reference_t<V>
is not a reference type, that is, deferencing an iterator of V
returns a prvalue temporary, the join_view
is only an input_range
, in which case only single-pass iteration is supported, and repeated calls to begin()
may not give meaningful results.
(C++20) | returns an iterator or a sentinel to the end (public member function) |
(C++20) | returns an iterator to the beginning of a range (customization point object) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/join_view/begin