Повысить дерево свойств, итераторы к элементу для вставки?

Я много искал в руководстве по бусту и в интернете, так как считаю, что это стандартная функция?

Ну, я смотрю в "слияние" деревьев свойств. - Я заметил функцию 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());
Другие вопросы по тегам