亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? example_wrap.c

?? 使用C++開發(fā)python類庫。 主要使用vc+swig+python
?? C
?? 第 1 頁 / 共 5 頁
字號:
  return lastty;
}

/*
  Return the name associated with this type
*/
SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info *ty) {
  return ty->name;
}

/*
  Return the pretty name associated with this type,
  that is an unmangled type name in a form presentable to the user.
*/
SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info *type) {
  /* The "str" field contains the equivalent pretty names of the
     type, separated by vertical-bar characters.  We choose
     to print the last name, as it is often (?) the most
     specific. */
  if (!type) return NULL;
  if (type->str != NULL) {
    const char *last_name = type->str;
    const char *s;
    for (s = type->str; *s; s++)
      if (*s == '|') last_name = s+1;
    return last_name;
  }
  else
    return type->name;
}

/* 
   Set the clientdata field for a type
*/
SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
  swig_cast_info *cast = ti->cast;
  /* if (ti->clientdata == clientdata) return; */
  ti->clientdata = clientdata;
  
  while (cast) {
    if (!cast->converter) {
      swig_type_info *tc = cast->type;
      if (!tc->clientdata) {
	SWIG_TypeClientData(tc, clientdata);
      }
    }    
    cast = cast->next;
  }
}
SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
  SWIG_TypeClientData(ti, clientdata);
  ti->owndata = 1;
}
  
/*
  Search for a swig_type_info structure only by mangled name
  Search is a O(log #types)
  
  We start searching at module start, and finish searching when start == end.  
  Note: if start == end at the beginning of the function, we go all the way around
  the circular list.
*/
SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info *start, 
                            swig_module_info *end, 
		            const char *name) {
  swig_module_info *iter = start;
  do {
    if (iter->size) {
      register size_t l = 0;
      register size_t r = iter->size - 1;
      do {
	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
	register size_t i = (l + r) >> 1; 
	const char *iname = iter->types[i]->name;
	if (iname) {
	  register int compare = strcmp(name, iname);
	  if (compare == 0) {	    
	    return iter->types[i];
	  } else if (compare < 0) {
	    if (i) {
	      r = i - 1;
	    } else {
	      break;
	    }
	  } else if (compare > 0) {
	    l = i + 1;
	  }
	} else {
	  break; /* should never happen */
	}
      } while (l <= r);
    }
    iter = iter->next;
  } while (iter != end);
  return 0;
}

/*
  Search for a swig_type_info structure for either a mangled name or a human readable name.
  It first searches the mangled names of the types, which is a O(log #types)
  If a type is not found it then searches the human readable names, which is O(#types).
  
  We start searching at module start, and finish searching when start == end.  
  Note: if start == end at the beginning of the function, we go all the way around
  the circular list.
*/
SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info *start, 
                     swig_module_info *end, 
		     const char *name) {
  /* STEP 1: Search the name field using binary search */
  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
  if (ret) {
    return ret;
  } else {
    /* STEP 2: If the type hasn't been found, do a complete search
       of the str field (the human readable name) */
    swig_module_info *iter = start;
    do {
      register size_t i = 0;
      for (; i < iter->size; ++i) {
	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
	  return iter->types[i];
      }
      iter = iter->next;
    } while (iter != end);
  }
  
  /* neither found a match */
  return 0;
}

/* 
   Pack binary data into a string
*/
SWIGRUNTIME char *
SWIG_PackData(char *c, void *ptr, size_t sz) {
  static const char hex[17] = "0123456789abcdef";
  register const unsigned char *u = (unsigned char *) ptr;
  register const unsigned char *eu =  u + sz;
  for (; u != eu; ++u) {
    register unsigned char uu = *u;
    *(c++) = hex[(uu & 0xf0) >> 4];
    *(c++) = hex[uu & 0xf];
  }
  return c;
}

/* 
   Unpack binary data from a string
*/
SWIGRUNTIME const char *
SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
  register unsigned char *u = (unsigned char *) ptr;
  register const unsigned char *eu = u + sz;
  for (; u != eu; ++u) {
    register char d = *(c++);
    register unsigned char uu;
    if ((d >= '0') && (d <= '9'))
      uu = ((d - '0') << 4);
    else if ((d >= 'a') && (d <= 'f'))
      uu = ((d - ('a'-10)) << 4);
    else 
      return (char *) 0;
    d = *(c++);
    if ((d >= '0') && (d <= '9'))
      uu |= (d - '0');
    else if ((d >= 'a') && (d <= 'f'))
      uu |= (d - ('a'-10));
    else 
      return (char *) 0;
    *u = uu;
  }
  return c;
}

/* 
   Pack 'void *' into a string buffer.
*/
SWIGRUNTIME char *
SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
  char *r = buff;
  if ((2*sizeof(void *) + 2) > bsz) return 0;
  *(r++) = '_';
  r = SWIG_PackData(r,&ptr,sizeof(void *));
  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
  strcpy(r,name);
  return buff;
}

SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
  if (*c != '_') {
    if (strcmp(c,"NULL") == 0) {
      *ptr = (void *) 0;
      return name;
    } else {
      return 0;
    }
  }
  return SWIG_UnpackData(++c,ptr,sizeof(void *));
}

SWIGRUNTIME char *
SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
  char *r = buff;
  size_t lname = (name ? strlen(name) : 0);
  if ((2*sz + 2 + lname) > bsz) return 0;
  *(r++) = '_';
  r = SWIG_PackData(r,ptr,sz);
  if (lname) {
    strncpy(r,name,lname+1);
  } else {
    *r = 0;
  }
  return buff;
}

SWIGRUNTIME const char *
SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
  if (*c != '_') {
    if (strcmp(c,"NULL") == 0) {
      memset(ptr,0,sz);
      return name;
    } else {
      return 0;
    }
  }
  return SWIG_UnpackData(++c,ptr,sz);
}

#ifdef __cplusplus
}
#endif

/*  Errors in SWIG */
#define  SWIG_UnknownError    	   -1 
#define  SWIG_IOError        	   -2 
#define  SWIG_RuntimeError   	   -3 
#define  SWIG_IndexError     	   -4 
#define  SWIG_TypeError      	   -5 
#define  SWIG_DivisionByZero 	   -6 
#define  SWIG_OverflowError  	   -7 
#define  SWIG_SyntaxError    	   -8 
#define  SWIG_ValueError     	   -9 
#define  SWIG_SystemError    	   -10
#define  SWIG_AttributeError 	   -11
#define  SWIG_MemoryError    	   -12 
#define  SWIG_NullReferenceError   -13



/* Python.h has to appear first */
#include <Python.h>

/* Add PyOS_snprintf for old Pythons */
#if PY_VERSION_HEX < 0x02020000
# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
#  define PyOS_snprintf _snprintf
# else
#  define PyOS_snprintf snprintf
# endif
#endif

/* A crude PyString_FromFormat implementation for old Pythons */
#if PY_VERSION_HEX < 0x02020000

#ifndef SWIG_PYBUFFER_SIZE
# define SWIG_PYBUFFER_SIZE 1024
#endif

static PyObject *
PyString_FromFormat(const char *fmt, ...) {
  va_list ap;
  char buf[SWIG_PYBUFFER_SIZE * 2];
  int res;
  va_start(ap, fmt);
  res = vsnprintf(buf, sizeof(buf), fmt, ap);
  va_end(ap);
  return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
}
#endif

/* Add PyObject_Del for old Pythons */
#if PY_VERSION_HEX < 0x01060000
# define PyObject_Del(op) PyMem_DEL((op))
#endif
#ifndef PyObject_DEL
# define PyObject_DEL PyObject_Del
#endif

/* A crude PyExc_StopIteration exception for old Pythons */
#if PY_VERSION_HEX < 0x02020000
# ifndef PyExc_StopIteration
#  define PyExc_StopIteration PyExc_RuntimeError
# endif
# ifndef PyObject_GenericGetAttr
#  define PyObject_GenericGetAttr 0
# endif
#endif
/* Py_NotImplemented is defined in 2.1 and up. */
#if PY_VERSION_HEX < 0x02010000
# ifndef Py_NotImplemented
#  define Py_NotImplemented PyExc_RuntimeError
# endif
#endif


/* A crude PyString_AsStringAndSize implementation for old Pythons */
#if PY_VERSION_HEX < 0x02010000
# ifndef PyString_AsStringAndSize
#  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
# endif
#endif

/* PySequence_Size for old Pythons */
#if PY_VERSION_HEX < 0x02000000
# ifndef PySequence_Size
#  define PySequence_Size PySequence_Length
# endif
#endif


/* PyBool_FromLong for old Pythons */
#if PY_VERSION_HEX < 0x02030000
static
PyObject *PyBool_FromLong(long ok)
{
  PyObject *result = ok ? Py_True : Py_False;
  Py_INCREF(result);
  return result;
}
#endif


/* -----------------------------------------------------------------------------
 * error manipulation
 * ----------------------------------------------------------------------------- */

SWIGRUNTIME PyObject*
SWIG_Python_ErrorType(int code) {
  PyObject* type = 0;
  switch(code) {
  case SWIG_MemoryError:
    type = PyExc_MemoryError;
    break;
  case SWIG_IOError:
    type = PyExc_IOError;
    break;
  case SWIG_RuntimeError:
    type = PyExc_RuntimeError;
    break;
  case SWIG_IndexError:
    type = PyExc_IndexError;
    break;
  case SWIG_TypeError:
    type = PyExc_TypeError;
    break;
  case SWIG_DivisionByZero:
    type = PyExc_ZeroDivisionError;
    break;
  case SWIG_OverflowError:
    type = PyExc_OverflowError;
    break;
  case SWIG_SyntaxError:
    type = PyExc_SyntaxError;
    break;
  case SWIG_ValueError:
    type = PyExc_ValueError;
    break;
  case SWIG_SystemError:
    type = PyExc_SystemError;
    break;
  case SWIG_AttributeError:
    type = PyExc_AttributeError;
    break;
  default:
    type = PyExc_RuntimeError;
  }
  return type;
}


SWIGRUNTIME void
SWIG_Python_AddErrorMsg(const char* mesg)
{
  PyObject *type = 0;
  PyObject *value = 0;
  PyObject *traceback = 0;

  if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
  if (value) {
    PyObject *old_str = PyObject_Str(value);
    PyErr_Clear();
    Py_XINCREF(type);
    PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
    Py_DECREF(old_str);
    Py_DECREF(value);
  } else {
    PyErr_Format(PyExc_RuntimeError, mesg);
  }
}



#if defined(SWIG_PYTHON_NO_THREADS)
#  if defined(SWIG_PYTHON_THREADS)
#    undef SWIG_PYTHON_THREADS
#  endif
#endif
#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
#  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
#    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
#      define SWIG_PYTHON_USE_GIL
#    endif
#  endif
#  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
#    ifndef SWIG_PYTHON_INITIALIZE_THREADS
#     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads() 
#    endif
#    ifdef __cplusplus /* C++ code */
       class SWIG_Python_Thread_Block {
         bool status;
         PyGILState_STATE state;
       public:
         void end() { if (status) { PyGILState_Release(state); status = false;} }
         SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
         ~SWIG_Python_Thread_Block() { end(); }
       };
       class SWIG_Python_Thread_Allow {
         bool status;
         PyThreadState *save;
       public:
         void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
         SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
         ~SWIG_Python_Thread_Allow() { end(); }
       };

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大胆人体bbbb| 亚洲视频免费在线| 日本vs亚洲vs韩国一区三区二区 | 国产精品自拍一区| 99久久国产综合色|国产精品| 精品一区二区三区免费播放| 国产乱码精品一区二区三区五月婷| 九九**精品视频免费播放| 成人aaaa免费全部观看| 欧美日韩一本到| 中文字幕不卡的av| 日韩精品91亚洲二区在线观看 | 91免费看`日韩一区二区| 69堂精品视频| 中文字幕一区二区三区在线观看| 亚洲狠狠爱一区二区三区| 国产精品一区在线观看乱码| 91福利国产精品| 亚洲精品在线免费观看视频| 亚洲激情第一区| 国产精品小仙女| 欧美日韩国产综合久久| 国产天堂亚洲国产碰碰| 婷婷综合久久一区二区三区| www.欧美亚洲| www国产精品av| 日本不卡高清视频| 91久久精品一区二区三| 国产亚洲精品中文字幕| 日韩精品乱码免费| 一本到高清视频免费精品| 久久综合色综合88| 免费成人av资源网| 欧美性受极品xxxx喷水| 亚洲欧美日本韩国| 成人午夜电影久久影院| 精品88久久久久88久久久| 日本三级韩国三级欧美三级| 欧美性一二三区| 一片黄亚洲嫩模| www.成人在线| 国产欧美一区二区三区鸳鸯浴| 激情欧美日韩一区二区| 日韩三级精品电影久久久| 亚洲福利电影网| 欧美视频完全免费看| 亚洲精品水蜜桃| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品欧美一区二区三区| 国v精品久久久网| 精品av综合导航| 久久99日本精品| 亚洲一区在线观看网站| 成人午夜av影视| 中文字幕在线免费不卡| 成人妖精视频yjsp地址| www国产亚洲精品久久麻豆| 狂野欧美性猛交blacked| 欧美一区二区美女| 免费在线观看一区二区三区| 欧美mv日韩mv亚洲| 国产久卡久卡久卡久卡视频精品| xvideos.蜜桃一区二区| 国产精品亚洲视频| 国产精品乱码久久久久久| 粉嫩嫩av羞羞动漫久久久| 日本一区二区电影| 91女人视频在线观看| 一区二区三区欧美在线观看| 日本成人超碰在线观看| 精品久久久久一区| 成人中文字幕在线| 一区二区三区精密机械公司| 在线成人午夜影院| 国产一区二区三区四| 国产精品美女久久久久久久久久久 | 国产精品一线二线三线| 中文字幕在线不卡| 欧美精品18+| 精品制服美女久久| 国产欧美久久久精品影院| 91蜜桃在线观看| 日本一不卡视频| 久久综合狠狠综合久久综合88| 国产91在线观看丝袜| 亚洲成人免费视频| 久久嫩草精品久久久久| 91影视在线播放| 免费一级片91| 中文字幕日韩欧美一区二区三区| 欧美视频完全免费看| 国产精品小仙女| 亚洲www啪成人一区二区麻豆| 久久午夜老司机| 色综合久久天天| 极品销魂美女一区二区三区| 中文字幕色av一区二区三区| 日韩一级完整毛片| 色综合久久六月婷婷中文字幕| 免费在线成人网| 亚洲精品伦理在线| 久久综合久久久久88| 在线视频你懂得一区二区三区| 久久aⅴ国产欧美74aaa| 亚洲一区在线视频观看| 国产日韩欧美精品综合| 7799精品视频| 91毛片在线观看| 国产成人欧美日韩在线电影| 日韩在线一二三区| 一区二区三区小说| 中文字幕成人网| 日韩欧美资源站| 色美美综合视频| 成人精品国产一区二区4080| 视频一区二区国产| 一区二区三区高清| 中文字幕欧美一区| 国产三级精品在线| 久久综合精品国产一区二区三区| 亚洲精品videosex极品| 久久精品亚洲精品国产欧美kt∨| 在线播放/欧美激情| 欧美影院精品一区| 91蜜桃在线观看| 99久久国产综合精品色伊| 国产麻豆欧美日韩一区| 极品尤物av久久免费看| 看电视剧不卡顿的网站| 日本亚洲视频在线| 日韩电影在线免费观看| 亚洲成av人片在www色猫咪| 亚洲精品成人悠悠色影视| 最新久久zyz资源站| 国产精品理论在线观看| 国产精品欧美一级免费| 国产精品每日更新在线播放网址 | 亚洲一区二区三区四区五区黄 | 26uuu亚洲| 久久影院午夜片一区| 精品久久一区二区三区| 精品久久久久久久一区二区蜜臀| 5858s免费视频成人| 欧美一区二区视频在线观看2022 | 欧美日韩1234| 欧美猛男gaygay网站| 欧美日韩在线三区| 欧美日本视频在线| 欧美一区二区三区思思人| 日韩欧美国产小视频| 精品国产乱码91久久久久久网站| 日韩欧美电影一二三| 精品国内片67194| 国产欧美视频一区二区三区| 久久精品av麻豆的观看方式| 久久99精品久久久久久久久久久久| 精品一区二区三区免费观看| 国产高清在线精品| 99国产欧美久久久精品| 欧洲一区二区av| 日韩欧美一区在线观看| 国产日韩欧美a| 亚洲精品国久久99热| 爽爽淫人综合网网站| 国内精品久久久久影院色| 大陆成人av片| 欧美在线一区二区| 日韩精品最新网址| 中文字幕的久久| 亚洲一区二区三区自拍| 美女视频第一区二区三区免费观看网站| 久久国产日韩欧美精品| youjizz久久| 51精品国自产在线| 国产日产精品一区| 亚洲国产成人av| 国产美女娇喘av呻吟久久| 色狠狠色噜噜噜综合网| 欧美高清dvd| 激情伊人五月天久久综合| 成人av免费在线| 7777精品伊人久久久大香线蕉完整版 | 色哟哟亚洲精品| 精品奇米国产一区二区三区| 国产精品色在线| 婷婷成人综合网| caoporm超碰国产精品| 欧美久久久久久久久中文字幕| 精品少妇一区二区三区免费观看 | 色婷婷av久久久久久久| 欧美视频完全免费看| 久久久一区二区三区| 亚洲一区二区三区自拍| 成人深夜视频在线观看| 欧美一级午夜免费电影| 亚洲黄色录像片| 成人性视频免费网站| 欧美大白屁股肥臀xxxxxx| 一区二区三区日韩精品视频| 粉嫩高潮美女一区二区三区|