/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/using_namespace.i
87 строк
1 KB
David Nadlinger
Added special cases to the test-suite as required for D.
18 ноя 2010, 03:17
18 ноя 2010, 03:17
a355d2d
Код
Авторство
О чём код?
%module(ruby_minherit="1") using_namespace %warnfilter(SWIGWARN_RUBY_WRONG_NAME) hi::hi0; /* Ruby, wrong class name */ %warnfilter(SWIGWARN_RUBY_WRONG_NAME) hi::hi1; /* Ruby, wrong class name */ %warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE, SWIGWARN_CSHARP_MULTIPLE_INHERITANCE, SWIGWARN_D_MULTIPLE_INHERITANCE, SWIGWARN_PHP_MULTIPLE_INHERITANCE) Hi<hello::Hello, hi::hi0>; // C#, D, Java, PHP multiple inheritance %inline %{ namespace hello { struct Hello { }; template <class _T1, class _T2> struct Hi : _T1, _T2 { int value1() const { return 1; } int value2() const { return 2; } }; } namespace hi { struct hi0 { }; } %} namespace hello { %template(Hi_hi0) Hi<hello::Hello, hi::hi0>; } %inline %{ namespace hi { struct hi1 : private hello::Hi< hello::Hello, hi0 > { using hello::Hi< hello::Hello, hi::hi0 >::value1; using hello::Hi< hello::Hello, hi0 >::value2; }; } %} %inline { namespace foo { typedef double mytype; } // global namespace typedef float mytype; using namespace foo; struct X { ::mytype d; }; } %inline %{ namespace SpaceMan { typedef double SpaceManDouble; } using namespace ::SpaceMan; // global namespace prefix SpaceManDouble useSpaceMan(SpaceManDouble s) { return s; } %}