/tags/rel-1-3-29/SWIG/Lib/typemaps/enumint.swg
# · Unknown · 28 lines · 24 code · 4 blank · 0 comment · 0 complexity · 8ce1702367c520d9b91b4be71f17132e MD5 · raw file
- /* ------------------------------------------------------------
- * 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");
- }
- }
- }