| Index: swig/Lib/typemaps/enumint.swg
|
| ===================================================================
|
| --- swig/Lib/typemaps/enumint.swg (revision 0)
|
| +++ swig/Lib/typemaps/enumint.swg (revision 0)
|
| @@ -0,0 +1,28 @@
|
| +/* ------------------------------------------------------------
|
| + * Enums mapped as integer values
|
| + * ------------------------------------------------------------ */
|
| +
|
| +%apply int { enum SWIGTYPE };
|
| +%apply const int& { const enum SWIGTYPE& };
|
| +
|
| +%typemap(in,fragment=SWIG_AsVal_frag(int),noblock=1) const enum SWIGTYPE& (int val, int ecode, $basetype temp) {
|
| + ecode = SWIG_AsVal(int)($input, &val);
|
| + if (!SWIG_IsOK(ecode)) {
|
| + %argument_fail(ecode, "$type", $symname, $argnum);
|
| + } else {
|
| + temp = %static_cast(val,$basetype);
|
| + $1 = &temp;
|
| + }
|
| +}
|
| +
|
| +%typemap(varin,fragment=SWIG_AsVal_frag(int),noblock=1) enum SWIGTYPE {
|
| + if (sizeof(int) != sizeof($1)) {
|
| + %variable_fail(SWIG_AttributeError,"$type", "arch, read-only $name");
|
| + } else {
|
| + int ecode = SWIG_AsVal(int)($input, %reinterpret_cast(&$1,int*));
|
| + if (!SWIG_IsOK(ecode)) {
|
| + %variable_fail(ecode, "$type", "$name");
|
| + }
|
| + }
|
| +}
|
| +
|
|
|