std::ranges::join_view<V>:: begin
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
|
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,
- return /*iterator*/ < true > { * this, ranges:: begin ( base_ ) } ; if /*simple-view*/ < V > is satisfied and ranges:: range_reference_t < V > is reference type. Otherwise,
- return /*iterator*/ < false > { * 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
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) |