我只是一个在沙滩上捡贝壳的小男孩,梦想有一天可以发现知识的真理~~~

Boost.PropertyTree 属性树作为一个容器

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中获得一个普通的迭代器
 
反过来则不行



posted @ 2018-01-21 22:39  瓜不甜  阅读(626)  评论(0编辑  收藏  举报

全栈开发工程师 - 一只菜鸟的成长之路

这是一位软件开发工程师的个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

联系我:2351180282@qq.com