]> git.tdb.fi Git - libs/core.git/blob - source/debug/errorreporter.h
Add move semantics to Variant
[libs/core.git] / source / debug / errorreporter.h
1 #ifndef MSP_DEBUG_ERRORREPORTER_H_
2 #define MSP_DEBUG_ERRORREPORTER_H_
3
4 #include <stdexcept>
5 #include <msp/core/mspcore_api.h>
6 #include <msp/core/noncopyable.h>
7
8 namespace Msp {
9 namespace Debug {
10
11 class MSPCORE_API ErrorReporter: private NonCopyable
12 {
13 private:
14         ErrorReporter *_prev = nullptr;
15
16         static ErrorReporter *_current;
17
18 protected:
19         ErrorReporter();
20 public:
21         virtual ~ErrorReporter();
22
23         static const ErrorReporter *get_current();
24
25         virtual bool report_uncaught_exception(const std::exception &) const = 0;
26 };
27
28 } // namespace Debug
29 } // namespace Msp
30
31 #endif