/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/template_enum.i
45 строк
934 B
David Nadlinger
Added special cases to the test-suite as required for D.
18 ноя 2010, 03:17
18 ноя 2010, 03:17
a355d2d
Код
Авторство
О чём код?
%module template_enum %warnfilter(SWIGWARN_RUBY_WRONG_NAME) foo<int>; /* Ruby, wrong class name */ %warnfilter(SWIGWARN_RUBY_WRONG_NAME) foo<double>; /* Ruby, wrong class name */ %inline %{ template<class T> class foo { public: enum { FOO, BAR }; }; %} %template(foo_i) foo<int>; %template(foo_d) foo<double>; #ifdef SWIGD // Workaround for the D module which uses the literal value in the generated wrapper code. %dconstvalue("3") Manta::ColorSpace<Manta::RGBTraits>::NumComponents; #endif %inline { namespace Manta { template<typename Traits> class ColorSpace { public: typedef typename Traits::ComponentType ComponentType; enum { NumComponents = Traits::NumComponents}; ComponentType data[NumComponents]; }; } namespace Manta { class RGBTraits { public: typedef float ComponentType; enum {NumComponents = 3}; }; } } namespace Manta { %template(Color) ColorSpace<RGBTraits>; };