Elements  5.10
A C++ base framework for the Euclid Software.
PathSearch.h
Go to the documentation of this file.
1 
26 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_PATHSEARCH_H_
27 #define ELEMENTSKERNEL_ELEMENTSKERNEL_PATHSEARCH_H_
28 
29 #include <string>
30 #include <vector>
31 #include <boost/filesystem.hpp>
32 
33 #include "ElementsKernel/Export.h" // ELEMENTS_API
34 
35 namespace Elements {
36 
37 enum class SearchType {
39 };
40 
59 template <typename T>
61  const std::string& searched_name,
62  T directory,
63  SearchType search_type);
64 
65 // template instantiations of the most common types
66 extern template
68  boost::filesystem::path directory,
69  SearchType search_type);
70 extern template
72  std::string directory,
73  SearchType search_type);
74 
75 
95  const std::string& file_name,
96  const std::string& path_like_env_variable,
97  SearchType search_type = SearchType::Recursive);
98 
99 } // namespace Elements
100 
102 
103 
104 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_PATHSEARCH_H_
105 
ELEMENTS_API std::vector< T > pathSearch(const std::string &searched_name, T directory, SearchType search_type)
Searches for a file or a directory in a directory. The search can be recursive (SearchType.Recursive) and in that case more than one results can be return.
STL class.
defines the macros to be used for explicit export of the symbols
boost::filesystem::path path
Definition: DataSyncUtils.h:38
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74
STL class.
ELEMENTS_API std::vector< boost::filesystem::path > pathSearchInEnvVariable(const std::string &file_name, const std::string &path_like_env_variable, SearchType search_type=SearchType::Recursive)
Searches for a file or a directory in a path pointed by an environment variable. It can contains coll...
Definition: PathSearch.cpp:68