| %module enum_template |
| |
| %warnfilter(SWIGWARN_RUBY_WRONG_NAME) eTest0; /* Ruby, wrong class name */ |
| %warnfilter(SWIGWARN_RUBY_WRONG_NAME) eTest1; /* Ruby, wrong class name */ |
| %warnfilter(SWIGWARN_RUBY_WRONG_NAME) eTest2; /* Ruby, wrong class name */ |
| |
| /* |
| From bug report 992329: |
| |
| In Python I see |
| |
| >>> import enum_template |
| >>> enum_template.MakeETest() |
| '_60561408_p_ETest' |
| >>> enum_template.TakeETest(0) |
| Traceback (most recent call last): |
| File "<stdin>", line 1, in ? |
| TypeError: Expected a pointer |
| |
| Without the %template, things work fine: the first |
| function call returns an integer, and the second |
| succeeds. |
| */ |
| |
| %inline %{ |
| |
| enum ETest |
| { |
| eTest0, |
| eTest1, |
| eTest2 |
| }; |
| |
| void TakeETest(ETest test) {} |
| ETest MakeETest(void) {return eTest1;} |
| |
| template<class T> class CTempl |
| { |
| }; |
| |
| %} |
| |
| %template(CTempl_ETest) CTempl<ETest>; |