| %module(directors="1") director_conversion_operators |
| |
| %feature("director"); |
| |
| %warnfilter(SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) Bar; |
| |
| %rename(toFoo) Bar::operator Foo(); |
| %rename(toFooPtr) Bar::operator Foo *(); |
| %rename(toFooRef) Bar::operator Foo &(); |
| %rename(toFooPtrRef) Bar::operator Foo *&(); |
| |
| %rename(toOtherFoo) Bar::operator OtherFoo(); |
| %rename(toOtherFooPtr) Bar::operator OtherFoo *(); |
| %rename(toOtherFooRef) Bar::operator OtherFoo &(); |
| %rename(toOtherFooPtrRef) Bar::operator OtherFoo *&(); |
| |
| %inline %{ |
| struct Foo { |
| }; |
| struct OtherFoo { |
| }; |
| struct Bar { |
| Foo myFoo; |
| Foo *myFooPtr; |
| virtual ~Bar() { } |
| virtual operator Foo () { return Foo(); } |
| virtual operator Foo *() { return &myFoo; } |
| virtual operator Foo &() { return myFoo; } |
| virtual operator Foo *&() { return myFooPtr; } |
| virtual operator OtherFoo () = 0; |
| virtual operator OtherFoo *() = 0; |
| virtual operator OtherFoo &() = 0; |
| virtual operator OtherFoo *&() = 0; |
| }; |
| %} |