/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/errors/cpp_namespace_template_bad.i
54 строки
1 KB
William S Fulton
Improved error checking when defining classes and using %template.
14 мар 2023, 01:39
14 мар 2023, 01:39
0c56f35
Код
Авторство
О чём код?
%module xxx namespace test { template<typename T> T max(T a, T b) { return (a > b) ? a : b; } template<typename T> class vector { public: vector() { } ~vector() { } }; } namespace test1 { %template(maxchar) ::test::max<char>; %template(vectorchar) ::test::vector<char>; } namespace test2 { using namespace test; %template(maxshort) max<short>; %template(vectorshort) vector<short>; } namespace test3 { using test::max; using test::vector; %template(maxlong) max<long>; %template(vectorlong) vector<long>; } namespace test4 { using namespace test; typedef int Integer; } namespace test4 { %template(maxInteger) max<Integer>; %template(vectorInteger) vector<Integer>; } namespace test5 { // Empty namespace } template<typename T> struct GlobalVector { void gook(T i) {} void geeko(double d) {} void geeky(int d) {} }; %template(GlobalVectorIntPtr) test5::GlobalVector<int *>; // should fail as GlobalVector is in global namespace using namespace test; namespace test6 { %template(maxdouble) max<double>; %template(vectordouble) vector<double>; }