add more std::exception typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7906 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d8f959828d
commit
a1d10b8e39
3 changed files with 96 additions and 5 deletions
|
|
@ -1,3 +1,64 @@
|
|||
%{
|
||||
#include <stdexcept>
|
||||
%}
|
||||
|
||||
#if defined(SWIG_STD_EXCEPTIONS_AS_CLASSES)
|
||||
|
||||
namespace std {
|
||||
struct exception
|
||||
{
|
||||
virtual ~exception() throw();
|
||||
virtual const char* what() const throw();
|
||||
};
|
||||
|
||||
struct bad_exception : exception
|
||||
{
|
||||
};
|
||||
|
||||
struct logic_error : exception
|
||||
{
|
||||
logic_error(const string& msg);
|
||||
};
|
||||
|
||||
struct domain_error : logic_error
|
||||
{
|
||||
domain_error(const string& msg);
|
||||
};
|
||||
|
||||
struct invalid_argument : logic_error
|
||||
{
|
||||
invalid_argument(const string& msg);
|
||||
};
|
||||
|
||||
struct length_error : logic_error
|
||||
{
|
||||
length_error(const string& msg);
|
||||
};
|
||||
|
||||
struct out_of_range : logic_error
|
||||
{
|
||||
out_of_range(const string& msg);
|
||||
};
|
||||
|
||||
struct runtime_error : exception
|
||||
{
|
||||
runtime_error(const string& msg);
|
||||
};
|
||||
|
||||
struct range_error : runtime_error
|
||||
{
|
||||
range_error(const string& msg);
|
||||
};
|
||||
|
||||
struct overflow_error : runtime_error
|
||||
{
|
||||
overflow_error(const string& msg);
|
||||
};
|
||||
|
||||
struct underflow_error : runtime_error
|
||||
{
|
||||
underflow_error(const string& msg);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue