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