Namespaces
Variants
Views
Actions

iter_move(std::basic_const_iterator<Iter>)

From cppreference.com
 
 
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
friend constexpr /*rvalue-reference*/
    iter_move( const basic_const_iterator& i ) noexcept(/* see below */);
(since C++23)

Casts the result of dereferencing the underlying iterator to its associated const rvalue reference type.

The return type /*rvalue-reference*/ is std::common_reference_t<const std::iter_value_t<Iter>&&, std::iter_rvalue_reference_t<Iter>>.

The function body is equivalent to
return static_cast</*rvalue-reference*/>(std::ranges::iter_move(i.base()));.

This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::basic_const_iterator<Iter> is an associated class of the arguments.

Contents

[edit] Parameter

i - a basic_const_iterator

[edit] Return value

An rvalue reference to const, or a prvalue.

[edit] Exceptions

noexcept specification:  
noexcept(noexcept(static_cast</*rvalue-reference*/>(std::ranges::iter_move(i.base()))))

[edit] Example

[edit] See also

(C++20)
casts the result of dereferencing an object to its associated rvalue reference type
(customization point object)[edit]