| 22 | { |
| 23 | |
| 24 | void collapseTreeImpl(std::map<String, Int64> & collapsed_tree, std::vector<String> & path, CursorTreeNode * node) |
| 25 | { |
| 26 | for (const auto & [k, v] : *node) |
| 27 | { |
| 28 | path.push_back(k); |
| 29 | |
| 30 | if (std::holds_alternative<Int64>(v)) |
| 31 | collapsed_tree[boost::algorithm::join(path, ".")] = std::get<Int64>(v); |
| 32 | else |
| 33 | collapseTreeImpl(collapsed_tree, path, std::get<CursorTreeNodePtr>(v).get()); |
| 34 | |
| 35 | path.pop_back(); |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | std::map<String, Int64> collapseTree(CursorTreeNode * node) |
| 40 | { |
no test coverage detected