#ifndef ATC_ERROR
#define ATC_ERROR
#include <string>
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#define ERROR(x) __FILE__ ":" STRING(__LINE__) " " x
#define FILELINE __FILE__
#define ERROR_FOR_BACKTRACE
#define HACK(l,m)
namespace ATC {
class ATC_Error {
public:
ATC_Error(std::string errorDescription)
{
errorDescription_ = "ERROR: " + errorDescription;
ERROR_FOR_BACKTRACE
};
ATC_Error(std::string location, std::string errorDescription)
{
errorDescription_ = "ERROR: " + location + ": "+ errorDescription;
ERROR_FOR_BACKTRACE
};
std::string error_description() {
return errorDescription_;
};
private:
std::string errorDescription_;
};
}
#endif