Namespaces
Variants

deref-move

От ru.cppreference.net
 
 
Библиотека алгоритмов
Ограниченные алгоритмы и алгоритмы над диапазонами (C++20)
Ограниченные алгоритмы, например ranges::copy, ranges::sort, ...
Немодифицирующие операции над последовательностями    
Пакетные операции
(C++17)
Операции поиска
Модифицирующие операции над последовательностями
Операции копирования
(C++11)
(C++11)
Операции обмена
Операции преобразования
Операции генерации
Операции удаления
Операции изменения порядка
(до C++17)(C++11)
(C++20)(C++20)
Операции выборки
(C++17)

Сортировка и связанные операции
Операции разделения
(C++11)    

Операции сортировки
Операции двоичного поиска
(на разбитых диапазонах)
Операции над множествами (на отсортированных диапазонах)
Операции слияния (на отсортированных диапазонах)
Операции с кучей
Операции минимума/максимума
(C++11)
(C++17)
Операции лексикографического сравнения
Операции перестановки


Политики выполнения (C++17)
(только для демонстрации*)(C++26)

Численные операции
(C++11)
(C++17)
(C++17)    

Специализированные <memory> алгоритмы

Специализированные <random> алгоритмы
Библиотека C









 
Специализированные <memory> алгоритмы
 
template< class I >
constexpr decltype(auto) /*deref-move*/( I& iter )
(начиная с C++17)
(только для демонстрации*)

Возвращает результат разыменования iter в виде rvalue:

  • Если *iter является ссылочным типом lvalue, возвращает std::move(*iter).
  • Иначе возвращает *iter напрямую.

Параметры

iter - итератор, для которого будет перемещён указываемый объект

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

Как описано выше.

Примечания

Этот шаблон функции, предназначенный только для демонстрации, введён решением LWG issue 3918. Он используется для предотвращения ненужного конструирования перемещением из результата разыменования iter, если результат уже является rvalue.

См. также

перемещает диапазон объектов в неинициализированную область памяти
(шаблон функции & алгоритмический функциональный объект)
перемещает указанное количество объектов в неинициализированную область памяти
(шаблон функции & алгоритмический функциональный объект)