1 %module overload_null 2 3 %{ 4 struct F {}; 5 %} 6 7 %inline %{ 8 struct X {}; 9 struct Y {}; 10 struct F; 11 12 struct Overload { byval1Overload13 int byval1(X x) { return 1; } byval1Overload14 int byval1(Y* y) { return 2; } 15 byval2Overload16 int byval2(Y* y) { return 3; } byval2Overload17 int byval2(X x) { return 4; } 18 byref1Overload19 int byref1(X& x) { return 5; } byref1Overload20 int byref1(Y* y) { return 6; } 21 byref2Overload22 int byref2(Y* y) { return 7; } byref2Overload23 int byref2(X& x) { return 8; } 24 byconstref1Overload25 int byconstref1(const X& x) { return 9; } byconstref1Overload26 int byconstref1(Y* y) { return 10; } 27 byconstref2Overload28 int byconstref2(Y* y) { return 11; } byconstref2Overload29 int byconstref2(const X& x) { return 12; } 30 31 // const pointer references byval1cprOverload32 int byval1cpr(X x) { return 13; } byval1cprOverload33 int byval1cpr(Y*const& y) { return 14; } 34 byval2cprOverload35 int byval2cpr(Y*const& y) { return 15; } byval2cprOverload36 int byval2cpr(X x) { return 16; } 37 38 // forward class declaration byval1forwardptrOverload39 int byval1forwardptr(X x) { return 17; } byval1forwardptrOverload40 int byval1forwardptr(F* f) { return 18; } 41 byval2forwardptrOverload42 int byval2forwardptr(F* f) { return 19; } byval2forwardptrOverload43 int byval2forwardptr(X x) { return 20; } 44 byval1forwardrefOverload45 int byval1forwardref(X x) { return 21; } byval1forwardrefOverload46 int byval1forwardref(F& f) { return -21; } 47 byval2forwardrefOverload48 int byval2forwardref(F& f) { return -22; } byval2forwardrefOverload49 int byval2forwardref(X x) { return 22; } 50 51 }; 52 %} 53