/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/cpp_typedef.i
50 строк
1 KB
Julien Schueller
Fix -Wextra-semi warnings (#3372)
18 мар 2026, 21:53
Не верифицирован
18 мар 2026, 21:53
84ff343
Код
Авторство
О чём код?
// This file tests SWIG's tracking of C++ typedef declarations %module cpp_typedef %{ #if defined(_MSC_VER) && _MSC_VER >= 1900 #pragma warning( disable : 5208) // warning C5208: unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes #endif 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; } 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;} }; %}