%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>; };
Generated by dwww version 1.15 on Tue Jul 2 00:38:30 CEST 2024.