码迷,mamicode.com
首页 > 其他好文 > 详细

Property Tree as a Container

时间:2018-01-22 00:07:02      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:查找   节点   快速   equal   range   find   clear   数据结构   post   

Property Tree as a Container

每个属性树节点都建模了ReversibleSequence概念,为其直接的子节点提供了访问权。这意味着遍历一个ptree(与它的根节点相同——每个ptree节点也是它开始的子树 ) 迭代的只有层次结构的一个层次,没有办法遍历整棵树。

记住,属性序列不是由键排序的,它保留了插入的顺序,并不是一个有序的东西
它很像std::list,通过一个单独的查找结构提供给孩子的快速访问。不要尝试在上面使用排序等算法!

属性树公开了第二个容器类接口,称为关联视图。它的迭代器类型是嵌套式assoc_iterator(和它的const对应的const_assoc_iterator)。您可以使用ordered_begin()和ordered_end()来获得所有子节点的有序视图,这个东西,就是map,list等的标准的数据结构的类似的迭代器!但是是不可更改的迭代器!

关联视图还提供find()和equal_range()成员,这些成员返回assoc_iterator,但是其他方法与std的成员具有相同的语义::相同名称的map。

您可以使用to_iterator()成员函数从assoc_iterator中获得一个普通的迭代器。反过来则不行。




Property Tree as a Container

标签:查找   节点   快速   equal   range   find   clear   数据结构   post   

原文地址:https://www.cnblogs.com/xujintao/p/8325933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!