// Construct error file_parser_error(const std::string &msg, const std::string &file, unsigned long l) : ptree_error(format_what(msg, file, l)), m_message(msg), m_filename(file), m_line(l) { }
// Construct error file_parser_error(const Str &msg, const Str &file, unsigned long l) : ptree_error<Str>(format_what(msg, file, l)), m_message(msg), m_filename(file), m_line(l) { }
// Construct error file_parser_error(const std::string &message, const std::string &filename, unsigned long line) : ptree_error(format_what(message, filename, line)), m_message(message), m_filename(filename), m_line(line) { }
file_parser_error(const std::string &msg, const boost::filesystem::path &file, unsigned long line = 0) : std::runtime_error(format_what(msg, file.string(), line)), m_message(msg), m_filename(file.string()), m_line(line) {}
file_parser_error(const std::string &msg, const std::string &file, unsigned long line = 0) : std::runtime_error(format_what(msg, file, line)), m_message(msg), m_filename(file), m_line(line) {}