#pragma once #include #include #if 0 #include using std::experimental::optional; #else #include using std::optional; #endif using std::string; using std::vector; #define MOD_FOLDER "./data_mods" #define CACHE_FOLDER MOD_FOLDER "/_cache" namespace layeredfs { void cache_mods(void); vector available_mods(); optional normalise_path(const string &path); optional find_first_modfile(const string &norm_path); optional find_first_modfolder(const string &norm_path); vector find_all_modfile(const string &norm_path); bool mkdir_p(string &path); }