using better names for frob

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5664 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-01-22 00:41:37 +00:00
commit e524a03a55
6 changed files with 40 additions and 34 deletions

View file

@ -112,6 +112,7 @@ CPP_TEST_CASES += \
director_basic \
director_detect \
director_exception \
director_frob \
director_finalizer \
director_nested \
director_protected \

View file

@ -0,0 +1,39 @@
%module(directors="1") frob;
%header %{
#include <iostream>
%}
%feature("director");
%feature("nodirector") Bravo::abs_method(); // ok
%feature("director") Charlie::abs_method(); // ok
%feature("nodirector") Delta::abs_method(); // doesn't work
%inline %{
struct Alpha
{
virtual ~Alpha() { };
virtual const char* abs_method() = 0;
};
struct Bravo : Alpha
{
const char* abs_method()
{
return "Bravo::abs_method()";
}
};
struct Charlie : Bravo
{
const char* abs_method()
{
return "Charlie::abs_method()";
}
};
struct Delta : Charlie
{
};
%}

View file

@ -1,34 +0,0 @@
%module(directors="1") frob;
%header %{
#include <iostream>
%}
%feature("director") Alpha;
%feature("director") Bravo;
%feature("nodirector") Bravo::abs_method();
%inline %{
class Alpha
{
public:
Alpha() { }
virtual ~Alpha() { };
virtual const char* abs_method() = 0;
};
class Bravo : public Alpha
{
public:
Bravo() { }
virtual ~Bravo() { };
virtual const char* abs_method();
};
const char*
Bravo::abs_method()
{
return "Bravo::abs_method()";
}
%}