37 DECLARE_EXCEPTION( ExcAbsOutputPath, <<
"Can not set absolute path " << EI_Path::qval <<
"for an output file." );
49 : abs_file_path(
"/__NO_FILE_NAME_GIVEN__"),
50 file_type_(output_file)
64 FilePath(
string file_path,
const FileType ft);
73 static void set_io_dirs(
const string working_dir,
const string root_input,
const string input,
const string output);
78 inline operator string()
const
79 {
return abs_file_path;}
95 static void add_placeholder(
string key,
string value);
100 static const string get_absolute_working_dir();
104 {
return abs_file_path == string(other); }
111 void create_output_dir();
117 void substitute_value();
123 static bool is_absolute_path(
const string path);
129 static void create_dir(
string dir);
135 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.
bool operator==(const Null &, const Null &)
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.
FileType file_type_
File type.