Task

Write a program that will list everything in the current folder,   similar to:

   the Unix utility   “ls”   [1]       or 
   the Windows terminal command   “DIR” 


The output must be sorted, but printing extended details and producing multi-column output is not required.



Example output
For the list of paths:

/foo/bar
/foo/bar/1
/foo/bar/2
/foo/bar/a
/foo/bar/b



When the program is executed in   `/foo`,   it should print:

bar

and when the program is executed in   `/foo/bar`,   it should print:

1
2
a
b



 
#include <iostream>
#include <set>
#include <boost/filesystem.hpp>
 
namespace fs = boost::filesystem;
 
int main(void)
{
    fs::path p(fs::current_path());
    std::set<std::string> tree;
 
    for (auto it = fs::directory_iterator(p); it != fs::directory_iterator(); ++it)
        tree.insert(it->path().filename().native());
 
    for (auto entry : tree)
        std::cout << entry << '\n';
}
 