/trunk/Examples/test-suite/cpp_typedef.i
Swig | 50 lines | 39 code | 11 blank | 0 comment | 0 complexity | 785c624dce1f77a1af3bdec18b3d0e3a MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- // This file tests SWIG's tracking of C++ typedef declarations
- %module cpp_typedef
- %{
- class Bar {
- public:
- };
- %}
- %inline %{
- class Foo {
- public:
- typedef Bar SomeBar;
- typedef SomeBar SomeOtherBar;
- SomeOtherBar bar() {
- SomeOtherBar b;
- return b;
- }
- static SomeOtherBar sbar() {
- SomeOtherBar b;
- return b;
- }
- };
- // Test that the correct types are used for typedef struct declarations
- typedef struct {
- int something;
- void m() {}
- } UnnamedStruct;
- typedef struct NamedStruct {
- int something;
- void m() {}
- } TypedefNamedStruct;
- typedef TypedefNamedStruct DoubleTypedef;
- class Test {
- public:
- UnnamedStruct test1(UnnamedStruct a) {return a;};
- struct NamedStruct test2(struct NamedStruct a) {return a;};
- TypedefNamedStruct test3(TypedefNamedStruct a) {return a;};
- DoubleTypedef test4(DoubleTypedef a) {return a;};
- };
- %}
-