During the previous Hackweek [0], I have successfully implemented, tested and merged [1] an implementation of the entire C++ standard header <future>. This time, my aim is to modernize the C++14-esque standard library [2] of HelenOS [3][4] 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 [5] 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)

[0] https://hackweek.suse.com/19/projects/helenos-of-the
[1] https://github.com/HelenOS/helenos/pull/171
[2] https://github.com/HelenOS/helenos/tree/master/uspace/lib/cpp
[3] http://helenos.org
[4] https://github.com/helenos/helenos
[5] https://en.cppreference.com/w/cpp/header/filesystem

Looking for hackers with the skills:

helenos c++ standardese filesystem

This project is part of:

Hack Week 19

Activity

  • about 1 month ago: jjindrak added keyword "helenos" to HelenOS: <filesystem> of a down
  • about 1 month ago: jjindrak added keyword "c++" to HelenOS: <filesystem> of a down
  • about 1 month ago: jjindrak added keyword "standardese" to HelenOS: <filesystem> of a down
  • about 1 month ago: jjindrak added keyword "filesystem" to HelenOS: <filesystem> of a down
  • about 1 month ago: jjindrak started HelenOS: <filesystem> of a down
  • about 1 month ago: jjindrak originated HelenOS: <filesystem> of a down

  • Comments

    Be the first to comment!

    Similar Projects

    SMT solver for AWS Policy decisions in ceph RGW by abhishekl

    Currently AWS uses a SMT solver to decide on pu...


    Rewrite transactional-update in C++ by fos

    transactional-update, the application to up...


    Port some classic game to Linux by MDoucha

    Let's pick some old classic game, reverse engin...