29 #include <boost/filesystem/path.hpp>
30 #include <boost/process/search_path.hpp>
32 namespace fable::schema {
35 struct is_path<boost::filesystem::path> : std::true_type {};
40 inline bool exists(
const boost::filesystem::path& path) {
41 return boost::filesystem::exists(path);
45 inline bool is_regular_file(
const boost::filesystem::path& path) {
46 return boost::filesystem::is_regular_file(path);
50 inline bool is_directory(
const boost::filesystem::path& path) {
51 return boost::filesystem::is_directory(path);
55 inline bool is_other(
const boost::filesystem::path& path) {
56 return boost::filesystem::is_other(path);
60 inline boost::filesystem::path canonical(
const boost::filesystem::path& path) {
61 return boost::filesystem::canonical(path);
65 inline std::optional<boost::filesystem::path> search_path(
const boost::filesystem::path& executable) {
66 boost::filesystem::path path = boost::process::search_path(executable);