During the previous Hackweek , I have successfully implemented, tested and merged  an implementation of the entire C++ standard header <future>. This time, my aim is to modernize the C++14-esque standard library  of HelenOS  with a C++17 feature - the <filesystem> header. The <filesystem> header is much larger than the <future> header which I barely managed to implement and test in the allocated time for the previous Hackweek, but <future> was mostly OS-independent as it relied only on previously implemented features of the standard library. The <filesystem> header, however, is limited by the filesystem API of the OS and as such implementing of the entirety of it might not be possible, limiting the scope of the project (which is a good thing due to the time constraints).
The primary features of the header  that should be implemented:
- path (manipulation, testing, catenation)
- directory handling (create, delete, remove, move, copy, traversal, recursive traversal)
- file handling (create, delete, remove, move, copy - links/sockets/states as permitted by HelenOS)
- error handling (exception types, those only require C++ constructs, low priority)
- file types as permitted by HelenOS (e.g. things like is_fifo() might not be possible)
This project is part of:
Hack Week 19 Hack Week 20 Hack Week 21 Hack Week 22
[comment]: # (Please use the project descriptio...
Let's pick some old classic game, reverse engin...