Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::ostringstream treeView;
- std::string level = "";
- std::string getTreeView(const std::vector<std::shared_ptr<FileSystemObject>>& rootObjects)
- {
- std::vector<std::shared_ptr<FileSystemObject>> dirs;
- for (int i = 0; i < rootObjects.size(); i++)
- {
- std::shared_ptr<FileSystemObject> currPtr = rootObjects[i];
- std::shared_ptr<Directory> dir = std::dynamic_pointer_cast<Directory>(currPtr);
- if (dir != nullptr)
- {
- treeView << level << dir->getName() << '\n';
- for(auto iter = dir->begin(); iter != dir->end();++iter)
- {
- std::shared_ptr<FileSystemObject> dirChild = *iter;
- dirs.push_back(dirChild);
- }
- level += "-->";
- if(!dirs.empty())
- {
- getTreeView(dirs);
- }
- return treeView.str();
- }
- else
- {
- treeView << level << currPtr->getName() << '\n';
- }
- }
- level += "--->";
- if(!dirs.empty())
- {
- getTreeView(dirs);
- }
- return treeView.str();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement