Повысить дерево свойств, итераторы к элементу для вставки?
Я много искал в руководстве по бусту и в интернете, так как считаю, что это стандартная функция?
Ну, я смотрю в "слияние" деревьев свойств. - Я заметил функцию insert
, и я надеюсь, что смогу объединить деревья с этим? Ниже приведена строка, которую я пытаюсь заставить работать:
base.insert(base.get_child("BRANCH"), t);
base
а также t
являются "деревьями собственности", base
имеет как (один из многих) филиал "ФИЛИАЛ". Теперь я хочу вставить t
в эту ветку?
Более конкретно: как я могу получить итератор для "элемента", если я знаю этот элемент по имени?
1 ответ
Вы можете получить итератор для элемента, используя метод begin():
base.get_child("BRANCH").begin();
Чтобы вставить каждый элемент в t в этой позиции, вы должны использовать:
base.insert(base.get_child("BRANCH").begin(), t.begin(), t.end());
Если t содержит один родительский узел или вы хотите вставить только первый узел, вы можете использовать:
base.insert(base.get_child("BRANCH").begin(), t.front());