Elements  5.12.0
A C++ base framework for the Euclid Software.
Configuration.h
Go to the documentation of this file.
1 
34 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_CONFIGURATION_H_
35 #define ELEMENTSKERNEL_ELEMENTSKERNEL_CONFIGURATION_H_
36 
37 #include <string> // for string
38 #include <vector> // for vector
39 
40 #include "ElementsKernel/Path.h" // for Path::Item
41 #include "ElementsKernel/Export.h" // ELEMENTS_API
42 
43 namespace Elements {
44 
46 
47 template <typename T>
48 ELEMENTS_API Path::Item getConfigurationPath(const T& file_name, bool raise_exception = true);
49 
50 // Instantiation of the most expected types
51 extern template
52 ELEMENTS_API Path::Item getConfigurationPath(const Path::Item& file_name, bool raise_exception);
53 
54 extern template
55 ELEMENTS_API Path::Item getConfigurationPath(const std::string& file_name, bool raise_exception);
56 
58 
59 } // namespace Elements
60 
61 #define ELEMENTSKERNEL_ELEMENTSKERNEL_CONFIGURATION_IMPL_
63 #undef ELEMENTSKERNEL_ELEMENTSKERNEL_CONFIGURATION_IMPL_
64 
65 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_CONFIGURATION_H_
66 
defines the macros to be used for explicit export of the symbols
provide functions to retrieve resources pointed by environment variables
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74
boost::filesystem::path Item
Definition: Path.h:61
ELEMENTS_API Path::Item getConfigurationPath(const T &file_name, bool raise_exception=true)
ELEMENTS_API std::string getConfigurationVariableName()
ELEMENTS_API std::vector< Path::Item > getConfigurationLocations(bool exist_only=false)