11 /// Creates a directory
12 void mkdir(const Path &path, int mode);
14 /// Creates a directory and any required parent directories
15 void mkpath(const Path &path, int mode);
17 /// Removes a directory, which must be empty
18 void rmdir(const Path &path);
20 /// Removes a directory and anything it contains
21 void rmpath(const Path &path);
23 /// Lists the contents of a directory
24 std::list<std::string> list_files(const Path &path);
26 /// Lists the contents of a directory, filtered with a regex
27 std::list<std::string> list_filtered(const Path &path, const std::string &filter);
29 /// Returns the current working directory
32 /// Returns the user's home directory
35 /// Returns a directory suitable for storing user-specific data
36 Path get_user_data_dir(const std::string &appname);
38 /// Returns a directory containing system-wide configuration
39 Path get_sys_conf_dir(const std::string &argv0);
41 /// Returns a directory containing immutable system-wide data
42 Path get_sys_data_dir(const std::string &argv0, const std::string &appname);
44 /// Returns a directory containing system-wide architecture-specific files
45 Path get_sys_lib_dir(const std::string &argv0, const std::string &appname);
47 /// Changes the current working directory
48 void chdir(const Path &);