/tags/rel-1-3-26/SWIG/Examples/test-suite/typedef_inherit.i
Swig | 49 lines | 38 code | 11 blank | 0 comment | 0 complexity | 57bbac275a0dfc557e28b7f8d9a68f81 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- // Inheritance through a typedef name
- %module typedef_inherit
-
- %inline %{
- class Foo {
- public:
- virtual ~Foo () { }
-
- virtual char *blah() {
- return (char *) "Foo::blah";
- }
- };
- typedef Foo FooObj;
- class Bar : public FooObj {
- public:
- virtual char *blah() {
- return (char *) "Bar::blah";
- };
- };
- char *do_blah(FooObj *f) {
- return f->blah();
- }
- typedef struct spam {
- virtual ~spam()
- {
- }
-
- virtual char *blah() {
- return (char *) "Spam::blah";
- }
- } Spam;
- struct Grok : public Spam {
- virtual ~Grok() { }
- virtual char *blah() {
- return (char *) "Grok::blah";
- }
- };
- static char * do_blah2(Spam *s) {
- return s->blah();
- }
- %}