void filename_collector::walk(xhn::path_node* node) { if (!node->is_folder) { xhn::pair<xhn::string, xhn::static_string> p = xhn::make_pair(node->path_name, m_base_folder); m_result->push_back(p); } }
void xhn::path_node::get_paths(xhn::vector<xhn::string>& result) { if (!children) { if (!is_folder) result.push_back(path_name); return; } path_node_ptr child; child = children; while (child) { child->get_paths(result); child = child->next; } }