boost属性树,插入元素的迭代器?

时间:2011-09-28 22:23:40

标签: c++ boost boost-propertytree

我通过提升手册和互联网进行了大量搜索,因为我认为这是一个非常标准的功能?

我正在研究“合并”属性树。 - 我注意到函数insert,我希望我可以将树合并到此? 以下是我试图开始工作的路线:

base.insert(base.get_child("BRANCH"), t);

baset是“属性树”,base具有(许多之一)分支“BRANCH”。现在我希望将t插入此分支?
更具体地说:如果我按名称知道该元素,我如何获得“元素”的迭代器?

1 个答案:

答案 0 :(得分: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());