std::ranges::join_view<V>::begin
From cppreference.com
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
std::ranges::join_view
Member functions | ||||
join_view::begin | ||||
Deduction guides | ||||
Iterator | ||||
Sentinel | ||||
constexpr auto begin(); |
(1) | (since C++20) |
constexpr
auto begin(
)
const
requires ranges::input_range
<
const V>
&&
|
(2) | (since C++20) |
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 /*simple-view*/<V> is satisfied and ranges::range_reference_t <V>
- 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()
Example
This section is incomplete Reason: no example |
See also
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) |