std::move_iterator::operator= - cppreference.com (original) (raw)
| template< class U > move_iterator& operator=( const move_iterator<U>& other ); | | (constexpr since C++17) | | ----------------------------------------------------------------------------------- | | ----------------------- |
Assigns other._[current](../move%5Fiterator.html#current "cpp/iterator/move iterator")_ to _[current](../move%5Fiterator.html#current "cpp/iterator/move iterator")_ .
| If U is not convertible to Iter, the program is ill-formed. | (until C++20) |
|---|---|
| This overload participates in overload resolution only if std::is_same_v<U, Iter> is false and both std::convertible_to<const U&, Iter> and std::assignable_from<Iter&, const U&> are modeled. | (since C++20) |
[edit] Parameters
| other | - | iterator adaptor to assign |
|---|
[edit] Return value
*this
[edit] Example
[edit] 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 |