#define MSP_DEBUG_ERRORREPORTER_H_
#include <stdexcept>
+#include <msp/core/mspcore_api.h>
+#include <msp/core/noncopyable.h>
namespace Msp {
namespace Debug {
-class ErrorReporter
+class MSPCORE_API ErrorReporter: private NonCopyable
{
private:
- ErrorReporter *prev;
+ ErrorReporter *_prev = nullptr;
- static ErrorReporter *current;
+ static ErrorReporter *_current;
protected:
ErrorReporter();
public:
virtual ~ErrorReporter();
- static const ErrorReporter *get_current() { return current; }
+ static const ErrorReporter *get_current();
virtual bool report_uncaught_exception(const std::exception &) const = 0;
};