| %module template_specialization_enum |
| |
| %warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hello; /* Ruby, wrong class name */ |
| %warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hi; /* Ruby, wrong class name */ |
| |
| %warnfilter(SWIGWARN_GO_NAME_CONFLICT); /* Ignoring 'hello due to Go name ('Hello) conflict with 'Hello' */ |
| |
| %inline %{ |
| |
| enum Hello |
| { |
| hi, hello |
| }; |
| |
| |
| template <Hello, class A> |
| struct C |
| { |
| }; |
| |
| |
| template <Hello, class BB> |
| struct Base |
| { |
| }; |
| |
| |
| template <class A> |
| struct C<hello , A> : Base<hello, A> |
| { |
| int fhello() |
| { |
| return hello; |
| } |
| |
| protected: |
| C() |
| { |
| } |
| }; |
| |
| |
| template <class A> |
| struct C<hi , A> : Base<hi, A> |
| { |
| int fhi() |
| { |
| return hi; |
| } |
| |
| protected: |
| C() |
| { |
| } |
| }; |
| |
| |
| %} |
| |
| %template(Base_dd) Base<hi, int>; |
| %template(Base_ii) Base<hello, int>; |
| |
| %template(C_i) C<hi, int>; |
| %template(C_d) C<hello, int>; |