Scroll to navigation

std::move_iterator::operator=(3) C++ Standard Libary std::move_iterator::operator=(3)

NAME

std::move_iterator::operator= - std::move_iterator::operator=

Synopsis


template< class U > (until C++17)
move_iterator& operator=( const move_iterator<U>& other );
template< class U > (since C++17)
constexpr move_iterator& operator=( const move_iterator<U>& other );


The underlying iterator is assigned the value of the underlying iterator of other,
i.e. other.base().


The behavior is undefined if U is not convertible to Iter. (until C++20)
This overload participates in overload resolution only if U is not the
same type as Iter and std::convertible_to<const U&, Iter> and (since C++20)
std::assignable_from<Iter&, const U&> are modeled.

Parameters


other - iterator adaptor to assign

Return value


*this

Example


This section is incomplete
Reason: no example


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 3435 C++20 the converting assignment operator was not constrained
constrained

See also


constructor constructs a new iterator adaptor
(C++11) (public member function)

2022.07.31 http://cppreference.com