First of all I shall say that I think I got how it should be done but my code will not compile any way I try. I based my assumption on this official example of empty ptree t
Using C++11, you can use the following to iterate through all the children of the node at path:
ptree children = pt.get_child(path);
for (const auto& kv : children) {
// kv is of type ptree::value_type
// kv.first is the name of the child
// kv.second is the child tree
}