37 DECLARE_EXCEPTION( ExcAbsOutputPath, <<
"Can not set absolute path " << EI_Path::qval <<
"for an output file." );
48 FilePath() : abs_file_path(
"/__NO_FILE_NAME_GIVEN__") {}
61 FilePath(
const string file_path,
const FileType ft);
70 static void set_io_dirs(
const string working_dir,
const string root_input,
const string input,
const string output);
75 inline operator string()
const
76 {
return abs_file_path;}
92 static void add_placeholder(
string key,
string value);
97 static const string get_absolute_working_dir();
104 void substitute_value();
110 static bool is_absolute_path(
const string path);
116 static bool create_output_dir();
122 static void create_canonical_path(
const string working_dir,
const string output);
FileType
Possible types of file.
#define DECLARE_EXCEPTION(ExcName, Format)
Macro for simple definition of exceptions.
string abs_file_path
Final absolute path to the file.
static string root_dir
Prefix path for input files (directory of the main input file).
#define TYPEDEF_ERR_INFO(EI_Type, Type)
Macro to simplify declaration of error_info types.
Dedicated class for storing path to input and output files.
static std::map< string, string > placeholder
dictionary of placeholders
static string output_dir
Prefix path for output files.