#ifndef ASSERT_H #define ASSERT_H #include class AtlasException : public std::exception { const std::string fileName; const int fileLine; const std::string message; protected: virtual void buildString(std::ostream& stream) const; std::string fullMessage; public: explicit AtlasException(const std::string& file, int line, const std::string& msg); virtual ~AtlasException() { } virtual std::string buildMessage() const; virtual std::string toString() const { return fullMessage; } virtual const char* what() const noexcept { return fullMessage.c_str(); } }; #endif // ASSERT_H