[/
 / Copyright (c) 2008 Marcin Kalicinski (kalita <at> poczta dot onet dot pl)
 / Copyright (c) 2009 Sebastian Redl (sebastian dot redl <at> getdesigned dot at)
 /
 / Distributed under the Boost Software License, Version 1.0. (See accompanying
 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 /]
[section:container Property Tree as a Container]
[/ __ptree_*__ macros expected from property_tree.qbk]
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 __ptree_find__
may refer to any of these, and there are no guarantees about the relative
position of the other equally named children.
[endsect] [/container]
