update swig on windows
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
%module using_pointers
|
||||
|
||||
#ifdef SWIGCSHARP
|
||||
%csmethodmodifiers x "public new"
|
||||
#endif
|
||||
|
||||
// throw is invalid in C++17 and later, only SWIG to use it
|
||||
#define TESTCASE_THROW2(T1, T2) throw(T1, T2)
|
||||
%{
|
||||
#define TESTCASE_THROW2(T1, T2)
|
||||
%}
|
||||
|
||||
%inline %{
|
||||
class Foo {
|
||||
public:
|
||||
int x;
|
||||
virtual ~Foo() { }
|
||||
virtual Foo* blah() { return this; }
|
||||
virtual Foo* exception_spec(int what_to_throw) TESTCASE_THROW2(int, const char *) {
|
||||
int num = 10;
|
||||
const char *str = "exception message";
|
||||
if (what_to_throw == 1) throw num;
|
||||
else if (what_to_throw == 2) throw str;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
class FooBar : public Foo {
|
||||
public:
|
||||
using Foo::blah;
|
||||
using Foo::x;
|
||||
using Foo::exception_spec;
|
||||
};
|
||||
|
||||
%}
|
||||
|
||||
Reference in New Issue
Block a user