%module template_default2 %warnfilter(SWIGWARN_RUBY_WRONG_NAME) oss::traits; // Ruby, wrong class name %inline %{ namespace oss { enum Polarization { UnaryPolarization, BinaryPolarization }; template <Polarization P> struct Interface_tpl { }; struct traits { static const Polarization pmode = UnaryPolarization; }; template <class C, Polarization P = C::pmode, class Base = Interface_tpl<P> > // **** problem here ***** struct Module : Base { }; } %} namespace oss { %template(Interface_UP) Interface_tpl<UnaryPolarization>; // This works %template(Module_UP1) Module<traits, UnaryPolarization, Interface_tpl<UnaryPolarization> >; // These don't %template(Module_UP2) Module<traits, UnaryPolarization>; %template(Module_UP3) Module<traits>; }
Generated by dwww version 1.15 on Tue Jul 2 00:24:16 CEST 2024.