| %module overload_null |
| |
| %{ |
| struct F {}; |
| %} |
| |
| %inline %{ |
| struct X {}; |
| struct Y {}; |
| struct F; |
| |
| struct Overload { |
| int byval1(X x) { return 1; } |
| int byval1(Y* y) { return 2; } |
| |
| int byval2(Y* y) { return 3; } |
| int byval2(X x) { return 4; } |
| |
| int byref1(X& x) { return 5; } |
| int byref1(Y* y) { return 6; } |
| |
| int byref2(Y* y) { return 7; } |
| int byref2(X& x) { return 8; } |
| |
| int byconstref1(const X& x) { return 9; } |
| int byconstref1(Y* y) { return 10; } |
| |
| int byconstref2(Y* y) { return 11; } |
| int byconstref2(const X& x) { return 12; } |
| |
| // const pointer references |
| int byval1cpr(X x) { return 13; } |
| int byval1cpr(Y*const& y) { return 14; } |
| |
| int byval2cpr(Y*const& y) { return 15; } |
| int byval2cpr(X x) { return 16; } |
| |
| // fwd class declaration |
| int byval1fwdptr(X x) { return 17; } |
| int byval1fwdptr(F* f) { return 18; } |
| |
| int byval2fwdptr(F* f) { return 19; } |
| int byval2fwdptr(X x) { return 20; } |
| |
| int byval1fwdref(X x) { return 21; } |
| int byval1fwdref(F& f) { return -21; } |
| |
| int byval2fwdref(F& f) { return -22; } |
| int byval2fwdref(X x) { return 22; } |
| |
| }; |
| %} |