Spec-Zone.ru › C++

std::move_iterator<Iter>::operator=

template< class U > 
move_iterator& operator=( const move_iterator<U>& other );
(до C++17)
template< class U > 
constexpr move_iterator& operator=( const move_iterator<U>& other );
(с C++17)

Базовый итератор получает значение базового итератора other, т.е. other.base().

Поведение не определено, если U не преобразуется в Iter. (до C++20)

Этот перегрузчик участвует в разрешении перегрузки только если U не совпадает с типом Iter, и std::convertible_to<const U&, Iter> и std::assignable_from<Iter&, const U&> являются моделями.

(с C++20)

Параметры

other - итератор-адаптер для присваивания

Возвращаемое значение

*this

Пример

Отчеты об ошибках

Следующие отчеты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применён к Поведение, как опубликовано Корректное поведение
LWG 3435 C++20 оператор присваивания с преобразованием не был ограничен ограничен

См. также

(конструктор)
(C++11)
создаёт новый адаптер итератора
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/move_iterator/operator%3D

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API