| %module using_member |
| |
| /* using declaration tests, including renaming */ |
| %warnfilter(SWIGWARN_LANG_USING_NAME_DIFFERENT) one::twotwo::threetwo::BB::great; |
| |
| %rename(greater) one::two::three::interface1::AA::great(int); |
| %rename(greater) one::two::three::interface1::AA::great(float); |
| %rename(greater) one::CC::great; |
| %rename(greater) one::DD::great; |
| %rename(greaterstill) one::DD::great(bool); |
| |
| %inline %{ |
| namespace interface1 |
| { |
| struct A |
| { |
| int get(int) {return 10;} |
| }; |
| } |
| using interface1::A; |
| |
| struct B : public A |
| { |
| using A::get; |
| int get(double) {return 20;} |
| }; |
| |
| |
| namespace one { |
| namespace two { |
| namespace three { |
| namespace interface1 |
| { |
| class AA |
| { |
| public: |
| int great(int) {return 0;} |
| int great(float) {return 1;} |
| }; |
| } |
| using interface1::AA; |
| } |
| } |
| namespace twotwo { |
| namespace threetwo { |
| class BB : public two::three::AA |
| { |
| public: |
| // TODO: two::three::AA::great not introduced |
| using two::three::AA::great; |
| int great(bool) {return 2;} |
| int jj() {return 3;} |
| }; |
| } |
| } |
| |
| class CC : public two::three::AA |
| { |
| public: |
| using two::three::AA::great; |
| int great(bool) {return 20;} |
| }; |
| |
| class DD : public two::three::AA |
| { |
| public: |
| using two::three::AA::great; |
| int great(bool) {return 30;} |
| }; |
| } |
| %} |