Здравствуйте, watchmaker, Вы писали:
W>Тебя должно в этом коде смущать совсем другое: он не только содержит в себе лишнюю работу с динамической памятью (создаёт и удаляет узлы дерева).
А конкретней? Или ты имеешь в виду что можно было бы перегрузить дерево и похачить перемещение узла прямо во внутренностях?
W>но даже пользователький тип значения (mapped) не перемещает, а копирует.
Я в семантику mapped не заглядывал. Доверился предыдущему отвечающему что оно по итогу прокинется через move.
W>Даже без использования node-handle и extract можно было бы с меньшими накладными расходами реализовать операцию.
А именно?