static void print_tree(eff::directory dir, string indent = "") {
size_t lastfile = dir.file_count() - 1, lastdir = lastfile == size_t(-1)? dir.directory_count() - 1 : size_t(-1);
size_t cur = 0;
for (string dn = dir.first_directory(); !dn.empty(); dn = dir.next_directory()) {
bool lastent = (cur++ == lastdir);
cout << indent + (lastent? "╰ " : "├ ") << dn << endl;
eff::directory d = dir.enter_new(dn);
if (d.good())
print_tree(d, indent + (lastent? " " : "│ "));
else
cout << "Could not enter" << endl;
}
cur = 0;
for (string fn = dir.first_file(); !fn.empty(); fn = dir.next_file()) {
bool lastent = (cur++ == lastfile);
cout << indent << (lastent? "╰ " : "├ ") << fn << endl;
}
}
Comments
0 B
|👍
/👎