1#if defined(SWIGJAVA) || defined(SWIGCSHARP)
2#error "do not use this version of std_except.i"
3#endif
4
5%{
6#include <stdexcept>
7%}
8
9#if defined(SWIG_STD_EXCEPTIONS_AS_CLASSES)
10
11namespace std {
12  struct exception
13  {
14    virtual ~exception() throw();
15    virtual const char* what() const throw();
16  };
17
18  struct bad_exception : exception
19  {
20  };
21
22  struct logic_error : exception
23  {
24    logic_error(const string& msg);
25  };
26
27  struct domain_error : logic_error
28  {
29    domain_error(const string& msg);
30  };
31
32  struct invalid_argument : logic_error
33  {
34    invalid_argument(const string& msg);
35  };
36
37  struct length_error : logic_error
38  {
39    length_error(const string& msg);
40  };
41
42  struct out_of_range : logic_error
43  {
44    out_of_range(const string& msg);
45  };
46
47  struct runtime_error : exception
48  {
49    runtime_error(const string& msg);
50  };
51
52  struct range_error : runtime_error
53  {
54    range_error(const string& msg);
55  };
56
57  struct overflow_error : runtime_error
58  {
59    overflow_error(const string& msg);
60  };
61
62  struct underflow_error : runtime_error
63  {
64    underflow_error(const string& msg);
65  };
66}
67
68#endif
69