Elements  5.10
A C++ base framework for the Euclid Software.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions | Variables
Elements::Path Namespace Reference

Enumerations

enum  Type {
  Type::executable, Type::library, Type::python, Type::configuration,
  Type::auxiliary
}
 

Functions

template<typename T , typename U >
boost::filesystem::path getPathFromLocations (const T &file_name, const std::vector< U > &locations)
 retrieve path from a file name and a set of location to look into More...
 
template<typename T , typename U >
std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const T &file_name, const std::vector< U > &locations)
 retrieve all the paths from a file name and a set of location to look into More...
 
template<typename T >
boost::filesystem::path getPathFromEnvVariable (const T &file_name, const std::string &path_variable)
 retrieve path from a file name and an environment variable to look into More...
 
template<typename T >
std::string joinPath (const std::vector< T > &path_list)
 collate a vector of path into a string using PATH_SEP More...
 
template<typename... Args>
auto join (Args &&...args) -> decltype(joinPath(std::forward< Args >(args)...))
 alias for the joinPath function More...
 
template<typename... Args>
auto split (Args &&...args) -> decltype(splitPath(std::forward< Args >(args)...))
 alias for the splitPath function More...
 
template<typename T , typename U >
std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< T > &initial_locations, const std::vector< U > &suffixes)
 path join each suffix to each initial locations More...
 
template<typename T >
std::vector
< boost::filesystem::path > 
removeDuplicates (const std::vector< T > &path_list)
 remove duplicated paths keeping the order More...
 
ELEMENTS_API std::vector
< boost::filesystem::path > 
getLocationsFromEnv (const std::string &path_variable, bool exist_only=false)
 function to get the locations from an environment variable More...
 
template<typename T , typename U >
ELEMENTS_API
boost::filesystem::path 
getPathFromLocations (const T &file_name, const std::vector< U > &locations)
 retrieve path from a file name and a set of location to look into More...
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromLocations (const boost::filesystem::path &file_name, const std::vector< boost::filesystem::path > &locations)
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromLocations (const boost::filesystem::path &file_name, const std::vector< std::string > &locations)
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromLocations (const std::string &file_name, const std::vector< boost::filesystem::path > &locations)
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromLocations (const std::string &file_name, const std::vector< std::string > &locations)
 
template<typename T , typename U >
ELEMENTS_API std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const T &file_name, const std::vector< U > &locations)
 retrieve all the paths from a file name and a set of location to look into More...
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const boost::filesystem::path &file_name, const std::vector< boost::filesystem::path > &locations)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const boost::filesystem::path &file_name, const std::vector< std::string > &locations)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const std::string &file_name, const std::vector< boost::filesystem::path > &locations)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
getAllPathFromLocations (const std::string &file_name, const std::vector< std::string > &locations)
 
template<typename T >
ELEMENTS_API
boost::filesystem::path 
getPathFromEnvVariable (const T &file_name, const std::string &path_variable)
 retrieve path from a file name and an environment variable to look into More...
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromEnvVariable< boost::filesystem::path > (const boost::filesystem::path &file_name, const std::string &path_variable)
 
template ELEMENTS_API
boost::filesystem::path 
getPathFromEnvVariable< std::string > (const std::string &file_name, const std::string &path_variable)
 
template<typename T >
ELEMENTS_API std::string joinPath (const std::vector< T > &path_list)
 collate a vector of path into a string using PATH_SEP More...
 
template ELEMENTS_API std::string joinPath (const std::vector< boost::filesystem::path > &path_list)
 
template ELEMENTS_API std::string joinPath (const std::vector< std::string > &path_list)
 
template<typename... Args>
ELEMENTS_API auto join (Args &&...args) -> decltype(joinPath(std::forward< Args >(args)...))
 alias for the joinPath function More...
 
ELEMENTS_API std::vector
< boost::filesystem::path > 
splitPath (const std::string &path_string)
 split a string into a vector of path using PATH_SEP More...
 
template<typename... Args>
ELEMENTS_API auto split (Args &&...args) -> decltype(splitPath(std::forward< Args >(args)...))
 alias for the splitPath function More...
 
template<typename T , typename U >
ELEMENTS_API std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< T > &initial_locations, const std::vector< U > &suffixes)
 path join each suffix to each initial locations More...
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< boost::filesystem::path > &initial_locations, const std::vector< boost::filesystem::path > &suffixes)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< boost::filesystem::path > &initial_locations, const std::vector< std::string > &suffixes)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< std::string > &initial_locations, const std::vector< boost::filesystem::path > &suffixes)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
multiPathAppend (const std::vector< std::string > &initial_locations, const std::vector< std::string > &suffixes)
 
template<typename T >
ELEMENTS_API std::vector
< boost::filesystem::path > 
removeDuplicates (const std::vector< T > &path_list)
 remove duplicated paths keeping the order More...
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
removeDuplicates (const std::vector< boost::filesystem::path > &path_list)
 
template ELEMENTS_API
std::vector
< boost::filesystem::path > 
removeDuplicates (const std::vector< std::string > &path_list)
 
template path getPathFromLocations (const path &file_name, const vector< path > &locations)
 
template path getPathFromLocations (const path &file_name, const vector< string > &locations)
 
template path getPathFromLocations (const string &file_name, const vector< path > &locations)
 
template vector< path > getAllPathFromLocations (const path &file_name, const vector< path > &locations)
 
template vector< path > getAllPathFromLocations (const path &file_name, const vector< string > &locations)
 
template vector< path > getAllPathFromLocations (const string &file_name, const vector< path > &locations)
 
template path getPathFromEnvVariable< path > (const path &file_name, const string &path_variable)
 
template path getPathFromEnvVariable< string > (const string &file_name, const string &path_variable)
 
template string joinPath (const vector< path > &path_list)
 
template vector< path > multiPathAppend (const vector< path > &initial_locations, const vector< path > &suffixes)
 
template vector< path > multiPathAppend (const vector< path > &initial_locations, const vector< string > &suffixes)
 
template vector< path > multiPathAppend (const vector< string > &initial_locations, const vector< path > &suffixes)
 
template vector< path > removeDuplicates (const vector< path > &path_list)
 

Variables

ELEMENTS_API const std::string PATH_SEP {":"}
 Separator of path entries. Usually ":" on Unix. More...
 
ELEMENTS_API const std::map
< Type, const std::string
VARIABLE
 map containing the name of the path variable for each type More...
 
ELEMENTS_API const std::map
< Type, const std::vector
< std::string > > 
SUFFIXES
 map containing the default project installation suffixes for each variable More...
 
ELEMENTS_API const std::map
< Type, const std::vector
< std::string > > 
DEFAULT_LOCATIONS
 map containing the default external locations for each variable More...
 
ELEMENTS_API const std::map
< Type, const bool > 
HAS_SUBLEVELS
 map containing the sub-level property of the path components More...
 

Enumeration Type Documentation

enum Elements::Path::Type
strong
Enumerator
executable 
library 
python 
configuration 
auxiliary 

Definition at line 49 of file Path.h.

Function Documentation

template vector<path> Elements::Path::getAllPathFromLocations ( const path &  file_name,
const vector< path > &  locations 
)
template vector<path> Elements::Path::getAllPathFromLocations ( const path &  file_name,
const vector< string > &  locations 
)
template vector<path> Elements::Path::getAllPathFromLocations ( const string file_name,
const vector< path > &  locations 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::getAllPathFromLocations ( const boost::filesystem::path &  file_name,
const std::vector< boost::filesystem::path > &  locations 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::getAllPathFromLocations ( const boost::filesystem::path &  file_name,
const std::vector< std::string > &  locations 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::getAllPathFromLocations ( const std::string file_name,
const std::vector< boost::filesystem::path > &  locations 
)
template vector< path > Elements::Path::getAllPathFromLocations ( const std::string file_name,
const std::vector< std::string > &  locations 
)
template ELEMENTS_API boost::filesystem::path Elements::Path::getPathFromEnvVariable< boost::filesystem::path > ( const boost::filesystem::path &  file_name,
const std::string path_variable 
)
template path Elements::Path::getPathFromEnvVariable< path > ( const path &  file_name,
const string path_variable 
)
template ELEMENTS_API boost::filesystem::path Elements::Path::getPathFromEnvVariable< std::string > ( const std::string file_name,
const std::string path_variable 
)
template path Elements::Path::getPathFromEnvVariable< string > ( const string file_name,
const string path_variable 
)
template path Elements::Path::getPathFromLocations ( const path &  file_name,
const vector< path > &  locations 
)
template path Elements::Path::getPathFromLocations ( const path &  file_name,
const vector< string > &  locations 
)
template path Elements::Path::getPathFromLocations ( const string file_name,
const vector< path > &  locations 
)
template ELEMENTS_API boost::filesystem::path Elements::Path::getPathFromLocations ( const boost::filesystem::path &  file_name,
const std::vector< boost::filesystem::path > &  locations 
)
template ELEMENTS_API boost::filesystem::path Elements::Path::getPathFromLocations ( const boost::filesystem::path &  file_name,
const std::vector< std::string > &  locations 
)
template ELEMENTS_API boost::filesystem::path Elements::Path::getPathFromLocations ( const std::string file_name,
const std::vector< boost::filesystem::path > &  locations 
)
template path Elements::Path::getPathFromLocations ( const std::string file_name,
const std::vector< std::string > &  locations 
)
template string Elements::Path::joinPath ( const vector< path > &  path_list)
template ELEMENTS_API std::string Elements::Path::joinPath ( const std::vector< boost::filesystem::path > &  path_list)
template string Elements::Path::joinPath ( const std::vector< std::string > &  path_list)
template vector<path> Elements::Path::multiPathAppend ( const vector< path > &  initial_locations,
const vector< path > &  suffixes 
)
template vector<path> Elements::Path::multiPathAppend ( const vector< path > &  initial_locations,
const vector< string > &  suffixes 
)
template vector<path> Elements::Path::multiPathAppend ( const vector< string > &  initial_locations,
const vector< path > &  suffixes 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::multiPathAppend ( const std::vector< boost::filesystem::path > &  initial_locations,
const std::vector< boost::filesystem::path > &  suffixes 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::multiPathAppend ( const std::vector< boost::filesystem::path > &  initial_locations,
const std::vector< std::string > &  suffixes 
)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::multiPathAppend ( const std::vector< std::string > &  initial_locations,
const std::vector< boost::filesystem::path > &  suffixes 
)
template vector< path > Elements::Path::multiPathAppend ( const std::vector< std::string > &  initial_locations,
const std::vector< std::string > &  suffixes 
)
template vector<path> Elements::Path::removeDuplicates ( const vector< path > &  path_list)
template ELEMENTS_API std::vector<boost::filesystem::path> Elements::Path::removeDuplicates ( const std::vector< boost::filesystem::path > &  path_list)
template vector< path > Elements::Path::removeDuplicates ( const std::vector< std::string > &  path_list)