Scroll to navigation

std::ranges::join_view::begin(3) C++ Standard Libary std::ranges::join_view::begin(3)

NAME

std::ranges::join_view::begin - std::ranges::join_view::begin

Synopsis


constexpr auto begin(); (1) (since
C++20)
constexpr auto begin() const


requires ranges::input_range<const V> && (2) (since
C++20)
std::is_reference_v<ranges::range_reference_t<const
V>>;


Returns an iterator to the first element of the join_view. Given base_ is the
underlying view,


1) Equivalent to 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_)};.
2) Equivalent to return /*iterator*/<true>{*this, ranges::begin(base_)};.

Parameters


(none)

Return value


Iterator to the first element.

Notes


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.

Example


This section is incomplete
Reason: no example

See also


end returns an iterator or a sentinel to the end
(C++20) (public member function)
ranges::begin returns an iterator to the beginning of a range
(C++20) (customization point object)

Category:


* Todo no example

2024.06.10 http://cppreference.com