Например, std::move из <algorithm> переносит элементы из одного диапазона в другой. Это не то же самое, что std::move из <utility>, который просто превращает объект в rvalue.
На картинке показано, как работает алгоритм move. Есть исходный диапазон, целевой диапазон, возвращаемый итератор и вариант ranges::move из C++20.
Сохрани, чтобы не потерять!



