friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */) | (since C++23) |
Let current_
be the underlying tuple of iterators.
Equivalent to: return /*tuple-transform*/(ranges::iter_move, i.current_);
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when cartesian_product_view::iterator<Const>
is an associated class of the arguments.
i | - | iterator |
A tuple that contains the result of applying ranges::iter_move
to the stored underlying iterators converted to the return type, as described above.
The exception specification is equivalent to the logical AND of the following expressions:
noexcept(ranges::iter_move(std::get<N>(i.current_)))
for every integer 0 ≤ N ≤ sizeof...(Vs)
, std::is_nothrow_move_constructible_v<ranges::range_rvalue_reference_t</*maybe-const*/<Const, T>>>
for every type T
in First, Vs...
.
(C++20) | casts the result of dereferencing an object to its associated rvalue reference type (customization point object) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/cartesian_product_view/iterator/iter_move