Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Property Tree as a Container

Every property tree node models the ReversibleSequence concept, providing access to its immediate children. This means that iterating over a ptree (which is the same as its root node - every ptree node is also the subtree it starts) iterates only a single level of the hierarchy. There is no way to iterate over the entire tree.

It is very important to remember that the property sequence is not ordered by the key. It preserves the order of insertion. It closely resembles a std::list. Fast access to children by name is provided via a separate lookup structure. Do not attempt to use algorithms that expect an ordered sequence (like binary_search) on a node's children.

There may be multiple children with the same key value in a node. However, these children are not necessarily sequential. The iterator returned by find may refer to any of these, and there are no guarantees about the relative position of the other equally named children.