several fixes, see CHANGES.current 10/04/2004
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6317 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
46dfd88e25
commit
776f15623e
17 changed files with 216 additions and 97 deletions
|
|
@ -6,15 +6,29 @@
|
|||
%exception "this_will_not_compile";
|
||||
|
||||
// Test 1: Test for no user supplied constructors and destructor
|
||||
%exception Simple::Simple "$action /*Simple::Simple*/";
|
||||
%exception Simple::~Simple "$action /*Simple::~Simple*/";
|
||||
%exception Simple::Simple() "$action /*Simple::Simple*/";
|
||||
%exception Simple::~Simple() "$action /*Simple::~Simple*/";
|
||||
|
||||
%inline %{
|
||||
class Simple {};
|
||||
%}
|
||||
|
||||
|
||||
%exception NS::SimpleNS::SimpleNS() "$action /*Simple::Simple*/";
|
||||
%exception NS::SimpleNS::~SimpleNS() "$action /*Simple::~Simple*/";
|
||||
|
||||
%inline %{
|
||||
namespace NS
|
||||
{
|
||||
|
||||
class SimpleNS {};
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
// Test 2: Test templated functions
|
||||
%exception foobar<int> "$action /*foobar<int>*/";
|
||||
%exception foobar "caca";
|
||||
%exception foobar<int>(int) "$action /*foobar<int>*/";
|
||||
|
||||
%inline %{
|
||||
template<class T> void foobar(T t) {}
|
||||
|
|
@ -23,34 +37,33 @@ template<class T> void foobar(T t) {}
|
|||
%template(FooBarInt) foobar<int>;
|
||||
|
||||
// Test 3: Test templates with no user supplied constructors and destructor
|
||||
%exception SimpleTemplate<int>::SimpleTemplate<int> "$action /*SimpleTemplate<int>::SimpleTemplate<int>*/";
|
||||
%exception SimpleTemplate<int>::~SimpleTemplate "$action /*SimpleTemplate<int>::~SimpleTemplate*/";
|
||||
%exception SimpleTemplate<int>::SimpleTemplate() "$action /*SimpleTemplate<int>::SimpleTemplate<int>*/";
|
||||
%exception SimpleTemplate<int>::~SimpleTemplate() "$action /*SimpleTemplate<int>::~SimpleTemplate*/";
|
||||
|
||||
%inline %{
|
||||
template<class T> class SimpleTemplate {};
|
||||
template<class T> class SimpleTemplate {
|
||||
public:
|
||||
};
|
||||
|
||||
%}
|
||||
|
||||
%template(SimpleDouble) SimpleTemplate<double>;
|
||||
%template(SimpleInt) SimpleTemplate<int>;
|
||||
|
||||
// Test 4: Test templates with user supplied constructors and destructor
|
||||
%exception Template<int>::Template "$action /*Template<int>::Template<int>*/";
|
||||
%exception Template<int>::Template() "$action /*Template<int>::Template<int>*/";
|
||||
%exception Template<int>::Template(const Template&) "$action /*Template<int>::Template<int>(const Template&)*/";
|
||||
%exception Template<int>::~Template "$action /*Template<int>::~Template*/";
|
||||
%exception Template<int>::~Template() "$action /*Template<int>::~Template*/";
|
||||
%exception Template<int>::foo "$action /*Template<int>::foo*/";
|
||||
|
||||
%inline %{
|
||||
template<class T> class Template {
|
||||
public:
|
||||
Template();
|
||||
Template(const Template&);
|
||||
~Template();
|
||||
void foo();
|
||||
Template(){}
|
||||
|
||||
Template(const Template&){}
|
||||
~Template(){}
|
||||
void foo(){}
|
||||
};
|
||||
// Supply methods just for the int case. Note syntax is same as the %exception syntax.
|
||||
Template<int>::Template() {}
|
||||
Template<int>::Template(const Template&) {}
|
||||
Template<int>::~Template() {}
|
||||
void Template<int>::foo() {}
|
||||
%}
|
||||
|
||||
%template(TemplateInt) Template<int>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue