28 #include <boost/algorithm/string.hpp>
29 #include <boost/filesystem/operations.hpp>
39 using boost::filesystem::directory_iterator;
40 using boost::filesystem::recursive_directory_iterator;
43 inline namespace Kernel {
52 template vector<Path::Item> pathSearch<Path::Item, directory_iterator>(
const string& searched_name,
55 template vector<Path::Item> pathSearch<Path::Item, recursive_directory_iterator>(
const string& searched_name,
74 string multiple_path{};
78 if (current_env.
hasKey(path_like_env_variable)) {
79 multiple_path = current_env[path_like_env_variable];
81 log.warn() <<
"Environment variable \"" << path_like_env_variable <<
"\" is not defined !";
86 boost::split(path_elements, multiple_path, boost::is_any_of(
";:"));
89 for (
string path_element : path_elements) {
91 if (boost::filesystem::exists(path_element) && boost::filesystem::is_directory(path_element)) {
94 search_results.insert(search_results.end(), single_path_results.cbegin(), single_path_results.cend());
97 return search_results;