Здравствуйте, pva, Вы писали:
pva>Здравствуйте, Igore, Вы писали:
I>>А чем вариант из примера не подходит?
pva>Сейчас так и сделал, но это ж не one-liner.
Оберни в функцию.
I>>Ну или твой вариант будет так выглядить
I>>nodes.emplace(newKey, nodes.extract(oldKey).mapped());
pva>А вот здесь меня смущает ...
Тебя должно в этом коде смущать совсем другое: он не только содержит в себе лишнюю работу с динамической памятью (создаёт и удаляет узлы дерева), но даже пользователький тип значения (mapped) не перемещает, а копирует. Даже без использования node-handle и extract можно было бы с меньшими накладными расходами реализовать операцию.
Делай лучше, как в примере написано.