mirror of https://github.com/swig/swig
44 lines
832 B
OpenEdge ABL
44 lines
832 B
OpenEdge ABL
%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>;
|