Virtual Testbed
Ship dynamics simulator for extreme conditions
error_at_line.hh
1 #ifndef VTESTBED_BASE_ERROR_AT_LINE_HH
2 #define VTESTBED_BASE_ERROR_AT_LINE_HH
3 
4 #include <exception>
5 #include <string>
6 
7 namespace vtb {
8 
9  namespace base {
10 
11  class error_at_line: public std::exception {
12 
13  private:
14  std::string _message;
15 
16  public:
17 
18  explicit
20  std::string filename,
21  size_t line,
22  size_t character,
23  std::string message
24  );
25 
26  const char* what() const noexcept override;
27 
28  error_at_line() = default;
29  virtual ~error_at_line() = default;
30  error_at_line(const error_at_line&) = default;
31  error_at_line& operator=(const error_at_line&) = default;
32  error_at_line(error_at_line&&) = default;
33  error_at_line& operator=(error_at_line&&) = default;
34 
35  };
36 
37  }
38 
39 }
40 
41 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9