25 #ifndef INCLUDED_RecomposeTransform_h_GUID_4CA04427_C4DC_4898_8938_D735D4A6C056 
   26 #define INCLUDED_RecomposeTransform_h_GUID_4CA04427_C4DC_4898_8938_D735D4A6C056 
   32 #include <json/value.h> 
   40 template <
typename Predicate>
 
   43     std::vector<Json::Value> levels;
 
   44     Json::Value current = input;
 
   45     while (current.isMember(keys::child()) &&
 
   46            current[keys::child()].isObject()) {
 
   48             levels.push_back(current);
 
   50         current = current[keys::child()];
 
   52     while (levels.size() > 0) {
 
   53         Json::Value next = levels.back();
 
   55         next[keys::child()] = current;
 
   61 #endif // INCLUDED_RecomposeTransform_h_GUID_4CA04427_C4DC_4898_8938_D735D4A6C056