-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patherrors.hh
35 lines (25 loc) · 970 Bytes
/
errors.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef _ERRORS_H_
#define _ERRORS_H_
#include "exceptions.hh"
#include <sstream>
namespace Errors {
class Message : public Exceptions::Amanzi_exception {
public:
explicit Message() : message_() {};
explicit Message(const char* message) : message_(message) {};
explicit Message(const std::string& message) : message_(message) {};
~Message() noexcept {};
const char* what() const noexcept override { return message_.c_str(); }
void add_data(const char* data) { message_ += data; }
void add_data(const std::string& data) { message_ += data; }
public:
std::string message_;
};
Message& operator<<(Message &message, const char* data);
Message& operator<<(Message &message, const std::string& data);
Message& operator<<(Message &message, double datum);
Message& operator<<(Message &message, int datum);
Message& operator<<(Message &message, std::size_t datum);
class CutTimeStep : public Message {};
} // namespace Errors
#endif /* _ERRORS_H_ */