Medical Imaging Interaction Toolkit  2025.08.99-f7084adb
Medical Imaging Interaction Toolkit
swigpyrun.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (https://www.swig.org).
3  * Version 4.3.0
4  *
5  * Do not make changes to this file unless you know what you are doing - modify
6  * the SWIG interface file instead.
7  * ----------------------------------------------------------------------------- */
8 
9 /* -----------------------------------------------------------------------------
10  * swigcompat.swg
11  *
12  * Macros to provide support compatibility with older C and C++ standards.
13  *
14  * Note that SWIG expects __cplusplus to be defined to the appropriate C++ standard.
15  * MSVC users are urged to check and examine the /Zc:__cplusplus compiler option.
16  * See https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus.
17  * ----------------------------------------------------------------------------- */
18 
19 /* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
20  * if you're missing it.
21  */
22 #if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
23  (defined __cplusplus && __cplusplus >= 201103L) || \
24  defined SWIG_HAVE_SNPRINTF) && \
25  !defined SWIG_NO_SNPRINTF
26 # define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
27 # define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
28 #else
29 /* Fallback versions ignore the buffer size, but most of our uses either have a
30  * fixed maximum possible size or dynamically allocate a buffer that's large
31  * enough.
32  */
33 # define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
34 # define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
35 #endif
36 /* -----------------------------------------------------------------------------
37  * This section contains generic SWIG labels for method/variable
38  * declarations/attributes, and other compiler dependent labels.
39  * ----------------------------------------------------------------------------- */
40 
41 /* template workaround for compilers that cannot correctly implement the C++ standard */
42 #ifndef SWIGTEMPLATEDISAMBIGUATOR
43 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
44 # define SWIGTEMPLATEDISAMBIGUATOR template
45 # elif defined(__HP_aCC)
46 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
47 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
48 # define SWIGTEMPLATEDISAMBIGUATOR template
49 # else
50 # define SWIGTEMPLATEDISAMBIGUATOR
51 # endif
52 #endif
53 
54 /* inline attribute */
55 #ifndef SWIGINLINE
56 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
57 # define SWIGINLINE inline
58 # else
59 # define SWIGINLINE
60 # endif
61 #endif
62 
63 /* attribute recognised by some compilers to avoid 'unused' warnings */
64 #ifndef SWIGUNUSED
65 # if defined(__GNUC__)
66 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
67 # define SWIGUNUSED __attribute__ ((__unused__))
68 # else
69 # define SWIGUNUSED
70 # endif
71 # elif defined(__ICC)
72 # define SWIGUNUSED __attribute__ ((__unused__))
73 # else
74 # define SWIGUNUSED
75 # endif
76 #endif
77 
78 #ifndef SWIG_MSC_UNSUPPRESS_4505
79 # if defined(_MSC_VER)
80 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
81 # endif
82 #endif
83 
84 #ifndef SWIGUNUSEDPARM
85 # ifdef __cplusplus
86 # define SWIGUNUSEDPARM(p)
87 # else
88 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
89 # endif
90 #endif
91 
92 /* internal SWIG method */
93 #ifndef SWIGINTERN
94 # define SWIGINTERN static SWIGUNUSED
95 #endif
96 
97 /* internal inline SWIG method */
98 #ifndef SWIGINTERNINLINE
99 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
100 #endif
101 
102 /* exporting methods */
103 #if defined(__GNUC__)
104 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
105 # ifndef GCC_HASCLASSVISIBILITY
106 # define GCC_HASCLASSVISIBILITY
107 # endif
108 # endif
109 #endif
110 
111 #ifndef SWIGEXPORT
112 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
113 # if defined(STATIC_LINKED)
114 # define SWIGEXPORT
115 # else
116 # define SWIGEXPORT __declspec(dllexport)
117 # endif
118 # else
119 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
120 # define SWIGEXPORT __attribute__ ((visibility("default")))
121 # else
122 # define SWIGEXPORT
123 # endif
124 # endif
125 #endif
126 
127 /* calling conventions for Windows */
128 #ifndef SWIGSTDCALL
129 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
130 # define SWIGSTDCALL __stdcall
131 # else
132 # define SWIGSTDCALL
133 # endif
134 #endif
135 
136 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
137 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
138 # define _CRT_SECURE_NO_DEPRECATE
139 #endif
140 
141 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
142 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
143 # define _SCL_SECURE_NO_DEPRECATE
144 #endif
145 
146 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
147 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
148 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
149 #endif
150 
151 /* Intel's compiler complains if a variable which was never initialised is
152  * cast to void, which is a common idiom which we use to indicate that we
153  * are aware a variable isn't used. So we just silence that warning.
154  * See: https://github.com/swig/swig/issues/192 for more discussion.
155  */
156 #ifdef __INTEL_COMPILER
157 # pragma warning disable 592
158 #endif
159 
160 #if defined(__cplusplus) && __cplusplus >=201103L
161 # define SWIG_NULLPTR nullptr
162 #else
163 # define SWIG_NULLPTR NULL
164 #endif
165 /* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
166 #define SWIG_UnknownError -1
167 #define SWIG_IOError -2
168 #define SWIG_RuntimeError -3
169 #define SWIG_IndexError -4
170 #define SWIG_TypeError -5
171 #define SWIG_DivisionByZero -6
172 #define SWIG_OverflowError -7
173 #define SWIG_SyntaxError -8
174 #define SWIG_ValueError -9
175 #define SWIG_SystemError -10
176 #define SWIG_AttributeError -11
177 #define SWIG_MemoryError -12
178 #define SWIG_NullReferenceError -13
179 
180 /* -----------------------------------------------------------------------------
181  * swigrun.swg
182  *
183  * This file contains generic C API SWIG runtime support for pointer
184  * type checking.
185  * ----------------------------------------------------------------------------- */
186 
187 /* This should only be incremented when either the layout of swig_type_info changes,
188  or for whatever reason, the runtime changes incompatibly */
189 #define SWIG_RUNTIME_VERSION "4"
190 
191 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
192 #ifdef SWIG_TYPE_TABLE
193 # define SWIG_QUOTE_STRING(x) #x
194 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
195 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
196 #else
197 # define SWIG_TYPE_TABLE_NAME
198 #endif
199 
200 /*
201  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
202  creating a static or dynamic library from the SWIG runtime code.
203  In 99.9% of the cases, SWIG just needs to declare them as 'static'.
204 
205  But only do this if strictly necessary, ie, if you have problems
206  with your compiler or suchlike.
207 */
208 
209 #ifndef SWIGRUNTIME
210 # define SWIGRUNTIME SWIGINTERN
211 #endif
212 
213 #ifndef SWIGRUNTIMEINLINE
214 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
215 #endif
216 
217 /* Generic buffer size */
218 #ifndef SWIG_BUFFER_SIZE
219 # define SWIG_BUFFER_SIZE 1024
220 #endif
221 
222 /* Flags for pointer conversions */
223 #define SWIG_POINTER_DISOWN 0x1
224 #define SWIG_CAST_NEW_MEMORY 0x2
225 #define SWIG_POINTER_NO_NULL 0x4
226 #define SWIG_POINTER_CLEAR 0x8
227 #define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
228 
229 /* Flags for new pointer objects */
230 #define SWIG_POINTER_OWN 0x1
231 
232 
233 /*
234  Flags/methods for returning states.
235 
236  The SWIG conversion methods, as ConvertPtr, return an integer
237  that tells if the conversion was successful or not. And if not,
238  an error code can be returned (see swigerrors.swg for the codes).
239 
240  Use the following macros/flags to set or process the returning
241  states.
242 
243  In old versions of SWIG, code such as the following was usually written:
244 
245  if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
246  // success code
247  } else {
248  //fail code
249  }
250 
251  Now you can be more explicit:
252 
253  int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
254  if (SWIG_IsOK(res)) {
255  // success code
256  } else {
257  // fail code
258  }
259 
260  which is the same really, but now you can also do
261 
262  Type *ptr;
263  int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
264  if (SWIG_IsOK(res)) {
265  // success code
266  if (SWIG_IsNewObj(res) {
267  ...
268  delete *ptr;
269  } else {
270  ...
271  }
272  } else {
273  // fail code
274  }
275 
276  I.e., now SWIG_ConvertPtr can return new objects and you can
277  identify the case and take care of the deallocation. Of course that
278  also requires SWIG_ConvertPtr to return new result values, such as
279 
280  int SWIG_ConvertPtr(obj, ptr,...) {
281  if (<obj is ok>) {
282  if (<need new object>) {
283  *ptr = <ptr to new allocated object>;
284  return SWIG_NEWOBJ;
285  } else {
286  *ptr = <ptr to old object>;
287  return SWIG_OLDOBJ;
288  }
289  } else {
290  return SWIG_BADOBJ;
291  }
292  }
293 
294  Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
295  more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
296  SWIG errors code.
297 
298  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
299  allows returning the 'cast rank', for example, if you have this
300 
301  int food(double)
302  int fooi(int);
303 
304  and you call
305 
306  food(1) // cast rank '1' (1 -> 1.0)
307  fooi(1) // cast rank '0'
308 
309  just use the SWIG_AddCast()/SWIG_CheckState()
310 */
311 
312 #define SWIG_OK (0)
313 /* Runtime errors are < 0 */
314 #define SWIG_ERROR (-1)
315 /* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
316 /* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
317 /* Errors < -200 are generic runtime specific errors */
318 #define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
319 
320 #define SWIG_IsOK(r) (r >= 0)
321 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
322 
323 /* The CastRankLimit says how many bits are used for the cast rank */
324 #define SWIG_CASTRANKLIMIT (1 << 8)
325 /* The NewMask denotes the object was created (using new/malloc) */
326 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
327 /* The TmpMask is for in/out typemaps that use temporary objects */
328 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
329 /* Simple returning values */
330 #define SWIG_BADOBJ (SWIG_ERROR)
331 #define SWIG_OLDOBJ (SWIG_OK)
332 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
333 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
334 /* Check, add and del object mask methods */
335 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
336 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
337 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
338 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
339 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
340 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
341 
342 /* Cast-Rank Mode */
343 #if defined(SWIG_CASTRANK_MODE)
344 # ifndef SWIG_TypeRank
345 # define SWIG_TypeRank unsigned long
346 # endif
347 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
348 # define SWIG_MAXCASTRANK (2)
349 # endif
350 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
351 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
352 SWIGINTERNINLINE int SWIG_AddCast(int r) {
353  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
354 }
356  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
357 }
358 #else /* no cast-rank mode */
359 # define SWIG_AddCast(r) (r)
360 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
361 #endif
362 
363 
364 #include <string.h>
365 
366 #ifdef __cplusplus
367 extern "C" {
368 #endif
369 
370 typedef void *(*swig_converter_func)(void *, int *);
371 typedef struct swig_type_info *(*swig_dycast_func)(void **);
372 
373 /* Structure to store information on one type */
374 typedef struct swig_type_info {
375  const char *name; /* mangled name of this type */
376  const char *str; /* human readable name of this type */
377  swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
378  struct swig_cast_info *cast; /* linked list of types that can cast into this type */
379  void *clientdata; /* language specific type data */
380  int owndata; /* flag if the structure owns the clientdata */
382 
383 /* Structure to store a type and conversion function used for casting */
384 typedef struct swig_cast_info {
385  swig_type_info *type; /* pointer to type that is equivalent to this type */
386  swig_converter_func converter; /* function to cast the void pointers */
387  struct swig_cast_info *next; /* pointer to next cast in linked list */
388  struct swig_cast_info *prev; /* pointer to the previous cast */
390 
391 /* Structure used to store module information
392  * Each module generates one structure like this, and the runtime collects
393  * all of these structures and stores them in a circularly linked list.*/
394 typedef struct swig_module_info {
395  swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
396  size_t size; /* Number of types in this module */
397  struct swig_module_info *next; /* Pointer to next element in circularly linked list */
398  swig_type_info **type_initial; /* Array of initially generated type structures */
399  swig_cast_info **cast_initial; /* Array of initially generated casting structures */
400  void *clientdata; /* Language specific module data */
402 
403 /*
404  Compare two type names skipping the space characters, therefore
405  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
406 
407  Return 0 when the two name types are equivalent, as in
408  strncmp, but skipping ' '.
409 */
410 SWIGRUNTIME int
411 SWIG_TypeNameComp(const char *f1, const char *l1,
412  const char *f2, const char *l2) {
413  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
414  while ((*f1 == ' ') && (f1 != l1)) ++f1;
415  while ((*f2 == ' ') && (f2 != l2)) ++f2;
416  if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
417  }
418  return (int)((l1 - f1) - (l2 - f2));
419 }
420 
421 /*
422  Check type equivalence in a name list like <name1>|<name2>|...
423  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
424 */
425 SWIGRUNTIME int
426 SWIG_TypeCmp(const char *nb, const char *tb) {
427  int equiv = 1;
428  const char* te = tb + strlen(tb);
429  const char* ne = nb;
430  while (equiv != 0 && *ne) {
431  for (nb = ne; *ne; ++ne) {
432  if (*ne == '|') break;
433  }
434  equiv = SWIG_TypeNameComp(nb, ne, tb, te);
435  if (*ne) ++ne;
436  }
437  return equiv;
438 }
439 
440 /*
441  Check type equivalence in a name list like <name1>|<name2>|...
442  Return 0 if not equal, 1 if equal
443 */
444 SWIGRUNTIME int
445 SWIG_TypeEquiv(const char *nb, const char *tb) {
446  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
447 }
448 
449 /*
450  Check the typename
451 */
453 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
454  if (ty) {
455  swig_cast_info *iter = ty->cast;
456  while (iter) {
457  if (strcmp(iter->type->name, c) == 0) {
458  if (iter == ty->cast)
459  return iter;
460  /* Move iter to the top of the linked list */
461  iter->prev->next = iter->next;
462  if (iter->next)
463  iter->next->prev = iter->prev;
464  iter->next = ty->cast;
465  iter->prev = 0;
466  if (ty->cast) ty->cast->prev = iter;
467  ty->cast = iter;
468  return iter;
469  }
470  iter = iter->next;
471  }
472  }
473  return 0;
474 }
475 
476 /*
477  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
478 */
481  if (ty) {
482  swig_cast_info *iter = ty->cast;
483  while (iter) {
484  if (iter->type == from) {
485  if (iter == ty->cast)
486  return iter;
487  /* Move iter to the top of the linked list */
488  iter->prev->next = iter->next;
489  if (iter->next)
490  iter->next->prev = iter->prev;
491  iter->next = ty->cast;
492  iter->prev = 0;
493  if (ty->cast) ty->cast->prev = iter;
494  ty->cast = iter;
495  return iter;
496  }
497  iter = iter->next;
498  }
499  }
500  return 0;
501 }
502 
503 /*
504  Cast a pointer up an inheritance hierarchy
505 */
506 SWIGRUNTIMEINLINE void *
507 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
508  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
509 }
510 
511 /*
512  Dynamic pointer casting. Down an inheritance hierarchy
513 */
516  swig_type_info *lastty = ty;
517  if (!ty || !ty->dcast) return ty;
518  while (ty && (ty->dcast)) {
519  ty = (*ty->dcast)(ptr);
520  if (ty) lastty = ty;
521  }
522  return lastty;
523 }
524 
525 /*
526  Return the name associated with this type
527 */
528 SWIGRUNTIMEINLINE const char *
530  return ty->name;
531 }
532 
533 /*
534  Return the pretty name associated with this type,
535  that is an unmangled type name in a form presentable to the user.
536 */
537 SWIGRUNTIME const char *
539  /* The "str" field contains the equivalent pretty names of the
540  type, separated by vertical-bar characters. Choose the last
541  name. It should be the most specific; a fully resolved name
542  but not necessarily with default template parameters expanded. */
543  if (!type) return NULL;
544  if (type->str != NULL) {
545  const char *last_name = type->str;
546  const char *s;
547  for (s = type->str; *s; s++)
548  if (*s == '|') last_name = s+1;
549  return last_name;
550  }
551  else
552  return type->name;
553 }
554 
555 /*
556  Set the clientdata field for a type
557 */
558 SWIGRUNTIME void
560  swig_cast_info *cast = ti->cast;
561  /* if (ti->clientdata == clientdata) return; */
562  ti->clientdata = clientdata;
563 
564  while (cast) {
565  if (!cast->converter) {
566  swig_type_info *tc = cast->type;
567  if (!tc->clientdata) {
569  }
570  }
571  cast = cast->next;
572  }
573 }
574 SWIGRUNTIME void
577  ti->owndata = 1;
578 }
579 
580 /*
581  Search for a swig_type_info structure only by mangled name
582  Search is a O(log #types)
583 
584  We start searching at module start, and finish searching when start == end.
585  Note: if start == end at the beginning of the function, we go all the way around
586  the circular list.
587 */
590  swig_module_info *end,
591  const char *name) {
592  swig_module_info *iter = start;
593  do {
594  if (iter->size) {
595  size_t l = 0;
596  size_t r = iter->size - 1;
597  do {
598  /* since l+r >= 0, we can (>> 1) instead (/ 2) */
599  size_t i = (l + r) >> 1;
600  const char *iname = iter->types[i]->name;
601  if (iname) {
602  int compare = strcmp(name, iname);
603  if (compare == 0) {
604  return iter->types[i];
605  } else if (compare < 0) {
606  if (i) {
607  r = i - 1;
608  } else {
609  break;
610  }
611  } else if (compare > 0) {
612  l = i + 1;
613  }
614  } else {
615  break; /* should never happen */
616  }
617  } while (l <= r);
618  }
619  iter = iter->next;
620  } while (iter != end);
621  return 0;
622 }
623 
624 /*
625  Search for a swig_type_info structure for either a mangled name or a human readable name.
626  It first searches the mangled names of the types, which is a O(log #types)
627  If a type is not found it then searches the human readable names, which is O(#types).
628 
629  We start searching at module start, and finish searching when start == end.
630  Note: if start == end at the beginning of the function, we go all the way around
631  the circular list.
632 */
635  swig_module_info *end,
636  const char *name) {
637  /* STEP 1: Search the name field using binary search */
638  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
639  if (ret) {
640  return ret;
641  } else {
642  /* STEP 2: If the type hasn't been found, do a complete search
643  of the str field (the human readable name) */
644  swig_module_info *iter = start;
645  do {
646  size_t i = 0;
647  for (; i < iter->size; ++i) {
648  if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
649  return iter->types[i];
650  }
651  iter = iter->next;
652  } while (iter != end);
653  }
654 
655  /* neither found a match */
656  return 0;
657 }
658 
659 /*
660  Pack binary data into a string
661 */
662 SWIGRUNTIME char *
663 SWIG_PackData(char *c, void *ptr, size_t sz) {
664  static const char hex[17] = "0123456789abcdef";
665  const unsigned char *u = (unsigned char *) ptr;
666  const unsigned char *eu = u + sz;
667  for (; u != eu; ++u) {
668  unsigned char uu = *u;
669  *(c++) = hex[(uu & 0xf0) >> 4];
670  *(c++) = hex[uu & 0xf];
671  }
672  return c;
673 }
674 
675 /*
676  Unpack binary data from a string
677 */
678 SWIGRUNTIME const char *
679 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
680  unsigned char *u = (unsigned char *) ptr;
681  const unsigned char *eu = u + sz;
682  for (; u != eu; ++u) {
683  char d = *(c++);
684  unsigned char uu;
685  if ((d >= '0') && (d <= '9'))
686  uu = (unsigned char)((d - '0') << 4);
687  else if ((d >= 'a') && (d <= 'f'))
688  uu = (unsigned char)((d - ('a'-10)) << 4);
689  else
690  return (char *) 0;
691  d = *(c++);
692  if ((d >= '0') && (d <= '9'))
693  uu |= (unsigned char)(d - '0');
694  else if ((d >= 'a') && (d <= 'f'))
695  uu |= (unsigned char)(d - ('a'-10));
696  else
697  return (char *) 0;
698  *u = uu;
699  }
700  return c;
701 }
702 
703 /*
704  Pack 'void *' into a string buffer.
705 */
706 SWIGRUNTIME char *
707 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
708  char *r = buff;
709  if ((2*sizeof(void *) + 2) > bsz) return 0;
710  *(r++) = '_';
711  r = SWIG_PackData(r,&ptr,sizeof(void *));
712  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
713  strcpy(r,name);
714  return buff;
715 }
716 
717 SWIGRUNTIME const char *
718 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
719  if (*c != '_') {
720  if (strcmp(c,"NULL") == 0) {
721  *ptr = (void *) 0;
722  return name;
723  } else {
724  return 0;
725  }
726  }
727  return SWIG_UnpackData(++c,ptr,sizeof(void *));
728 }
729 
730 SWIGRUNTIME char *
731 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
732  char *r = buff;
733  size_t lname = (name ? strlen(name) : 0);
734  if ((2*sz + 2 + lname) > bsz) return 0;
735  *(r++) = '_';
736  r = SWIG_PackData(r,ptr,sz);
737  if (lname) {
738  strncpy(r,name,lname+1);
739  } else {
740  *r = 0;
741  }
742  return buff;
743 }
744 
745 SWIGRUNTIME const char *
746 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
747  if (*c != '_') {
748  if (strcmp(c,"NULL") == 0) {
749  memset(ptr,0,sz);
750  return name;
751  } else {
752  return 0;
753  }
754  }
755  return SWIG_UnpackData(++c,ptr,sz);
756 }
757 
758 #ifdef __cplusplus
759 }
760 #endif
761 /* Compatibility macros for Python 3 */
762 #if PY_VERSION_HEX >= 0x03000000
763 
764 #define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
765 #define PyInt_Check(x) PyLong_Check(x)
766 #define PyInt_AsLong(x) PyLong_AsLong(x)
767 #define PyInt_FromLong(x) PyLong_FromLong(x)
768 #define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
769 #define PyString_Check(name) PyBytes_Check(name)
770 #define PyString_FromString(x) PyUnicode_FromString(x)
771 #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
772 #define PyString_AsString(str) PyBytes_AsString(str)
773 #define PyString_Size(str) PyBytes_Size(str)
774 #define PyString_InternFromString(key) PyUnicode_InternFromString(key)
775 #define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE
776 #define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
777 
778 #endif
779 
780 /* SWIG APIs for compatibility of both Python 2 & 3 */
781 
782 #if PY_VERSION_HEX >= 0x03000000
783 # define SWIG_Python_str_FromFormat PyUnicode_FromFormat
784 #else
785 # define SWIG_Python_str_FromFormat PyString_FromFormat
786 #endif
787 
788 
789 /* Wrapper around PyUnicode_AsUTF8AndSize - call Py_XDECREF on the returned pbytes when finished with the returned string */
790 SWIGINTERN const char *
791 SWIG_PyUnicode_AsUTF8AndSize(PyObject *str, Py_ssize_t *psize, PyObject **pbytes)
792 {
793 #if PY_VERSION_HEX >= 0x03030000
794 # if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
795  *pbytes = NULL;
796  return PyUnicode_AsUTF8AndSize(str, psize);
797 # else
798  const char *chars;
799  *pbytes = PyUnicode_AsUTF8String(str);
800  chars = *pbytes ? PyBytes_AsString(*pbytes) : NULL;
801  if (chars && psize)
802  *psize = PyBytes_Size(*pbytes);
803  return chars;
804 # endif
805 #else
806  char *chars = NULL;
807  *pbytes = NULL;
808  PyString_AsStringAndSize(str, &chars, psize);
809  return chars;
810 #endif
811 }
812 
813 SWIGINTERN PyObject*
815 {
816 #if PY_VERSION_HEX >= 0x03000000
817  return PyUnicode_FromString(c);
818 #else
819  return PyString_FromString(c);
820 #endif
821 }
822 
823 /* SWIGPY_USE_CAPSULE is no longer used within SWIG itself, but some user interface files check for it. */
824 # define SWIGPY_USE_CAPSULE
825 #ifdef SWIGPYTHON_BUILTIN
826 # define SWIGPY_CAPSULE_ATTR_NAME "type_pointer_capsule_builtin" SWIG_TYPE_TABLE_NAME
827 #else
828 # define SWIGPY_CAPSULE_ATTR_NAME "type_pointer_capsule" SWIG_TYPE_TABLE_NAME
829 #endif
830 # define SWIGPY_CAPSULE_NAME ("swig_runtime_data" SWIG_RUNTIME_VERSION "." SWIGPY_CAPSULE_ATTR_NAME)
831 
832 #if PY_VERSION_HEX < 0x03020000
833 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
834 #define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name)
835 #define Py_hash_t long
836 #endif
837 
838 #ifdef Py_LIMITED_API
839 # define PyTuple_GET_ITEM PyTuple_GetItem
840 /* Note that PyTuple_SetItem() has different semantics from PyTuple_SET_ITEM as it decref's the original tuple item, so in general they cannot be used
841  interchangeably. However in SWIG-generated code PyTuple_SET_ITEM is only used with newly initialized tuples without any items and for them this does work. */
842 # define PyTuple_SET_ITEM PyTuple_SetItem
843 # define PyTuple_GET_SIZE PyTuple_Size
844 # define PyCFunction_GET_FLAGS PyCFunction_GetFlags
845 # define PyCFunction_GET_FUNCTION PyCFunction_GetFunction
846 # define PyCFunction_GET_SELF PyCFunction_GetSelf
847 # define PyList_GET_ITEM PyList_GetItem
848 # define PyList_SET_ITEM PyList_SetItem
849 # define PySliceObject PyObject
850 #endif
851 
852 /* Increment and Decrement wrappers - for portability when using the stable abi and for performance otherwise */
853 #ifdef Py_LIMITED_API
854 # define SWIG_Py_INCREF Py_IncRef
855 # define SWIG_Py_XINCREF Py_IncRef
856 # define SWIG_Py_DECREF Py_DecRef
857 # define SWIG_Py_XDECREF Py_DecRef
858 #else
859 # define SWIG_Py_INCREF Py_INCREF
860 # define SWIG_Py_XINCREF Py_XINCREF
861 # define SWIG_Py_DECREF Py_DECREF
862 # define SWIG_Py_XDECREF Py_XDECREF
863 #endif
864 /* -----------------------------------------------------------------------------
865  * error manipulation
866  * ----------------------------------------------------------------------------- */
867 
868 SWIGRUNTIME PyObject*
870  PyObject* type = 0;
871  switch(code) {
872  case SWIG_MemoryError:
873  type = PyExc_MemoryError;
874  break;
875  case SWIG_IOError:
876  type = PyExc_IOError;
877  break;
878  case SWIG_RuntimeError:
879  type = PyExc_RuntimeError;
880  break;
881  case SWIG_IndexError:
882  type = PyExc_IndexError;
883  break;
884  case SWIG_TypeError:
885  type = PyExc_TypeError;
886  break;
887  case SWIG_DivisionByZero:
888  type = PyExc_ZeroDivisionError;
889  break;
890  case SWIG_OverflowError:
891  type = PyExc_OverflowError;
892  break;
893  case SWIG_SyntaxError:
894  type = PyExc_SyntaxError;
895  break;
896  case SWIG_ValueError:
897  type = PyExc_ValueError;
898  break;
899  case SWIG_SystemError:
900  type = PyExc_SystemError;
901  break;
902  case SWIG_AttributeError:
903  type = PyExc_AttributeError;
904  break;
906  type = PyExc_TypeError;
907  break;
908  default:
909  type = PyExc_RuntimeError;
910  }
911  return type;
912 }
913 
914 
915 SWIGRUNTIME void
916 SWIG_Python_AddErrorMsg(const char* mesg)
917 {
918  PyObject *type = 0;
919  PyObject *value = 0;
920  PyObject *traceback = 0;
921 
922  if (PyErr_Occurred())
923  PyErr_Fetch(&type, &value, &traceback);
924  if (value) {
925  PyObject *old_str = PyObject_Str(value);
926  PyObject *bytes = NULL;
927  const char *tmp = SWIG_PyUnicode_AsUTF8AndSize(old_str, NULL, &bytes);
928  PyErr_Clear();
929  SWIG_Py_XINCREF(type);
930  if (tmp)
931  PyErr_Format(type, "%s %s", tmp, mesg);
932  else
933  PyErr_Format(type, "%s", mesg);
934  SWIG_Py_XDECREF(bytes);
935  SWIG_Py_DECREF(old_str);
936  SWIG_Py_DECREF(value);
937  } else {
938  PyErr_SetString(PyExc_RuntimeError, mesg);
939  }
940 }
941 
942 SWIGRUNTIME int
944 {
945  PyObject *error;
946  if (obj)
947  return 0;
948  error = PyErr_Occurred();
949  return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
950 }
951 
952 SWIGRUNTIME void
954 {
955  if (SWIG_Python_TypeErrorOccurred(NULL)) {
956  /* Use existing TypeError to preserve stacktrace and enhance with given message */
957  PyObject *newvalue;
958  PyObject *type = NULL, *value = NULL, *traceback = NULL;
959  PyErr_Fetch(&type, &value, &traceback);
960 #if PY_VERSION_HEX >= 0x03000000
961  newvalue = PyUnicode_FromFormat("%S\nAdditional information:\n%s", value, message);
962 #else
963  newvalue = PyString_FromFormat("%s\nAdditional information:\n%s", PyString_AsString(value), message);
964 #endif
965  if (newvalue) {
966  SWIG_Py_XDECREF(value);
967  PyErr_Restore(type, newvalue, traceback);
968  } else {
969  PyErr_Restore(type, value, traceback);
970  }
971  } else {
972  /* Raise TypeError using given message */
973  PyErr_SetString(PyExc_TypeError, message);
974  }
975 }
976 #if defined(SWIG_PYTHON_NO_THREADS)
977 # if defined(SWIG_PYTHON_THREADS)
978 # undef SWIG_PYTHON_THREADS
979 # endif
980 #endif
981 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
982 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
983 # define SWIG_PYTHON_USE_GIL
984 # endif
985 # if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
986 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
987 # if PY_VERSION_HEX < 0x03070000
988 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
989 # else
990 # define SWIG_PYTHON_INITIALIZE_THREADS
991 # endif
992 # endif
993 # ifdef __cplusplus /* C++ code */
994  class SWIG_Python_Thread_Block {
995  bool status;
996  PyGILState_STATE state;
997  public:
998  void end() { if (status) { PyGILState_Release(state); status = false;} }
999  SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
1000  ~SWIG_Python_Thread_Block() { end(); }
1001  };
1002  class SWIG_Python_Thread_Allow {
1003  bool status;
1004  PyThreadState *save;
1005  public:
1006  void end() { if (status) { status = false; PyEval_RestoreThread(save); }}
1007  SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
1008  ~SWIG_Python_Thread_Allow() { end(); }
1009  };
1010 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
1011 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
1012 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
1013 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
1014 # else /* C code */
1015 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1016 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
1017 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1018 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
1019 # endif
1020 # else /* Old thread way, not implemented, user must provide it */
1021 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
1022 # define SWIG_PYTHON_INITIALIZE_THREADS
1023 # endif
1024 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
1025 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1026 # endif
1027 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
1028 # define SWIG_PYTHON_THREAD_END_BLOCK
1029 # endif
1030 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
1031 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1032 # endif
1033 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
1034 # define SWIG_PYTHON_THREAD_END_ALLOW
1035 # endif
1036 # endif
1037 #else /* No thread support */
1038 # define SWIG_PYTHON_INITIALIZE_THREADS
1039 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1040 # define SWIG_PYTHON_THREAD_END_BLOCK
1041 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1042 # define SWIG_PYTHON_THREAD_END_ALLOW
1043 #endif
1044 /* -----------------------------------------------------------------------------
1045  * Python API portion that goes into the runtime
1046  * ----------------------------------------------------------------------------- */
1047 
1048 #ifdef __cplusplus
1049 extern "C" {
1050 #endif
1051 
1052 /* -----------------------------------------------------------------------------
1053  * Constant declarations
1054  * ----------------------------------------------------------------------------- */
1055 
1056 /* Constant Types */
1057 #define SWIG_PY_POINTER 4
1058 #define SWIG_PY_BINARY 5
1059 
1060 /* Constant information structure */
1061 typedef struct swig_const_info {
1062  int type;
1063  const char *name;
1064  long lvalue;
1065  double dvalue;
1066  void *pvalue;
1068 } swig_const_info;
1069 
1070 #ifdef __cplusplus
1071 }
1072 #endif
1073 
1074 /* -----------------------------------------------------------------------------
1075  * pyrun.swg
1076  *
1077  * This file contains the runtime support for Python modules
1078  * and includes code for managing global variables and pointer
1079  * type checking.
1080  *
1081  * ----------------------------------------------------------------------------- */
1082 
1083 #if PY_VERSION_HEX < 0x02070000 /* 2.7.0 */
1084 # error "This version of SWIG only supports Python >= 2.7"
1085 #endif
1086 
1087 #if PY_VERSION_HEX >= 0x03000000 && PY_VERSION_HEX < 0x03030000
1088 # error "This version of SWIG only supports Python 3 >= 3.3"
1089 #endif
1090 
1091 /* Common SWIG API */
1092 
1093 /* for raw pointers */
1094 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1095 #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
1096 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1097 
1098 #ifdef SWIGPYTHON_BUILTIN
1099 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags)
1100 #else
1101 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1102 #endif
1103 
1104 #define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1105 
1106 #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
1107 #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
1108 #define swig_owntype int
1109 
1110 /* for raw packed data */
1111 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1112 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1113 
1114 /* for class or struct pointers */
1115 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
1116 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
1117 
1118 /* for C or C++ function pointers */
1119 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1120 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0)
1121 
1122 /* for C++ member pointers, ie, member methods */
1123 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1124 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1125 
1126 
1127 /* Runtime API */
1128 
1129 #define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata)
1130 #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
1131 #define SWIG_NewClientData(obj) SwigPyClientData_New(obj)
1132 
1133 #define SWIG_SetErrorObj SWIG_Python_SetErrorObj
1134 #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
1135 #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
1136 #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1137 #define SWIG_fail goto fail
1138 
1139 
1140 /* Runtime API implementation */
1141 
1142 /* Error manipulation */
1143 
1144 SWIGINTERN void
1145 SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1147  PyErr_SetObject(errtype, obj);
1148  SWIG_Py_DECREF(obj);
1150 }
1151 
1152 SWIGINTERN void
1153 SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1155  PyErr_SetString(errtype, msg);
1157 }
1158 
1159 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1160 
1161 /* Set a constant value */
1162 
1163 #if defined(SWIGPYTHON_BUILTIN)
1164 
1165 SWIGINTERN void
1166 SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) {
1167  PyObject *s = PyString_InternFromString(key);
1168  PyList_Append(seq, s);
1169  SWIG_Py_DECREF(s);
1170 }
1171 
1172 SWIGINTERN void
1173 SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) {
1174  PyDict_SetItemString(d, name, obj);
1175  SWIG_Py_DECREF(obj);
1176  if (public_interface)
1177  SwigPyBuiltin_AddPublicSymbol(public_interface, name);
1178 }
1179 
1180 #else
1181 
1182 SWIGINTERN void
1183 SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1184  PyDict_SetItemString(d, name, obj);
1185  SWIG_Py_DECREF(obj);
1186 }
1187 
1188 #endif
1189 
1190 /* Append a value to the result obj */
1191 
1192 SWIGINTERN PyObject*
1193 SWIG_Python_AppendOutput(PyObject* result, PyObject* obj, int is_void) {
1194  if (!result) {
1195  result = obj;
1196  } else if (result == Py_None && is_void) {
1197  SWIG_Py_DECREF(result);
1198  result = obj;
1199  } else {
1200  if (!PyList_Check(result)) {
1201  PyObject *o2 = result;
1202  result = PyList_New(1);
1203  if (result) {
1204  PyList_SET_ITEM(result, 0, o2);
1205  } else {
1206  SWIG_Py_DECREF(obj);
1207  return o2;
1208  }
1209  }
1210  PyList_Append(result,obj);
1211  SWIG_Py_DECREF(obj);
1212  }
1213  return result;
1214 }
1215 
1216 /* Unpack the argument tuple */
1217 
1218 SWIGINTERN Py_ssize_t
1219 SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1220 {
1221  if (!args) {
1222  if (!min && !max) {
1223  return 1;
1224  } else {
1225  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1226  name, (min == max ? "" : "at least "), (int)min);
1227  return 0;
1228  }
1229  }
1230  if (!PyTuple_Check(args)) {
1231  if (min <= 1 && max >= 1) {
1232  Py_ssize_t i;
1233  objs[0] = args;
1234  for (i = 1; i < max; ++i) {
1235  objs[i] = 0;
1236  }
1237  return 2;
1238  }
1239  PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1240  return 0;
1241  } else {
1242  Py_ssize_t l = PyTuple_GET_SIZE(args);
1243  if (l < min) {
1244  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1245  name, (min == max ? "" : "at least "), (int)min, (int)l);
1246  return 0;
1247  } else if (l > max) {
1248  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1249  name, (min == max ? "" : "at most "), (int)max, (int)l);
1250  return 0;
1251  } else {
1252  Py_ssize_t i;
1253  for (i = 0; i < l; ++i) {
1254  objs[i] = PyTuple_GET_ITEM(args, i);
1255  }
1256  for (; l < max; ++l) {
1257  objs[l] = 0;
1258  }
1259  return i + 1;
1260  }
1261  }
1262 }
1263 
1264 SWIGINTERN int
1265 SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name) {
1266  int no_kwargs = 1;
1267  if (kwargs) {
1268  assert(PyDict_Check(kwargs));
1269  if (PyDict_Size(kwargs) > 0) {
1270  PyErr_Format(PyExc_TypeError, "%s() does not take keyword arguments", name);
1271  no_kwargs = 0;
1272  }
1273  }
1274  return no_kwargs;
1275 }
1276 
1277 /* A functor is a function object with one single object argument */
1278 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
1279 
1280 /*
1281  Helper for static pointer initialization for both C and C++ code, for example
1282  static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1283 */
1284 #ifdef __cplusplus
1285 #define SWIG_STATIC_POINTER(var) var
1286 #else
1287 #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1288 #endif
1289 
1290 #ifdef __cplusplus
1291 extern "C" {
1292 #endif
1293 
1294 /* Python-specific SWIG API */
1295 #define SWIG_newvarlink() SWIG_Python_newvarlink()
1296 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
1297 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
1298 
1299 /* -----------------------------------------------------------------------------
1300  * global variable support code.
1301  * ----------------------------------------------------------------------------- */
1302 
1303 typedef struct swig_globalvar {
1304  char *name; /* Name of global variable */
1305  PyObject *(*get_attr)(void); /* Return the current value */
1306  int (*set_attr)(PyObject *); /* Set the value */
1308 } swig_globalvar;
1309 
1310 typedef struct swig_varlinkobject {
1311  PyObject_HEAD
1314 
1315 SWIGINTERN PyObject *
1317 #if PY_VERSION_HEX >= 0x03000000
1318  return PyUnicode_InternFromString("<Swig global variables>");
1319 #else
1320  return PyString_FromString("<Swig global variables>");
1321 #endif
1322 }
1323 
1324 SWIGINTERN PyObject *
1325 swig_varlink_str(PyObject *o) {
1327 #if PY_VERSION_HEX >= 0x03000000
1328  PyObject *str = PyUnicode_InternFromString("(");
1329  PyObject *tail;
1330  PyObject *joined;
1331  swig_globalvar *var;
1332  for (var = v->vars; var; var=var->next) {
1333  tail = PyUnicode_FromString(var->name);
1334  joined = PyUnicode_Concat(str, tail);
1335  SWIG_Py_DECREF(str);
1336  SWIG_Py_DECREF(tail);
1337  str = joined;
1338  if (var->next) {
1339  tail = PyUnicode_InternFromString(", ");
1340  joined = PyUnicode_Concat(str, tail);
1341  SWIG_Py_DECREF(str);
1342  SWIG_Py_DECREF(tail);
1343  str = joined;
1344  }
1345  }
1346  tail = PyUnicode_InternFromString(")");
1347  joined = PyUnicode_Concat(str, tail);
1348  SWIG_Py_DECREF(str);
1349  SWIG_Py_DECREF(tail);
1350  str = joined;
1351 #else
1352  PyObject *str = PyString_FromString("(");
1353  swig_globalvar *var;
1354  for (var = v->vars; var; var=var->next) {
1355  PyString_ConcatAndDel(&str,PyString_FromString(var->name));
1356  if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
1357  }
1358  PyString_ConcatAndDel(&str,PyString_FromString(")"));
1359 #endif
1360  return str;
1361 }
1362 
1363 SWIGINTERN void
1364 swig_varlink_dealloc(PyObject *o) {
1366  swig_globalvar *var = v->vars;
1367  while (var) {
1368  swig_globalvar *n = var->next;
1369  free(var->name);
1370  free(var);
1371  var = n;
1372  }
1373 }
1374 
1375 SWIGINTERN PyObject *
1376 swig_varlink_getattr(PyObject *o, char *n) {
1378  PyObject *res = NULL;
1379  swig_globalvar *var = v->vars;
1380  while (var) {
1381  if (strcmp(var->name,n) == 0) {
1382  res = (*var->get_attr)();
1383  break;
1384  }
1385  var = var->next;
1386  }
1387  if (res == NULL && !PyErr_Occurred()) {
1388  PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
1389  }
1390  return res;
1391 }
1392 
1393 SWIGINTERN int
1394 swig_varlink_setattr(PyObject *o, char *n, PyObject *p) {
1396  int res = 1;
1397  swig_globalvar *var = v->vars;
1398  while (var) {
1399  if (strcmp(var->name,n) == 0) {
1400  res = (*var->set_attr)(p);
1401  break;
1402  }
1403  var = var->next;
1404  }
1405  if (res == 1 && !PyErr_Occurred()) {
1406  PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
1407  }
1408  return res;
1409 }
1410 
1411 SWIGINTERN PyTypeObject*
1413  static char varlink__doc__[] = "Swig var link object";
1414 #ifndef SWIG_HEAPTYPES
1415  static PyTypeObject varlink_type;
1416  static int type_init = 0;
1417  if (!type_init) {
1418  const PyTypeObject tmp = {
1419 #if PY_VERSION_HEX >= 0x03000000
1420  PyVarObject_HEAD_INIT(NULL, 0)
1421 #else
1422  PyObject_HEAD_INIT(NULL)
1423  0, /* ob_size */
1424 #endif
1425  "swigvarlink", /* tp_name */
1426  sizeof(swig_varlinkobject), /* tp_basicsize */
1427  0, /* tp_itemsize */
1428  (destructor) swig_varlink_dealloc, /* tp_dealloc */
1429 #if PY_VERSION_HEX < 0x030800b4
1430  (printfunc)0, /* tp_print */
1431 #else
1432  (Py_ssize_t)0, /* tp_vectorcall_offset */
1433 #endif
1434  (getattrfunc) swig_varlink_getattr, /* tp_getattr */
1435  (setattrfunc) swig_varlink_setattr, /* tp_setattr */
1436  0, /* tp_compare */
1437  (reprfunc) swig_varlink_repr, /* tp_repr */
1438  0, /* tp_as_number */
1439  0, /* tp_as_sequence */
1440  0, /* tp_as_mapping */
1441  0, /* tp_hash */
1442  0, /* tp_call */
1443  (reprfunc) swig_varlink_str, /* tp_str */
1444  0, /* tp_getattro */
1445  0, /* tp_setattro */
1446  0, /* tp_as_buffer */
1447  0, /* tp_flags */
1448  varlink__doc__, /* tp_doc */
1449  0, /* tp_traverse */
1450  0, /* tp_clear */
1451  0, /* tp_richcompare */
1452  0, /* tp_weaklistoffset */
1453  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
1454  0, /* tp_del */
1455  0, /* tp_version_tag */
1456 #if PY_VERSION_HEX >= 0x03040000
1457  0, /* tp_finalize */
1458 #endif
1459 #if PY_VERSION_HEX >= 0x03080000
1460  0, /* tp_vectorcall */
1461 #endif
1462 #if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
1463  0, /* tp_print */
1464 #endif
1465 #if PY_VERSION_HEX >= 0x030c0000
1466  0, /* tp_watched */
1467 #endif
1468 #if PY_VERSION_HEX >= 0x030d00a4
1469  0, /* tp_versions_used */
1470 #endif
1471 #ifdef COUNT_ALLOCS
1472  0, /* tp_allocs */
1473  0, /* tp_frees */
1474  0, /* tp_maxalloc */
1475  0, /* tp_prev */
1476  0 /* tp_next */
1477 #endif
1478  };
1479  varlink_type = tmp;
1480  type_init = 1;
1481  if (PyType_Ready(&varlink_type) < 0)
1482  return NULL;
1483  }
1484  return &varlink_type;
1485 #else
1486  PyType_Slot slots[] = {
1487  { Py_tp_dealloc, (void *)swig_varlink_dealloc },
1488  { Py_tp_repr, (void *)swig_varlink_repr },
1489  { Py_tp_getattr, (void *)swig_varlink_getattr },
1490  { Py_tp_setattr, (void *)swig_varlink_setattr },
1491  { Py_tp_str, (void *)swig_varlink_str },
1492  { Py_tp_doc, (void *)varlink__doc__ },
1493  { 0, NULL }
1494  };
1495  PyType_Spec spec = {
1496  "swigvarlink",
1497  sizeof(swig_varlinkobject),
1498  0,
1499  Py_TPFLAGS_DEFAULT,
1500  slots
1501  };
1502  return (PyTypeObject *)PyType_FromSpec(&spec);
1503 #endif
1504 }
1505 
1506 /* Create a variable linking object for use later */
1507 SWIGINTERN PyObject *
1509  swig_varlinkobject *result = PyObject_New(swig_varlinkobject, swig_varlink_type());
1510  if (result) {
1511  result->vars = 0;
1512  }
1513  return ((PyObject*) result);
1514 }
1515 
1516 SWIGINTERN void
1517 SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
1519  swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
1520  if (gv) {
1521  size_t size = strlen(name)+1;
1522  gv->name = (char *)malloc(size);
1523  if (gv->name) {
1524  memcpy(gv->name, name, size);
1525  gv->get_attr = get_attr;
1526  gv->set_attr = set_attr;
1527  gv->next = v->vars;
1528  }
1529  }
1530  v->vars = gv;
1531 }
1532 
1533 
1534 static PyObject *Swig_Globals_global = NULL;
1535 
1536 SWIGINTERN PyObject *
1538  if (Swig_Globals_global == NULL) {
1540  }
1541  return Swig_Globals_global;
1542 }
1543 
1544 #ifdef __cplusplus
1545 }
1546 #endif
1547 
1548 /* -----------------------------------------------------------------------------
1549  * Pointer declarations
1550  * ----------------------------------------------------------------------------- */
1551 
1552 /* Flags for new pointer objects */
1553 #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
1554 #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1555 
1556 #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1557 
1558 #define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2)
1559 #define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN)
1560 
1561 #ifdef __cplusplus
1562 extern "C" {
1563 #endif
1564 
1565 /* The python void return value */
1566 
1567 SWIGRUNTIMEINLINE PyObject *
1569 {
1570  PyObject *none = Py_None;
1571  SWIG_Py_INCREF(none);
1572  return none;
1573 }
1574 
1575 /* SwigPyClientData */
1576 
1577 typedef struct {
1578  PyObject *klass;
1579  PyObject *newraw;
1580  PyObject *newargs;
1581  PyObject *destroy;
1582  int delargs;
1584  PyTypeObject *pytype;
1586 
1587 SWIGRUNTIMEINLINE int
1589 {
1591  int fail = data ? data->implicitconv : 0;
1592  if (fail)
1593  PyErr_SetString(PyExc_TypeError, "Implicit conversion is prohibited for explicit constructors.");
1594  return fail;
1595 }
1596 
1597 SWIGRUNTIMEINLINE PyObject *
1599  SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
1600  PyObject *klass = data ? data->klass : 0;
1601  return (klass ? klass : PyExc_RuntimeError);
1602 }
1603 
1604 
1606 SwigPyClientData_New(PyObject* obj)
1607 {
1608  if (!obj) {
1609  return 0;
1610  } else {
1611  SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData));
1612  /* the klass element */
1613  data->klass = obj;
1614  SWIG_Py_INCREF(data->klass);
1615  /* the newraw method and newargs arguments used to create a new raw instance */
1616  if (PyClass_Check(obj)) {
1617  data->newraw = 0;
1618  SWIG_Py_INCREF(obj);
1619  data->newargs = obj;
1620  } else {
1621  data->newraw = PyObject_GetAttrString(data->klass, "__new__");
1622  if (data->newraw) {
1623  data->newargs = PyTuple_New(1);
1624  if (data->newargs) {
1625  SWIG_Py_INCREF(obj);
1626  PyTuple_SET_ITEM(data->newargs, 0, obj);
1627  } else {
1628  SWIG_Py_DECREF(data->newraw);
1629  SWIG_Py_DECREF(data->klass);
1630  free(data);
1631  return 0;
1632  }
1633  } else {
1634  SWIG_Py_INCREF(obj);
1635  data->newargs = obj;
1636  }
1637  }
1638  /* the destroy method, aka as the C++ delete method */
1639  data->destroy = PyObject_GetAttrString(data->klass, "__swig_destroy__");
1640  if (PyErr_Occurred()) {
1641  PyErr_Clear();
1642  data->destroy = 0;
1643  }
1644  if (data->destroy) {
1645  data->delargs = !(PyCFunction_GET_FLAGS(data->destroy) & METH_O);
1646  } else {
1647  data->delargs = 0;
1648  }
1649  data->implicitconv = 0;
1650  data->pytype = 0;
1651  return data;
1652  }
1653 }
1654 
1655 SWIGRUNTIME void
1657 {
1658  SWIG_Py_XDECREF(data->klass);
1659  SWIG_Py_XDECREF(data->newraw);
1660  SWIG_Py_XDECREF(data->newargs);
1661  SWIG_Py_XDECREF(data->destroy);
1662  free(data);
1663 }
1664 
1665 /* =============== SwigPyObject =====================*/
1666 
1667 typedef struct {
1668  PyObject_HEAD
1669  void *ptr;
1671  int own;
1672  PyObject *next;
1673 #ifdef SWIGPYTHON_BUILTIN
1674  PyObject *dict;
1675 #endif
1676 } SwigPyObject;
1677 
1678 
1679 #ifdef SWIGPYTHON_BUILTIN
1680 
1681 SWIGRUNTIME PyObject *
1682 SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1683 {
1684  SwigPyObject *sobj = (SwigPyObject *)v;
1685 
1686  if (!sobj->dict)
1687  sobj->dict = PyDict_New();
1688 
1689  SWIG_Py_XINCREF(sobj->dict);
1690  return sobj->dict;
1691 }
1692 
1693 #endif
1694 
1695 SWIGRUNTIME PyObject *
1697 {
1698  return PyLong_FromVoidPtr(v->ptr);
1699 }
1700 
1701 SWIGRUNTIME PyObject *
1702 SwigPyObject_format(const char* fmt, SwigPyObject *v)
1703 {
1704  PyObject *res = NULL;
1705  PyObject *args = PyTuple_New(1);
1706  if (args) {
1707  PyObject *val = SwigPyObject_long(v);
1708  if (val) {
1709  PyObject *ofmt;
1710  PyTuple_SET_ITEM(args, 0, val);
1711  ofmt = SWIG_Python_str_FromChar(fmt);
1712  if (ofmt) {
1713 #if PY_VERSION_HEX >= 0x03000000
1714  res = PyUnicode_Format(ofmt,args);
1715 #else
1716  res = PyString_Format(ofmt,args);
1717 #endif
1718  SWIG_Py_DECREF(ofmt);
1719  }
1720  }
1721  SWIG_Py_DECREF(args);
1722  }
1723  return res;
1724 }
1725 
1726 SWIGRUNTIME PyObject *
1728 {
1729  return SwigPyObject_format("%o",v);
1730 }
1731 
1732 SWIGRUNTIME PyObject *
1734 {
1735  return SwigPyObject_format("%x",v);
1736 }
1737 
1738 SWIGRUNTIME PyObject *
1740 {
1741  const char *name = SWIG_TypePrettyName(v->ty);
1742  PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", (name ? name : "unknown"), (void *)v);
1743  if (repr && v->next) {
1744  PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
1745  if (nrep) {
1746 # if PY_VERSION_HEX >= 0x03000000
1747  PyObject *joined = PyUnicode_Concat(repr, nrep);
1748  SWIG_Py_DECREF(repr);
1749  SWIG_Py_DECREF(nrep);
1750  repr = joined;
1751 # else
1752  PyString_ConcatAndDel(&repr,nrep);
1753 # endif
1754  } else {
1755  SWIG_Py_DECREF(repr);
1756  repr = NULL;
1757  }
1758  }
1759  return repr;
1760 }
1761 
1762 /* We need a version taking two PyObject* parameters so it's a valid
1763  * PyCFunction to use in swigobject_methods[]. */
1764 SWIGRUNTIME PyObject *
1765 SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1766 {
1767  return SwigPyObject_repr((SwigPyObject*)v);
1768 }
1769 
1770 SWIGRUNTIME int
1772 {
1773  void *i = v->ptr;
1774  void *j = w->ptr;
1775  return (i < j) ? -1 : ((i > j) ? 1 : 0);
1776 }
1777 
1778 /* Added for Python 3.x, would it also be useful for Python 2.x? */
1779 SWIGRUNTIME PyObject*
1781 {
1782  PyObject* res = NULL;
1783  if (!PyErr_Occurred()) {
1784  if (op != Py_EQ && op != Py_NE) {
1785  SWIG_Py_INCREF(Py_NotImplemented);
1786  return Py_NotImplemented;
1787  }
1788  res = PyBool_FromLong( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) ? 1 : 0);
1789  }
1790  return res;
1791 }
1792 
1793 
1794 SWIGRUNTIME PyTypeObject* SwigPyObject_TypeOnce(void);
1795 
1796 #ifdef SWIGPYTHON_BUILTIN
1797 static swig_type_info *SwigPyObject_stype = 0;
1798 SWIGRUNTIME PyTypeObject*
1799 SwigPyObject_type(void) {
1800  SwigPyClientData *cd;
1801  assert(SwigPyObject_stype);
1802  cd = (SwigPyClientData*) SwigPyObject_stype->clientdata;
1803  assert(cd);
1804  assert(cd->pytype);
1805  return cd->pytype;
1806 }
1807 #else
1808 SWIGRUNTIME PyTypeObject*
1810  static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyObject_TypeOnce();
1811  return type;
1812 }
1813 #endif
1814 
1816 SwigPyObject_Check(PyObject *op) {
1817  PyTypeObject *target_tp = SwigPyObject_type();
1818  PyTypeObject *op_type = Py_TYPE(op);
1819 #ifdef SWIGPYTHON_BUILTIN
1820  if (PyType_IsSubtype(op_type, target_tp))
1821  return 1;
1822  return (strcmp(op_type->tp_name, "SwigPyObject") == 0);
1823 #else
1824 # ifdef Py_LIMITED_API
1825  int cmp;
1826  PyObject *tp_name;
1827 #endif
1828  if (op_type == target_tp)
1829  return 1;
1830 # ifdef Py_LIMITED_API
1831  tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__");
1832  if (!tp_name)
1833  return 0;
1834  cmp = PyUnicode_CompareWithASCIIString(tp_name, "SwigPyObject");
1835  SWIG_Py_DECREF(tp_name);
1836  return cmp == 0;
1837 # else
1838  return (strcmp(op_type->tp_name, "SwigPyObject") == 0);
1839 # endif
1840 #endif
1841 }
1842 
1843 SWIGRUNTIME PyObject *
1844 SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
1845 
1846 static PyObject* Swig_Capsule_global = NULL;
1847 
1848 SWIGRUNTIME void
1850 {
1851  SwigPyObject *sobj = (SwigPyObject *) v;
1852  PyObject *next = sobj->next;
1853  if (sobj->own == SWIG_POINTER_OWN) {
1854  swig_type_info *ty = sobj->ty;
1855  SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
1856  PyObject *destroy = data ? data->destroy : 0;
1857  if (destroy) {
1858  /* destroy is always a VARARGS method */
1859  PyObject *res;
1860 
1861  /* PyObject_CallFunction() has the potential to silently drop
1862  the active exception. In cases of unnamed temporary
1863  variable or where we just finished iterating over a generator
1864  StopIteration will be active right now, and this needs to
1865  remain true upon return from SwigPyObject_dealloc. So save
1866  and restore. */
1867 
1868  PyObject *type = NULL, *value = NULL, *traceback = NULL;
1869  PyErr_Fetch(&type, &value, &traceback);
1870 
1871  if (data->delargs) {
1872  /* we need to create a temporary object to carry the destroy operation */
1873  PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
1874  if (tmp) {
1875  res = SWIG_Python_CallFunctor(destroy, tmp);
1876  } else {
1877  res = 0;
1878  }
1879  SWIG_Py_XDECREF(tmp);
1880  } else {
1881  PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1882  PyObject *mself = PyCFunction_GET_SELF(destroy);
1883  res = ((*meth)(mself, v));
1884  }
1885  if (!res)
1886  PyErr_WriteUnraisable(destroy);
1887 
1888  PyErr_Restore(type, value, traceback);
1889 
1890  SWIG_Py_XDECREF(res);
1891  }
1892 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1893  else {
1894  const char *name = SWIG_TypePrettyName(ty);
1895  printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1896  }
1897 #endif
1899  }
1900  SWIG_Py_XDECREF(next);
1901 #ifdef SWIGPYTHON_BUILTIN
1902  SWIG_Py_XDECREF(sobj->dict);
1903 #endif
1904  PyObject_Free(v);
1905 }
1906 
1907 SWIGRUNTIME PyObject*
1908 SwigPyObject_append(PyObject* v, PyObject* next)
1909 {
1910  SwigPyObject *sobj = (SwigPyObject *) v;
1911  if (!SwigPyObject_Check(next)) {
1912  PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
1913  return NULL;
1914  }
1915  ((SwigPyObject *)next)->next = sobj->next;
1916  sobj->next = next;
1917  SWIG_Py_INCREF(next);
1918  return SWIG_Py_Void();
1919 }
1920 
1921 SWIGRUNTIME PyObject*
1922 SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1923 {
1924  SwigPyObject *sobj = (SwigPyObject *) v;
1925  if (sobj->next) {
1926  SWIG_Py_INCREF(sobj->next);
1927  return sobj->next;
1928  } else {
1929  return SWIG_Py_Void();
1930  }
1931 }
1932 
1933 SWIGINTERN PyObject*
1934 SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1935 {
1936  SwigPyObject *sobj = (SwigPyObject *)v;
1937  sobj->own = 0;
1938  return SWIG_Py_Void();
1939 }
1940 
1941 SWIGINTERN PyObject*
1942 SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1943 {
1944  SwigPyObject *sobj = (SwigPyObject *)v;
1945  sobj->own = SWIG_POINTER_OWN;
1946  return SWIG_Py_Void();
1947 }
1948 
1949 SWIGINTERN PyObject*
1950 SwigPyObject_own(PyObject *v, PyObject *args)
1951 {
1952  PyObject *val = 0;
1953  if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) {
1954  return NULL;
1955  } else {
1956  SwigPyObject *sobj = (SwigPyObject *)v;
1957  PyObject *obj = PyBool_FromLong(sobj->own);
1958  if (val) {
1959  if (PyObject_IsTrue(val)) {
1961  } else {
1963  }
1964  }
1965  return obj;
1966  }
1967 }
1968 
1969 static PyMethodDef
1971  {"disown", SwigPyObject_disown, METH_NOARGS, "releases ownership of the pointer"},
1972  {"acquire", SwigPyObject_acquire, METH_NOARGS, "acquires ownership of the pointer"},
1973  {"own", SwigPyObject_own, METH_VARARGS, "returns/sets ownership of the pointer"},
1974  {"append", SwigPyObject_append, METH_O, "appends another 'this' object"},
1975  {"next", SwigPyObject_next, METH_NOARGS, "returns the next 'this' object"},
1976  {"__repr__",SwigPyObject_repr2, METH_NOARGS, "returns object representation"},
1977  {0, 0, 0, 0}
1978 };
1979 
1980 SWIGRUNTIME PyTypeObject*
1982  static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1983 #ifndef SWIG_HEAPTYPES
1984  static PyNumberMethods SwigPyObject_as_number = {
1985  (binaryfunc)0, /*nb_add*/
1986  (binaryfunc)0, /*nb_subtract*/
1987  (binaryfunc)0, /*nb_multiply*/
1988  /* nb_divide removed in Python 3 */
1989 #if PY_VERSION_HEX < 0x03000000
1990  (binaryfunc)0, /*nb_divide*/
1991 #endif
1992  (binaryfunc)0, /*nb_remainder*/
1993  (binaryfunc)0, /*nb_divmod*/
1994  (ternaryfunc)0,/*nb_power*/
1995  (unaryfunc)0, /*nb_negative*/
1996  (unaryfunc)0, /*nb_positive*/
1997  (unaryfunc)0, /*nb_absolute*/
1998  (inquiry)0, /*nb_nonzero*/
1999  0, /*nb_invert*/
2000  0, /*nb_lshift*/
2001  0, /*nb_rshift*/
2002  0, /*nb_and*/
2003  0, /*nb_xor*/
2004  0, /*nb_or*/
2005 #if PY_VERSION_HEX < 0x03000000
2006  0, /*nb_coerce*/
2007 #endif
2008  (unaryfunc)SwigPyObject_long, /*nb_int*/
2009 #if PY_VERSION_HEX < 0x03000000
2010  (unaryfunc)SwigPyObject_long, /*nb_long*/
2011 #else
2012  0, /*nb_reserved*/
2013 #endif
2014  (unaryfunc)0, /*nb_float*/
2015 #if PY_VERSION_HEX < 0x03000000
2016  (unaryfunc)SwigPyObject_oct, /*nb_oct*/
2017  (unaryfunc)SwigPyObject_hex, /*nb_hex*/
2018 #endif
2019 #if PY_VERSION_HEX >= 0x03050000 /* 3.5 */
2020  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
2021 #elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */
2022  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
2023 #else
2024  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
2025 #endif
2026  };
2027 
2028  static PyTypeObject swigpyobject_type;
2029  static int type_init = 0;
2030  if (!type_init) {
2031  const PyTypeObject tmp = {
2032 #if PY_VERSION_HEX >= 0x03000000
2033  PyVarObject_HEAD_INIT(NULL, 0)
2034 #else
2035  PyObject_HEAD_INIT(NULL)
2036  0, /* ob_size */
2037 #endif
2038  "SwigPyObject", /* tp_name */
2039  sizeof(SwigPyObject), /* tp_basicsize */
2040  0, /* tp_itemsize */
2041  (destructor)SwigPyObject_dealloc, /* tp_dealloc */
2042 #if PY_VERSION_HEX < 0x030800b4
2043  (printfunc)0, /* tp_print */
2044 #else
2045  (Py_ssize_t)0, /* tp_vectorcall_offset */
2046 #endif
2047  (getattrfunc)0, /* tp_getattr */
2048  (setattrfunc)0, /* tp_setattr */
2049 #if PY_VERSION_HEX >= 0x03000000
2050  0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
2051 #else
2052  (cmpfunc)SwigPyObject_compare, /* tp_compare */
2053 #endif
2054  (reprfunc)SwigPyObject_repr, /* tp_repr */
2055  &SwigPyObject_as_number, /* tp_as_number */
2056  0, /* tp_as_sequence */
2057  0, /* tp_as_mapping */
2058  (hashfunc)0, /* tp_hash */
2059  (ternaryfunc)0, /* tp_call */
2060  0, /* tp_str */
2061  PyObject_GenericGetAttr, /* tp_getattro */
2062  0, /* tp_setattro */
2063  0, /* tp_as_buffer */
2064  Py_TPFLAGS_DEFAULT, /* tp_flags */
2065  swigobject_doc, /* tp_doc */
2066  0, /* tp_traverse */
2067  0, /* tp_clear */
2068  (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */
2069  0, /* tp_weaklistoffset */
2070  0, /* tp_iter */
2071  0, /* tp_iternext */
2072  swigobject_methods, /* tp_methods */
2073  0, /* tp_members */
2074  0, /* tp_getset */
2075  0, /* tp_base */
2076  0, /* tp_dict */
2077  0, /* tp_descr_get */
2078  0, /* tp_descr_set */
2079  0, /* tp_dictoffset */
2080  0, /* tp_init */
2081  0, /* tp_alloc */
2082  0, /* tp_new */
2083  0, /* tp_free */
2084  0, /* tp_is_gc */
2085  0, /* tp_bases */
2086  0, /* tp_mro */
2087  0, /* tp_cache */
2088  0, /* tp_subclasses */
2089  0, /* tp_weaklist */
2090  0, /* tp_del */
2091  0, /* tp_version_tag */
2092 #if PY_VERSION_HEX >= 0x03040000
2093  0, /* tp_finalize */
2094 #endif
2095 #if PY_VERSION_HEX >= 0x03080000
2096  0, /* tp_vectorcall */
2097 #endif
2098 #if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
2099  0, /* tp_print */
2100 #endif
2101 #if PY_VERSION_HEX >= 0x030c0000
2102  0, /* tp_watched */
2103 #endif
2104 #if PY_VERSION_HEX >= 0x030d00a4
2105  0, /* tp_versions_used */
2106 #endif
2107 #ifdef COUNT_ALLOCS
2108  0, /* tp_allocs */
2109  0, /* tp_frees */
2110  0, /* tp_maxalloc */
2111  0, /* tp_prev */
2112  0 /* tp_next */
2113 #endif
2114  };
2115  swigpyobject_type = tmp;
2116  type_init = 1;
2117  if (PyType_Ready(&swigpyobject_type) != 0)
2118  return NULL;
2119  }
2120  return &swigpyobject_type;
2121 #else
2122  PyType_Slot slots[] = {
2123  { Py_tp_dealloc, (void *)SwigPyObject_dealloc },
2124  { Py_tp_repr, (void *)SwigPyObject_repr },
2125  { Py_tp_getattro, (void *)PyObject_GenericGetAttr },
2126  { Py_tp_doc, (void *)swigobject_doc },
2127  { Py_tp_richcompare, (void *)SwigPyObject_richcompare },
2128  { Py_tp_methods, (void *)swigobject_methods },
2129  { Py_nb_int, (void *)SwigPyObject_long },
2130  { 0, NULL }
2131  };
2132  PyType_Spec spec = {
2133  "SwigPyObject",
2134  sizeof(SwigPyObject),
2135  0,
2136  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE,
2137  slots
2138  };
2139  return (PyTypeObject *)PyType_FromSpec(&spec);
2140 #endif
2141 }
2142 
2143 SWIGRUNTIME PyObject *
2144 SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
2145 {
2146  SwigPyObject *sobj = PyObject_New(SwigPyObject, SwigPyObject_type());
2147  if (sobj) {
2148  sobj->ptr = ptr;
2149  sobj->ty = ty;
2150  sobj->own = own;
2151  sobj->next = 0;
2152 #ifdef SWIGPYTHON_BUILTIN
2153  sobj->dict = 0;
2154 #endif
2155  if (own == SWIG_POINTER_OWN) {
2156  /* Obtain a reference to the Python capsule wrapping the module information, so that the
2157  * module information is correctly destroyed after all SWIG python objects have been freed
2158  * by the GC (and corresponding destructors invoked) */
2160  }
2161  }
2162  return (PyObject *)sobj;
2163 }
2164 
2165 /* -----------------------------------------------------------------------------
2166  * Implements a simple Swig Packed type, and use it instead of string
2167  * ----------------------------------------------------------------------------- */
2168 
2169 typedef struct {
2170  PyObject_HEAD
2171  void *pack;
2173  size_t size;
2174 } SwigPyPacked;
2175 
2176 SWIGRUNTIME PyObject *
2178 {
2179  char result[SWIG_BUFFER_SIZE];
2180  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
2181  return SWIG_Python_str_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
2182  } else {
2183  return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name);
2184  }
2185 }
2186 
2187 SWIGRUNTIME PyObject *
2189 {
2190  char result[SWIG_BUFFER_SIZE];
2191  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
2192  return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name);
2193  } else {
2194  return SWIG_Python_str_FromChar(v->ty->name);
2195  }
2196 }
2197 
2198 SWIGRUNTIME int
2200 {
2201  size_t i = v->size;
2202  size_t j = w->size;
2203  int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
2204  return s ? s : strncmp((const char *)v->pack, (const char *)w->pack, 2*v->size);
2205 }
2206 
2207 SWIGRUNTIME PyTypeObject* SwigPyPacked_TypeOnce(void);
2208 
2209 SWIGRUNTIME PyTypeObject*
2211  static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyPacked_TypeOnce();
2212  return type;
2213 }
2214 
2216 SwigPyPacked_Check(PyObject *op) {
2217 #ifdef Py_LIMITED_API
2218  int cmp;
2219  PyObject *tp_name;
2220 #endif
2221  PyTypeObject* op_type = Py_TYPE(op);
2222  if (op_type == SwigPyPacked_TypeOnce())
2223  return 1;
2224 #ifdef Py_LIMITED_API
2225  tp_name = PyObject_GetAttrString((PyObject *)op_type, "__name__");
2226  if (!tp_name)
2227  return 0;
2228  cmp = PyUnicode_CompareWithASCIIString(tp_name, "SwigPyPacked");
2229  SWIG_Py_DECREF(tp_name);
2230  return cmp == 0;
2231 #else
2232  return (strcmp(op_type->tp_name, "SwigPyPacked") == 0);
2233 #endif
2234 }
2235 
2236 SWIGRUNTIME void
2238 {
2239  if (SwigPyPacked_Check(v)) {
2240  SwigPyPacked *sobj = (SwigPyPacked *) v;
2241  free(sobj->pack);
2242  }
2243  PyObject_Free(v);
2244 }
2245 
2246 SWIGRUNTIME PyTypeObject*
2248  static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
2249 #ifndef SWIG_HEAPTYPES
2250  static PyTypeObject swigpypacked_type;
2251  static int type_init = 0;
2252  if (!type_init) {
2253  const PyTypeObject tmp = {
2254 #if PY_VERSION_HEX>=0x03000000
2255  PyVarObject_HEAD_INIT(NULL, 0)
2256 #else
2257  PyObject_HEAD_INIT(NULL)
2258  0, /* ob_size */
2259 #endif
2260  "SwigPyPacked", /* tp_name */
2261  sizeof(SwigPyPacked), /* tp_basicsize */
2262  0, /* tp_itemsize */
2263  (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
2264 #if PY_VERSION_HEX < 0x030800b4
2265  (printfunc)0, /* tp_print */
2266 #else
2267  (Py_ssize_t)0, /* tp_vectorcall_offset */
2268 #endif
2269  (getattrfunc)0, /* tp_getattr */
2270  (setattrfunc)0, /* tp_setattr */
2271 #if PY_VERSION_HEX>=0x03000000
2272  0, /* tp_reserved in 3.0.1 */
2273 #else
2274  (cmpfunc)SwigPyPacked_compare, /* tp_compare */
2275 #endif
2276  (reprfunc)SwigPyPacked_repr, /* tp_repr */
2277  0, /* tp_as_number */
2278  0, /* tp_as_sequence */
2279  0, /* tp_as_mapping */
2280  (hashfunc)0, /* tp_hash */
2281  (ternaryfunc)0, /* tp_call */
2282  (reprfunc)SwigPyPacked_str, /* tp_str */
2283  PyObject_GenericGetAttr, /* tp_getattro */
2284  0, /* tp_setattro */
2285  0, /* tp_as_buffer */
2286  Py_TPFLAGS_DEFAULT, /* tp_flags */
2287  swigpacked_doc, /* tp_doc */
2288  0, /* tp_traverse */
2289  0, /* tp_clear */
2290  0, /* tp_richcompare */
2291  0, /* tp_weaklistoffset */
2292  0, /* tp_iter */
2293  0, /* tp_iternext */
2294  0, /* tp_methods */
2295  0, /* tp_members */
2296  0, /* tp_getset */
2297  0, /* tp_base */
2298  0, /* tp_dict */
2299  0, /* tp_descr_get */
2300  0, /* tp_descr_set */
2301  0, /* tp_dictoffset */
2302  0, /* tp_init */
2303  0, /* tp_alloc */
2304  0, /* tp_new */
2305  0, /* tp_free */
2306  0, /* tp_is_gc */
2307  0, /* tp_bases */
2308  0, /* tp_mro */
2309  0, /* tp_cache */
2310  0, /* tp_subclasses */
2311  0, /* tp_weaklist */
2312  0, /* tp_del */
2313  0, /* tp_version_tag */
2314 #if PY_VERSION_HEX >= 0x03040000
2315  0, /* tp_finalize */
2316 #endif
2317 #if PY_VERSION_HEX >= 0x03080000
2318  0, /* tp_vectorcall */
2319 #endif
2320 #if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
2321  0, /* tp_print */
2322 #endif
2323 #if PY_VERSION_HEX >= 0x030c0000
2324  0, /* tp_watched */
2325 #endif
2326 #if PY_VERSION_HEX >= 0x030d00a4
2327  0, /* tp_versions_used */
2328 #endif
2329 #ifdef COUNT_ALLOCS
2330  0, /* tp_allocs */
2331  0, /* tp_frees */
2332  0, /* tp_maxalloc */
2333  0, /* tp_prev */
2334  0 /* tp_next */
2335 #endif
2336  };
2337  swigpypacked_type = tmp;
2338  type_init = 1;
2339  if (PyType_Ready(&swigpypacked_type) != 0)
2340  return NULL;
2341  }
2342  return &swigpypacked_type;
2343 #else
2344  PyType_Slot slots[] = {
2345  { Py_tp_dealloc, (void *)SwigPyPacked_dealloc },
2346  { Py_tp_repr, (void *)SwigPyPacked_repr },
2347  { Py_tp_str, (void *)SwigPyPacked_str },
2348  { Py_tp_getattro, (void *)PyObject_GenericGetAttr },
2349  { Py_tp_doc, (void *)swigpacked_doc },
2350  { 0, NULL }
2351  };
2352  PyType_Spec spec = {
2353  "SwigPyPacked",
2354  sizeof(SwigPyPacked),
2355  0,
2356  Py_TPFLAGS_DEFAULT,
2357  slots
2358  };
2359  return (PyTypeObject *)PyType_FromSpec(&spec);
2360 #endif
2361 }
2362 
2363 SWIGRUNTIME PyObject *
2364 SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
2365 {
2366  SwigPyPacked *sobj = PyObject_New(SwigPyPacked, SwigPyPacked_type());
2367  if (sobj) {
2368  void *pack = malloc(size);
2369  if (pack) {
2370  memcpy(pack, ptr, size);
2371  sobj->pack = pack;
2372  sobj->ty = ty;
2373  sobj->size = size;
2374  } else {
2375  PyObject_Free((PyObject *)sobj);
2376  sobj = 0;
2377  }
2378  }
2379  return (PyObject *) sobj;
2380 }
2381 
2383 SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
2384 {
2385  if (SwigPyPacked_Check(obj)) {
2386  SwigPyPacked *sobj = (SwigPyPacked *)obj;
2387  if (sobj->size != size) return 0;
2388  memcpy(ptr, sobj->pack, size);
2389  return sobj->ty;
2390  } else {
2391  return 0;
2392  }
2393 }
2394 
2395 /* -----------------------------------------------------------------------------
2396  * pointers/data manipulation
2397  * ----------------------------------------------------------------------------- */
2398 
2399 static PyObject *Swig_This_global = NULL;
2400 
2401 SWIGRUNTIME PyObject *
2403 {
2404  if (Swig_This_global == NULL)
2406  return Swig_This_global;
2407 }
2408 
2409 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
2410 
2411 /* TODO: I don't know how to implement the fast getset in Python 3 right now */
2412 #if PY_VERSION_HEX>=0x03000000
2413 #define SWIG_PYTHON_SLOW_GETSET_THIS
2414 #endif
2415 
2417 SWIG_Python_GetSwigThis(PyObject *pyobj)
2418 {
2419  PyObject *obj;
2420 
2421  if (SwigPyObject_Check(pyobj))
2422  return (SwigPyObject *) pyobj;
2423 
2424 #ifdef SWIGPYTHON_BUILTIN
2425  (void)obj;
2426 # ifdef PyWeakref_CheckProxy
2427  if (PyWeakref_CheckProxy(pyobj)) {
2428 #if PY_VERSION_HEX >= 0x030d0000
2429  PyWeakref_GetRef(pyobj, &pyobj);
2430  Py_DECREF(pyobj);
2431 #else
2432  pyobj = PyWeakref_GET_OBJECT(pyobj);
2433 #endif
2434  if (pyobj && SwigPyObject_Check(pyobj))
2435  return (SwigPyObject*) pyobj;
2436  }
2437 # endif
2438  return NULL;
2439 #else
2440 
2441  obj = 0;
2442 
2443 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2444  if (PyInstance_Check(pyobj)) {
2445  obj = _PyInstance_Lookup(pyobj, SWIG_This());
2446  } else {
2447  PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2448  if (dictptr != NULL) {
2449  PyObject *dict = *dictptr;
2450  obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
2451  } else {
2452 #ifdef PyWeakref_CheckProxy
2453  if (PyWeakref_CheckProxy(pyobj)) {
2454  PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
2455  return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
2456  }
2457 #endif
2458  obj = PyObject_GetAttr(pyobj,SWIG_This());
2459  if (obj) {
2460  SWIG_Py_DECREF(obj);
2461  } else {
2462  if (PyErr_Occurred()) PyErr_Clear();
2463  return 0;
2464  }
2465  }
2466  }
2467 #else
2468  obj = PyObject_GetAttr(pyobj,SWIG_This());
2469  if (obj) {
2470  SWIG_Py_DECREF(obj);
2471  } else {
2472  if (PyErr_Occurred()) PyErr_Clear();
2473  return 0;
2474  }
2475 #endif
2476  if (obj && !SwigPyObject_Check(obj)) {
2477  /* a PyObject is called 'this', try to get the 'real this'
2478  SwigPyObject from it */
2479  return SWIG_Python_GetSwigThis(obj);
2480  }
2481  return (SwigPyObject *)obj;
2482 #endif
2483 }
2484 
2485 /* Acquire a pointer value */
2486 
2487 SWIGRUNTIME int
2488 SWIG_Python_AcquirePtr(PyObject *obj, int own) {
2489  if (own == SWIG_POINTER_OWN) {
2491  if (sobj) {
2492  int oldown = sobj->own;
2493  sobj->own = own;
2494  return oldown;
2495  }
2496  }
2497  return 0;
2498 }
2499 
2500 /* Convert a pointer value */
2501 
2502 SWIGRUNTIME int
2503 SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
2504  int res;
2505  SwigPyObject *sobj;
2506  int implicit_conv = (flags & SWIG_POINTER_IMPLICIT_CONV) != 0;
2507 
2508  if (!obj)
2509  return SWIG_ERROR;
2510  if (obj == Py_None && !implicit_conv) {
2511  if (ptr)
2512  *ptr = 0;
2514  }
2515 
2516  res = SWIG_ERROR;
2517 
2518  sobj = SWIG_Python_GetSwigThis(obj);
2519  if (own)
2520  *own = 0;
2521  while (sobj) {
2522  void *vptr = sobj->ptr;
2523  if (ty) {
2524  swig_type_info *to = sobj->ty;
2525  if (to == ty) {
2526  /* no type cast needed */
2527  if (ptr) *ptr = vptr;
2528  break;
2529  } else {
2530  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2531  if (!tc) {
2532  sobj = (SwigPyObject *)sobj->next;
2533  } else {
2534  if (ptr) {
2535  int newmemory = 0;
2536  *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2537  if (newmemory == SWIG_CAST_NEW_MEMORY) {
2538  assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
2539  if (own)
2540  *own = *own | SWIG_CAST_NEW_MEMORY;
2541  }
2542  }
2543  break;
2544  }
2545  }
2546  } else {
2547  if (ptr) *ptr = vptr;
2548  break;
2549  }
2550  }
2551  if (sobj) {
2552  if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE) && !sobj->own) {
2554  } else {
2555  if (own)
2556  *own = *own | sobj->own;
2557  if (flags & SWIG_POINTER_DISOWN) {
2558  sobj->own = 0;
2559  }
2560  if (flags & SWIG_POINTER_CLEAR) {
2561  sobj->ptr = 0;
2562  }
2563  res = SWIG_OK;
2564  }
2565  } else {
2566  if (implicit_conv) {
2567  SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
2568  if (data && !data->implicitconv) {
2569  PyObject *klass = data->klass;
2570  if (klass) {
2571  PyObject *impconv;
2572  data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2573  impconv = SWIG_Python_CallFunctor(klass, obj);
2574  data->implicitconv = 0;
2575  if (PyErr_Occurred()) {
2576  PyErr_Clear();
2577  impconv = 0;
2578  }
2579  if (impconv) {
2580  SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
2581  if (iobj) {
2582  void *vptr;
2583  res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2584  if (SWIG_IsOK(res)) {
2585  if (ptr) {
2586  *ptr = vptr;
2587  /* transfer the ownership to 'ptr' */
2588  iobj->own = 0;
2589  res = SWIG_AddCast(res);
2590  res = SWIG_AddNewMask(res);
2591  } else {
2592  res = SWIG_AddCast(res);
2593  }
2594  }
2595  }
2596  SWIG_Py_DECREF(impconv);
2597  }
2598  }
2599  }
2600  if (!SWIG_IsOK(res) && obj == Py_None) {
2601  if (ptr)
2602  *ptr = 0;
2603  if (PyErr_Occurred())
2604  PyErr_Clear();
2605  res = SWIG_OK;
2606  }
2607  }
2608  }
2609  return res;
2610 }
2611 
2612 /* Convert a function ptr value */
2613 
2614 SWIGRUNTIME int
2615 SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2616  if (!PyCFunction_Check(obj)) {
2617  return SWIG_ConvertPtr(obj, ptr, ty, 0);
2618  } else {
2619  void *vptr = 0;
2620  swig_cast_info *tc;
2621 
2622  /* here we get the method pointer for callbacks */
2623 #ifndef Py_LIMITED_API
2624  const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2625 #else
2626  PyObject* pystr_doc = PyObject_GetAttrString(obj, "__doc__");
2627  PyObject *bytes = NULL;
2628  const char *doc = pystr_doc ? SWIG_PyUnicode_AsUTF8AndSize(pystr_doc, NULL, &bytes) : 0;
2629 #endif
2630  const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2631  if (desc)
2632  desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2633 #ifdef Py_LIMITED_API
2634  SWIG_Py_XDECREF(bytes);
2635  SWIG_Py_XDECREF(pystr_doc);
2636 #endif
2637  if (!desc)
2638  return SWIG_ERROR;
2639  tc = SWIG_TypeCheck(desc,ty);
2640  if (tc) {
2641  int newmemory = 0;
2642  *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2643  assert(!newmemory); /* newmemory handling not yet implemented */
2644  } else {
2645  return SWIG_ERROR;
2646  }
2647  return SWIG_OK;
2648  }
2649 }
2650 
2651 /* Convert a packed pointer value */
2652 
2653 SWIGRUNTIME int
2654 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2655  swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
2656  if (!to) return SWIG_ERROR;
2657  if (ty) {
2658  if (to != ty) {
2659  /* check type cast? */
2660  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2661  if (!tc) return SWIG_ERROR;
2662  }
2663  }
2664  return SWIG_OK;
2665 }
2666 
2667 /* -----------------------------------------------------------------------------
2668  * Create a new pointer object
2669  * ----------------------------------------------------------------------------- */
2670 
2671 /*
2672  Create a new instance object, without calling __init__, and set the
2673  'this' attribute.
2674 */
2675 
2676 SWIGRUNTIME PyObject*
2678 {
2679  PyObject *inst = 0;
2680  PyObject *newraw = data->newraw;
2681  if (newraw) {
2682  inst = PyObject_Call(newraw, data->newargs, NULL);
2683  if (inst) {
2684 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2685  PyObject **dictptr = _PyObject_GetDictPtr(inst);
2686  if (dictptr != NULL) {
2687  PyObject *dict = *dictptr;
2688  if (dict == NULL) {
2689  dict = PyDict_New();
2690  *dictptr = dict;
2691  }
2692  if (dict) {
2693  PyDict_SetItem(dict, SWIG_This(), swig_this);
2694  } else{
2695  SWIG_Py_DECREF(inst);
2696  inst = 0;
2697  }
2698  }
2699 #else
2700  if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
2701  SWIG_Py_DECREF(inst);
2702  inst = 0;
2703  }
2704 #endif
2705  }
2706  } else {
2707 #if PY_VERSION_HEX >= 0x03000000
2708  PyObject *empty_args = PyTuple_New(0);
2709  if (empty_args) {
2710  PyObject *empty_kwargs = PyDict_New();
2711  if (empty_kwargs) {
2712 #ifndef Py_LIMITED_API
2713  newfunc newfn = ((PyTypeObject *)data->newargs)->tp_new;
2714 #else
2715  newfunc newfn = (newfunc)PyType_GetSlot((PyTypeObject *)data->newargs, Py_tp_new);
2716 #endif
2717  inst = newfn((PyTypeObject *)data->newargs, empty_args, empty_kwargs);
2718  SWIG_Py_DECREF(empty_kwargs);
2719  if (inst) {
2720  if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
2721  SWIG_Py_DECREF(inst);
2722  inst = 0;
2723  } else {
2724  PyType_Modified(Py_TYPE(inst));
2725  }
2726  }
2727  }
2728  SWIG_Py_DECREF(empty_args);
2729  }
2730 #else
2731  PyObject *dict = PyDict_New();
2732  if (dict) {
2733  PyDict_SetItem(dict, SWIG_This(), swig_this);
2734  inst = PyInstance_NewRaw(data->newargs, dict);
2735  SWIG_Py_DECREF(dict);
2736  }
2737 #endif
2738  }
2739  return inst;
2740 }
2741 
2742 SWIGRUNTIME int
2743 SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2744 {
2745 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2746  PyObject **dictptr = _PyObject_GetDictPtr(inst);
2747  if (dictptr != NULL) {
2748  PyObject *dict = *dictptr;
2749  if (dict == NULL) {
2750  dict = PyDict_New();
2751  *dictptr = dict;
2752  }
2753  if (dict) {
2754  return PyDict_SetItem(dict, SWIG_This(), swig_this);
2755  } else{
2756  return -1;
2757  }
2758  }
2759 #endif
2760  return PyObject_SetAttr(inst, SWIG_This(), swig_this);
2761 }
2762 
2763 
2764 SWIGINTERN PyObject *
2766  PyObject *obj[2];
2767  if (!SWIG_Python_UnpackTuple(args, "swiginit", 2, 2, obj)) {
2768  return NULL;
2769  } else {
2770  SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2771  if (sthis) {
2772  SWIG_Py_DECREF(SwigPyObject_append((PyObject*) sthis, obj[1]));
2773  } else {
2774  if (SWIG_Python_SetSwigThis(obj[0], obj[1]) != 0)
2775  return NULL;
2776  }
2777  return SWIG_Py_Void();
2778  }
2779 }
2780 
2781 /* Create a new pointer object */
2782 
2783 SWIGRUNTIME PyObject *
2784 SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags) {
2785  SwigPyClientData *clientdata;
2786  PyObject * robj;
2787  int own;
2788 
2789  if (!ptr)
2790  return SWIG_Py_Void();
2791 
2792  clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0;
2793  own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
2794  if (clientdata && clientdata->pytype) {
2795  SwigPyObject *newobj;
2796  if (flags & SWIG_BUILTIN_TP_INIT) {
2797  newobj = (SwigPyObject*) self;
2798  if (newobj->ptr) {
2799 #ifndef Py_LIMITED_API
2800  allocfunc alloc = clientdata->pytype->tp_alloc;
2801 #else
2802  allocfunc alloc = (allocfunc)PyType_GetSlot(clientdata->pytype, Py_tp_alloc);
2803 #endif
2804  PyObject *next_self = alloc(clientdata->pytype, 0);
2805  while (newobj->next)
2806  newobj = (SwigPyObject *) newobj->next;
2807  newobj->next = next_self;
2808  newobj = (SwigPyObject *)next_self;
2809 #ifdef SWIGPYTHON_BUILTIN
2810  newobj->dict = 0;
2811 #endif
2812  }
2813  } else {
2814  newobj = PyObject_New(SwigPyObject, clientdata->pytype);
2815 #ifdef SWIGPYTHON_BUILTIN
2816  if (newobj) {
2817  newobj->dict = 0;
2818  }
2819 #endif
2820  }
2821  if (newobj) {
2822  newobj->ptr = ptr;
2823  newobj->ty = type;
2824  newobj->own = own;
2825  newobj->next = 0;
2826  return (PyObject*) newobj;
2827  }
2828  return SWIG_Py_Void();
2829  }
2830 
2831  assert(!(flags & SWIG_BUILTIN_TP_INIT));
2832 
2833  robj = SwigPyObject_New(ptr, type, own);
2834  if (robj && clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
2835  PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2836  SWIG_Py_DECREF(robj);
2837  robj = inst;
2838  }
2839  return robj;
2840 }
2841 
2842 /* Create a new packed object */
2843 
2844 SWIGRUNTIMEINLINE PyObject *
2845 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2846  return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2847 }
2848 
2849 /* -----------------------------------------------------------------------------*
2850  * Get type list
2851  * -----------------------------------------------------------------------------*/
2852 
2853 #ifdef SWIG_LINK_RUNTIME
2854 void *SWIG_ReturnGlobalTypeList(void *);
2855 #endif
2856 
2857 static PyObject *Swig_TypeCache_global = NULL;
2858 
2859 /* The python cached type query */
2860 SWIGRUNTIME PyObject *
2862  if (Swig_TypeCache_global == NULL) {
2863  Swig_TypeCache_global = PyDict_New();
2864  }
2865  return Swig_TypeCache_global;
2866 }
2867 
2870 #ifdef SWIG_LINK_RUNTIME
2871  static void *type_pointer = (void *)0;
2872  /* first check if module already created */
2873  if (!type_pointer) {
2874  type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2875  }
2876 #else
2877  void *type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0);
2878  if (PyErr_Occurred()) {
2879  PyErr_Clear();
2880  type_pointer = (void *)0;
2881  }
2882 #endif
2883  return (swig_module_info *) type_pointer;
2884 }
2885 
2886 
2887 static int interpreter_counter = 0; /* how many (sub-)interpreters are using swig_module's types */
2888 
2889 SWIGRUNTIME void
2891 {
2892  swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME);
2893  swig_type_info **types = swig_module->types;
2894  size_t i;
2895  if (--interpreter_counter != 0) /* another sub-interpreter may still be using the swig_module's types */
2896  return;
2897  for (i =0; i < swig_module->size; ++i) {
2898  swig_type_info *ty = types[i];
2899  if (ty->owndata) {
2901  ty->clientdata = 0;
2902  if (data) SwigPyClientData_Del(data);
2903  }
2904  }
2906  Swig_This_global = NULL;
2908  Swig_Globals_global = NULL;
2910  Swig_TypeCache_global = NULL;
2911  Swig_Capsule_global = NULL;
2912 }
2913 
2914 SWIGRUNTIME void
2916 #if PY_VERSION_HEX >= 0x03000000
2917  /* Add a dummy module object into sys.modules */
2918  PyObject *module = PyImport_AddModule("swig_runtime_data" SWIG_RUNTIME_VERSION);
2919 #else
2920  static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} }; /* Sentinel */
2921  PyObject *module = Py_InitModule("swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
2922 #endif
2923  PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME, SWIG_Python_DestroyModule);
2924  if (pointer && module) {
2925  if (PyModule_AddObject(module, SWIGPY_CAPSULE_ATTR_NAME, pointer) == 0) {
2927  Swig_Capsule_global = pointer;
2928  } else {
2929  SWIG_Py_DECREF(pointer);
2930  }
2931  } else {
2932  SWIG_Py_XDECREF(pointer);
2933  }
2934 }
2935 
2937 SWIG_Python_TypeQuery(const char *type)
2938 {
2939  PyObject *cache = SWIG_Python_TypeCache();
2940  PyObject *key = SWIG_Python_str_FromChar(type);
2941  PyObject *obj = PyDict_GetItem(cache, key);
2942  swig_type_info *descriptor;
2943  if (obj) {
2944  descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL);
2945  } else {
2946  swig_module_info *swig_module = SWIG_GetModule(0);
2947  descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2948  if (descriptor) {
2949  obj = PyCapsule_New((void*) descriptor, NULL, NULL);
2950  if (obj) {
2951  PyDict_SetItem(cache, key, obj);
2952  SWIG_Py_DECREF(obj);
2953  }
2954  }
2955  }
2956  SWIG_Py_DECREF(key);
2957  return descriptor;
2958 }
2959 
2960 /*
2961  For backward compatibility only
2962 */
2963 #define SWIG_POINTER_EXCEPTION 0
2964 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
2965 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2966 
2967 SWIGRUNTIME int
2968 SWIG_Python_AddErrMesg(const char* mesg, int infront)
2969 {
2970  if (PyErr_Occurred()) {
2971  PyObject *type = 0;
2972  PyObject *value = 0;
2973  PyObject *traceback = 0;
2974  PyErr_Fetch(&type, &value, &traceback);
2975  if (value) {
2976  PyObject *old_str = PyObject_Str(value);
2977  PyObject *bytes = NULL;
2978  const char *tmp = SWIG_PyUnicode_AsUTF8AndSize(old_str, NULL, &bytes);
2979  const char *errmesg = tmp ? tmp : "Invalid error message";
2980  SWIG_Py_XINCREF(type);
2981  PyErr_Clear();
2982  if (infront) {
2983  PyErr_Format(type, "%s %s", mesg, errmesg);
2984  } else {
2985  PyErr_Format(type, "%s %s", errmesg, mesg);
2986  }
2987  SWIG_Py_XDECREF(bytes);
2988  SWIG_Py_DECREF(old_str);
2989  }
2990  return 1;
2991  } else {
2992  return 0;
2993  }
2994 }
2995 
2996 SWIGRUNTIME int
2998 {
2999  if (PyErr_Occurred()) {
3000  /* add information about failing argument */
3001  char mesg[256];
3002  PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
3003  return SWIG_Python_AddErrMesg(mesg, 1);
3004  } else {
3005  return 0;
3006  }
3007 }
3008 
3009 SWIGRUNTIMEINLINE const char *
3010 SwigPyObject_GetDesc(PyObject *self)
3011 {
3012  SwigPyObject *v = (SwigPyObject *)self;
3013  swig_type_info *ty = v ? v->ty : 0;
3014  return ty ? ty->str : "";
3015 }
3016 
3017 SWIGRUNTIME void
3018 SWIG_Python_TypeError(const char *type, PyObject *obj)
3019 {
3020  (void) obj;
3021  if (type) {
3022 #if defined(SWIG_COBJECT_TYPES)
3023  if (obj && SwigPyObject_Check(obj)) {
3024  const char *otype = (const char *) SwigPyObject_GetDesc(obj);
3025  if (otype) {
3026  PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
3027  type, otype);
3028  return;
3029  }
3030  } else
3031 #endif
3032  {
3033 #ifndef Py_LIMITED_API
3034  /* tp_name is not accessible */
3035  const char *otype = (obj ? obj->ob_type->tp_name : 0);
3036  if (otype) {
3037  PyObject *str = PyObject_Str(obj);
3038  PyObject *bytes = NULL;
3039  const char *cstr = str ? SWIG_PyUnicode_AsUTF8AndSize(str, NULL, &bytes) : 0;
3040  if (cstr) {
3041  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
3042  type, otype, cstr);
3043  } else {
3044  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
3045  type, otype);
3046  }
3047  SWIG_Py_XDECREF(bytes);
3048  SWIG_Py_XDECREF(str);
3049  return;
3050  }
3051 #endif
3052  }
3053  PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
3054  } else {
3055  PyErr_Format(PyExc_TypeError, "unexpected type is received");
3056  }
3057 }
3058 
3059 
3060 /* Convert a pointer value, signal an exception on a type mismatch */
3061 SWIGRUNTIME void *
3062 SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags) {
3063  void *result;
3064  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
3065  PyErr_Clear();
3066  }
3067  return result;
3068 }
3069 
3070 #ifdef SWIGPYTHON_BUILTIN
3071 SWIGRUNTIME int
3072 SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
3073  PyTypeObject *tp = obj->ob_type;
3074  PyObject *descr;
3075  PyObject *encoded_name;
3076  descrsetfunc f;
3077  int res = -1;
3078 
3079 # ifdef Py_USING_UNICODE
3080  if (PyString_Check(name)) {
3081  name = PyUnicode_Decode(PyString_AsString(name), PyString_Size(name), NULL, NULL);
3082  if (!name)
3083  return -1;
3084  } else if (!PyUnicode_Check(name))
3085 # else
3086  if (!PyString_Check(name))
3087 # endif
3088  {
3089  PyErr_Format(PyExc_TypeError, "attribute name must be string, not '%.200s'", name->ob_type->tp_name);
3090  return -1;
3091  } else {
3092  SWIG_Py_INCREF(name);
3093  }
3094 
3095  if (!tp->tp_dict) {
3096  if (PyType_Ready(tp) != 0)
3097  goto done;
3098  }
3099 
3100  descr = _PyType_Lookup(tp, name);
3101  f = NULL;
3102  if (descr != NULL)
3103  f = descr->ob_type->tp_descr_set;
3104  if (!f) {
3105  if (PyString_Check(name)) {
3106  encoded_name = name;
3107  SWIG_Py_INCREF(name);
3108  } else {
3109  encoded_name = PyUnicode_AsUTF8String(name);
3110  if (!encoded_name)
3111  goto done;
3112  }
3113  PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name));
3114  SWIG_Py_DECREF(encoded_name);
3115  } else {
3116  res = f(descr, obj, value);
3117  }
3118 
3119  done:
3120  SWIG_Py_DECREF(name);
3121  return res;
3122 }
3123 #endif
3124 
3125 
3126 #ifdef __cplusplus
3127 }
3128 #endif
3129 /* -----------------------------------------------------------------------------*
3130  Standard SWIG API for use inside user code.
3131 
3132  Don't include this file directly, run the command
3133  swig -python -external-runtime
3134  Also, read the Modules chapter of the SWIG Manual.
3135 
3136  * -----------------------------------------------------------------------------*/
3137 
3138 #ifdef SWIG_MODULE_CLIENTDATA_TYPE
3139 
3141 SWIG_TypeQuery(SWIG_MODULE_CLIENTDATA_TYPE clientdata, const char *name) {
3142  swig_module_info *module = SWIG_GetModule(clientdata);
3143  return SWIG_TypeQueryModule(module, module, name);
3144 }
3145 
3147 SWIG_MangledTypeQuery(SWIG_MODULE_CLIENTDATA_TYPE clientdata, const char *name) {
3148  swig_module_info *module = SWIG_GetModule(clientdata);
3149  return SWIG_MangledTypeQueryModule(module, module, name);
3150 }
3151 
3152 #else
3153 
3155 SWIG_TypeQuery(const char *name) {
3156  swig_module_info *module = SWIG_GetModule(NULL);
3157  return SWIG_TypeQueryModule(module, module, name);
3158 }
3159 
3161 SWIG_MangledTypeQuery(const char *name) {
3162  swig_module_info *module = SWIG_GetModule(NULL);
3163  return SWIG_MangledTypeQueryModule(module, module, name);
3164 }
3165 
3166 #endif
SWIG_Python_SetConstant
static void SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj)
Definition: swigpyrun.h:1183
SWIG_TypeQuery
static SWIGINLINE swig_type_info * SWIG_TypeQuery(const char *name)
Definition: swigpyrun.h:3155
swig_const_info::pvalue
void * pvalue
Definition: swigpyrun.h:1066
SWIG_CheckState
#define SWIG_CheckState(r)
Definition: swigpyrun.h:360
SWIG_PackData
static char * SWIG_PackData(char *c, void *ptr, size_t sz)
Definition: swigpyrun.h:663
SWIG_Python_newvarlink
static PyObject * SWIG_Python_newvarlink(void)
Definition: swigpyrun.h:1508
swig_type_info::clientdata
void * clientdata
Definition: swigpyrun.h:379
SwigPyPacked_repr
static PyObject * SwigPyPacked_repr(SwigPyPacked *v)
Definition: swigpyrun.h:2177
swig_globalvar::set_attr
int(* set_attr)(PyObject *)
Definition: swigpyrun.h:1306
SWIG_This
static PyObject * SWIG_This(void)
Definition: swigpyrun.h:2402
SWIG_Py_XINCREF
#define SWIG_Py_XINCREF
Definition: swigpyrun.h:860
swig_type_info::name
const char * name
Definition: swigpyrun.h:375
mitk::Action
represents an action, that is executed after a certain event (in statemachine-mechanism)
Definition: mitkAction.h:27
SWIG_Python_TypeError
static void SWIG_Python_TypeError(const char *type, PyObject *obj)
Definition: swigpyrun.h:3018
swig_cast_info::next
struct swig_cast_info * next
Definition: swigpyrun.h:387
SWIG_ERROR_RELEASE_NOT_OWNED
#define SWIG_ERROR_RELEASE_NOT_OWNED
Definition: swigpyrun.h:318
SWIG_Python_RaiseOrModifyTypeError
static void SWIG_Python_RaiseOrModifyTypeError(const char *message)
Definition: swigpyrun.h:953
SwigPyObject_GetDesc
static const SWIGINLINE char * SwigPyObject_GetDesc(PyObject *self)
Definition: swigpyrun.h:3010
swig_globalvar::get_attr
PyObject *(* get_attr)(void)
Definition: swigpyrun.h:1305
SWIG_Python_str_FromChar
static PyObject * SWIG_Python_str_FromChar(const char *c)
Definition: swigpyrun.h:814
swig_varlinkobject
struct swig_varlinkobject swig_varlinkobject
SwigPyClientData::klass
PyObject * klass
Definition: swigpyrun.h:1578
SWIG_TypeError
#define SWIG_TypeError
Definition: swigpyrun.h:170
SWIG_Python_ArgFail
static int SWIG_Python_ArgFail(int argnum)
Definition: swigpyrun.h:2997
SWIG_Python_SetSwigThis
static int SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
Definition: swigpyrun.h:2743
Swig_This_global
static PyObject * Swig_This_global
Definition: swigpyrun.h:2399
SWIG_Python_AppendOutput
static PyObject * SWIG_Python_AppendOutput(PyObject *result, PyObject *obj, int is_void)
Definition: swigpyrun.h:1193
SWIG_ConvertPtr
#define SWIG_ConvertPtr(obj, pptr, type, flags)
Definition: swigpyrun.h:1095
SwigPyObject_long
static PyObject * SwigPyObject_long(SwigPyObject *v)
Definition: swigpyrun.h:1696
SwigPyObject_richcompare
static PyObject * SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
Definition: swigpyrun.h:1780
swig_type_info::dcast
swig_dycast_func dcast
Definition: swigpyrun.h:377
swig_module_info
Definition: swigpyrun.h:394
SWIG_MemoryError
#define SWIG_MemoryError
Definition: swigpyrun.h:177
SWIG_Python_str_FromFormat
#define SWIG_Python_str_FromFormat
Definition: swigpyrun.h:785
SWIG_MangledTypeQueryModule
static swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
Definition: swigpyrun.h:589
SWIG_Python_AddErrorMsg
static void SWIG_Python_AddErrorMsg(const char *mesg)
Definition: swigpyrun.h:916
SwigPyObject::own
int own
Definition: swigpyrun.h:1671
SWIG_PackVoidPtr
static char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
Definition: swigpyrun.h:707
SWIG_IsOK
#define SWIG_IsOK(r)
Definition: swigpyrun.h:320
swigobject_methods
static PyMethodDef swigobject_methods[]
Definition: swigpyrun.h:1970
SWIG_POINTER_DISOWN
#define SWIG_POINTER_DISOWN
Definition: swigpyrun.h:223
swig_varlink_type
static PyTypeObject * swig_varlink_type(void)
Definition: swigpyrun.h:1412
SWIG_CAST_NEW_MEMORY
#define SWIG_CAST_NEW_MEMORY
Definition: swigpyrun.h:224
SWIG_Python_GetSwigThis
static SwigPyObject * SWIG_Python_GetSwigThis(PyObject *pyobj)
Definition: swigpyrun.h:2417
SwigPyObject_Check
static SWIGINLINE int SwigPyObject_Check(PyObject *op)
Definition: swigpyrun.h:1816
SWIG_Python_TypeQuery
static swig_type_info * SWIG_Python_TypeQuery(const char *type)
Definition: swigpyrun.h:2937
swig_globalvar
Definition: swigpyrun.h:1303
SwigPyPacked_UnpackData
static swig_type_info * SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
Definition: swigpyrun.h:2383
SWIG_OverflowError
#define SWIG_OverflowError
Definition: swigpyrun.h:172
SWIG_PYTHON_THREAD_END_BLOCK
#define SWIG_PYTHON_THREAD_END_BLOCK
Definition: swigpyrun.h:1040
SWIG_globals
static PyObject * SWIG_globals(void)
Definition: swigpyrun.h:1537
SwigPyObject::ptr
PyObject_HEAD void * ptr
Definition: swigpyrun.h:1669
SWIG_Python_NewPointerObj
static PyObject * SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags)
Definition: swigpyrun.h:2784
SwigPyObject_next
static PyObject * SwigPyObject_next(PyObject *v, PyObject *args)
Definition: swigpyrun.h:1922
SWIG_Python_TypeCache
static PyObject * SWIG_Python_TypeCache(void)
Definition: swigpyrun.h:2861
SwigPyPacked::ty
swig_type_info * ty
Definition: swigpyrun.h:2172
SWIG_Python_ConvertPacked
static int SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty)
Definition: swigpyrun.h:2654
SwigPyClientData_Del
static void SwigPyClientData_Del(SwigPyClientData *data)
Definition: swigpyrun.h:1656
swig_const_info
struct swig_const_info swig_const_info
SwigPyPacked_Check
static SWIGINLINE int SwigPyPacked_Check(PyObject *op)
Definition: swigpyrun.h:2216
swig_module_info::types
swig_type_info ** types
Definition: swigpyrun.h:395
swig_varlinkobject
Definition: swigpyrun.h:1310
swig_const_info::name
const char * name
Definition: swigpyrun.h:1063
SWIGPY_CAPSULE_ATTR_NAME
#define SWIGPY_CAPSULE_ATTR_NAME
Definition: swigpyrun.h:828
swig_type_info::cast
struct swig_cast_info * cast
Definition: swigpyrun.h:378
swig_const_info::dvalue
double dvalue
Definition: swigpyrun.h:1065
swig_converter_func
void *(* swig_converter_func)(void *, int *)
Definition: swigpyrun.h:370
swig_varlink_getattr
static PyObject * swig_varlink_getattr(PyObject *o, char *n)
Definition: swigpyrun.h:1376
SwigPyObject_type
static PyTypeObject * SwigPyObject_type(void)
Definition: swigpyrun.h:1809
SWIG_Python_NewPackedObj
static SWIGINLINE PyObject * SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type)
Definition: swigpyrun.h:2845
SWIG_Python_ConvertPtr
#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)
Definition: swigpyrun.h:1094
SWIG_SyntaxError
#define SWIG_SyntaxError
Definition: swigpyrun.h:173
SwigPyPacked_TypeOnce
static PyTypeObject * SwigPyPacked_TypeOnce(void)
Definition: swigpyrun.h:2247
SWIG_Python_ExceptionType
static SWIGINLINE PyObject * SWIG_Python_ExceptionType(swig_type_info *desc)
Definition: swigpyrun.h:1598
SwigPyClientData::implicitconv
int implicitconv
Definition: swigpyrun.h:1583
SwigPyClientData::newraw
PyObject * newraw
Definition: swigpyrun.h:1579
SWIG_Python_ConvertFunctionPtr
static int SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty)
Definition: swigpyrun.h:2615
SwigPyObject_hex
static PyObject * SwigPyObject_hex(SwigPyObject *v)
Definition: swigpyrun.h:1733
swig_module_info
struct swig_module_info swig_module_info
SwigPyObject_TypeOnce
static PyTypeObject * SwigPyObject_TypeOnce(void)
Definition: swigpyrun.h:1981
SWIG_TypeCast
static SWIGINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
Definition: swigpyrun.h:507
SwigPyPacked::size
size_t size
Definition: swigpyrun.h:2173
swig_const_info::ptype
swig_type_info ** ptype
Definition: swigpyrun.h:1067
SWIG_UnpackData
static const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
Definition: swigpyrun.h:679
SWIG_STATIC_POINTER
#define SWIG_STATIC_POINTER(var)
Definition: swigpyrun.h:1287
SWIG_TypeNewClientData
static void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
Definition: swigpyrun.h:575
SWIG_TypeCmp
static int SWIG_TypeCmp(const char *nb, const char *tb)
Definition: swigpyrun.h:426
swig_cast_info
Definition: swigpyrun.h:384
SWIGUNUSEDPARM
#define SWIGUNUSEDPARM(p)
Definition: swigpyrun.h:88
SWIG_POINTER_OWN
#define SWIG_POINTER_OWN
Definition: swigpyrun.h:230
interpreter_counter
static int interpreter_counter
Definition: swigpyrun.h:2887
swig_dycast_func
struct swig_type_info *(* swig_dycast_func)(void **)
Definition: swigpyrun.h:371
swig_globalvar
struct swig_globalvar swig_globalvar
SWIG_Py_XDECREF
#define SWIG_Py_XDECREF
Definition: swigpyrun.h:862
swig_const_info
Definition: swigpyrun.h:1061
SwigPyObject::ty
swig_type_info * ty
Definition: swigpyrun.h:1670
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
SWIG_Python_InitShadowInstance
static PyObject * SWIG_Python_InitShadowInstance(PyObject *args)
Definition: swigpyrun.h:2765
SWIG_Python_SetErrorMsg
static void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg)
Definition: swigpyrun.h:1153
SwigPyObject_dealloc
static void SwigPyObject_dealloc(PyObject *v)
Definition: swigpyrun.h:1849
SWIG_Python_addvarlink
static void SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int(*set_attr)(PyObject *p))
Definition: swigpyrun.h:1517
swig_cast_info::converter
swig_converter_func converter
Definition: swigpyrun.h:386
SWIG_Python_TypeErrorOccurred
static int SWIG_Python_TypeErrorOccurred(PyObject *obj)
Definition: swigpyrun.h:943
SWIG_Py_Void
static SWIGINLINE PyObject * SWIG_Py_Void(void)
Definition: swigpyrun.h:1568
swig_varlink_setattr
static int swig_varlink_setattr(PyObject *o, char *n, PyObject *p)
Definition: swigpyrun.h:1394
SWIG_Python_CallFunctor
#define SWIG_Python_CallFunctor(functor, obj)
Definition: swigpyrun.h:1278
SWIG_Python_CheckImplicit
static SWIGINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty)
Definition: swigpyrun.h:1588
swig_cast_info
struct swig_cast_info swig_cast_info
SWIG_AddCast
#define SWIG_AddCast(r)
Definition: swigpyrun.h:359
SWIG_MangledTypeQuery
static SWIGINLINE swig_type_info * SWIG_MangledTypeQuery(const char *name)
Definition: swigpyrun.h:3161
SWIG_RUNTIME_VERSION
#define SWIG_RUNTIME_VERSION
Definition: swigpyrun.h:189
SWIG_TypeDynamicCast
static swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
Definition: swigpyrun.h:515
swig_cast_info::type
swig_type_info * type
Definition: swigpyrun.h:385
SwigPyObject::next
PyObject * next
Definition: swigpyrun.h:1672
SwigPyObject_own
static PyObject * SwigPyObject_own(PyObject *v, PyObject *args)
Definition: swigpyrun.h:1950
swig_varlink_repr
static PyObject * swig_varlink_repr(PyObject *v)
Definition: swigpyrun.h:1316
SwigPyPacked_New
static PyObject * SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
Definition: swigpyrun.h:2364
SWIG_Python_ErrorType
static PyObject * SWIG_Python_ErrorType(int code)
Definition: swigpyrun.h:869
SwigPyObject_format
static PyObject * SwigPyObject_format(const char *fmt, SwigPyObject *v)
Definition: swigpyrun.h:1702
SwigPyObject_repr2
static PyObject * SwigPyObject_repr2(PyObject *v, PyObject *args)
Definition: swigpyrun.h:1765
SWIG_TypeCheck
static swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
Definition: swigpyrun.h:453
SWIG_NullReferenceError
#define SWIG_NullReferenceError
Definition: swigpyrun.h:178
SWIG_POINTER_NOSHADOW
#define SWIG_POINTER_NOSHADOW
Definition: swigpyrun.h:1553
SwigPyObject_disown
static PyObject * SwigPyObject_disown(PyObject *v, PyObject *args)
Definition: swigpyrun.h:1934
SwigPyPacked_str
static PyObject * SwigPyPacked_str(SwigPyPacked *v)
Definition: swigpyrun.h:2188
SWIG_TypeCheckStruct
static swig_cast_info * SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty)
Definition: swigpyrun.h:480
Swig_Globals_global
static PyObject * Swig_Globals_global
Definition: swigpyrun.h:1534
Swig_TypeCache_global
static PyObject * Swig_TypeCache_global
Definition: swigpyrun.h:2857
SWIG_IOError
#define SWIG_IOError
Definition: swigpyrun.h:167
SWIG_Py_DECREF
#define SWIG_Py_DECREF
Definition: swigpyrun.h:861
SwigPyObject_oct
static PyObject * SwigPyObject_oct(SwigPyObject *v)
Definition: swigpyrun.h:1727
SWIG_UnpackDataName
static const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
Definition: swigpyrun.h:746
SWIG_TypeQueryModule
static swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
Definition: swigpyrun.h:634
swig_module_info::next
struct swig_module_info * next
Definition: swigpyrun.h:397
SWIG_UnpackVoidPtr
static const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
Definition: swigpyrun.h:718
swig_const_info::lvalue
long lvalue
Definition: swigpyrun.h:1064
SWIG_Python_AcquirePtr
static int SWIG_Python_AcquirePtr(PyObject *obj, int own)
Definition: swigpyrun.h:2488
SwigPyObject_New
static PyObject * SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
Definition: swigpyrun.h:2144
SwigPyObject_append
static PyObject * SwigPyObject_append(PyObject *v, PyObject *next)
Definition: swigpyrun.h:1908
swig_const_info::type
int type
Definition: swigpyrun.h:1062
SWIG_SystemError
#define SWIG_SystemError
Definition: swigpyrun.h:175
SWIG_TypeEquiv
static int SWIG_TypeEquiv(const char *nb, const char *tb)
Definition: swigpyrun.h:445
swig_module_info::clientdata
void * clientdata
Definition: swigpyrun.h:400
mitk::AcMOVESELECTED
@ AcMOVESELECTED
Definition: mitkInteractionConst.h:307
swig_cast_info::prev
struct swig_cast_info * prev
Definition: swigpyrun.h:388
swig_globalvar::name
char * name
Definition: swigpyrun.h:1304
SWIG_BUILTIN_TP_INIT
#define SWIG_BUILTIN_TP_INIT
Definition: swigpyrun.h:1558
swig_globalvar::next
struct swig_globalvar * next
Definition: swigpyrun.h:1307
swig_type_info::str
const char * str
Definition: swigpyrun.h:376
SwigPyPacked_compare
static int SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
Definition: swigpyrun.h:2199
SwigPyPacked_type
static PyTypeObject * SwigPyPacked_type(void)
Definition: swigpyrun.h:2210
SWIG_Python_SetErrorObj
static void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj)
Definition: swigpyrun.h:1145
SwigPyPacked::pack
PyObject_HEAD void * pack
Definition: swigpyrun.h:2171
SWIG_PYTHON_THREAD_BEGIN_BLOCK
#define SWIG_PYTHON_THREAD_BEGIN_BLOCK
Definition: swigpyrun.h:1039
swig_varlink_str
static PyObject * swig_varlink_str(PyObject *o)
Definition: swigpyrun.h:1325
swig_varlink_dealloc
static void swig_varlink_dealloc(PyObject *o)
Definition: swigpyrun.h:1364
SWIG_Py_INCREF
#define SWIG_Py_INCREF
Definition: swigpyrun.h:859
SWIGRUNTIME
#define SWIGRUNTIME
Definition: swigpyrun.h:210
SWIG_POINTER_CLEAR
#define SWIG_POINTER_CLEAR
Definition: swigpyrun.h:226
SWIG_PyUnicode_AsUTF8AndSize
static const char * SWIG_PyUnicode_AsUTF8AndSize(PyObject *str, Py_ssize_t *psize, PyObject **pbytes)
Definition: swigpyrun.h:791
SWIGINTERN
#define SWIGINTERN
Definition: swigpyrun.h:94
SwigPyClientData::newargs
PyObject * newargs
Definition: swigpyrun.h:1580
SWIG_TypeClientData
static void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
Definition: swigpyrun.h:559
SwigPyPacked
Definition: swigpyrun.h:2169
SwigPyObject_repr
static PyObject * SwigPyObject_repr(SwigPyObject *v)
Definition: swigpyrun.h:1739
swig_varlinkobject::vars
PyObject_HEAD swig_globalvar * vars
Definition: swigpyrun.h:1312
SWIG_AttributeError
#define SWIG_AttributeError
Definition: swigpyrun.h:176
swig_module_info::size
size_t size
Definition: swigpyrun.h:396
SWIG_Python_NewShadowInstance
static PyObject * SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
Definition: swigpyrun.h:2677
SwigPyClientData::delargs
int delargs
Definition: swigpyrun.h:1582
SWIG_Python_AddErrMesg
static int SWIG_Python_AddErrMesg(const char *mesg, int infront)
Definition: swigpyrun.h:2968
swig_type_info
struct swig_type_info swig_type_info
SwigPyClientData_New
static SwigPyClientData * SwigPyClientData_New(PyObject *obj)
Definition: swigpyrun.h:1606
SWIG_TypePrettyName
static const char * SWIG_TypePrettyName(const swig_type_info *type)
Definition: swigpyrun.h:538
SWIG_ValueError
#define SWIG_ValueError
Definition: swigpyrun.h:174
SWIG_ERROR
#define SWIG_ERROR
Definition: swigpyrun.h:314
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
SWIG_AddNewMask
#define SWIG_AddNewMask(r)
Definition: swigpyrun.h:335
SWIG_PackDataName
static char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
Definition: swigpyrun.h:731
SwigPyObject
Definition: swigpyrun.h:1667
SWIGPY_CAPSULE_NAME
#define SWIGPY_CAPSULE_NAME
Definition: swigpyrun.h:830
SWIG_BUFFER_SIZE
#define SWIG_BUFFER_SIZE
Definition: swigpyrun.h:219
swig_type_info::owndata
int owndata
Definition: swigpyrun.h:380
SWIG_Python_UnpackTuple
static Py_ssize_t SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
Definition: swigpyrun.h:1219
SWIG_GetModule
#define SWIG_GetModule(clientdata)
Definition: swigpyrun.h:1129
SWIG_TypeName
static const SWIGINLINE char * SWIG_TypeName(const swig_type_info *ty)
Definition: swigpyrun.h:529
SWIG_TypeNameComp
static int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2)
Definition: swigpyrun.h:411
SWIG_Python_DestroyModule
static void SWIG_Python_DestroyModule(PyObject *obj)
Definition: swigpyrun.h:2890
mitk::MitkMultilabelIOMimeTypes::Get
MITKMULTILABELIO_EXPORT std::vector< CustomMimeType * > Get()
possible
use the deprecated old MITK testing style If possible
Definition: TestsGeneral.dox:104
SWIG_POINTER_IMPLICIT_CONV
#define SWIG_POINTER_IMPLICIT_CONV
Definition: swigpyrun.h:1556
SWIG_Python_CheckNoKeywords
static int SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name)
Definition: swigpyrun.h:1265
SwigPyClientData::pytype
PyTypeObject * pytype
Definition: swigpyrun.h:1584
swig_module_info::type_initial
swig_type_info ** type_initial
Definition: swigpyrun.h:398
SWIG_IndexError
#define SWIG_IndexError
Definition: swigpyrun.h:169
SWIGINTERNINLINE
#define SWIGINTERNINLINE
Definition: swigpyrun.h:99
SwigPyClientData
Definition: swigpyrun.h:1577
SwigPyObject_compare
static int SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
Definition: swigpyrun.h:1771
SWIG_Python_MustGetPtr
static void * SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
Definition: swigpyrun.h:3062
SwigPyObject_acquire
static PyObject * SwigPyObject_acquire(PyObject *v, PyObject *args)
Definition: swigpyrun.h:1942
swig_module_info::cast_initial
swig_cast_info ** cast_initial
Definition: swigpyrun.h:399
SWIG_Python_GetModule
static swig_module_info * SWIG_Python_GetModule(void *clientdata)
Definition: swigpyrun.h:2869
SWIGRUNTIMEINLINE
#define SWIGRUNTIMEINLINE
Definition: swigpyrun.h:214
SWIG_Python_ConvertPtrAndOwn
static int SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own)
Definition: swigpyrun.h:2503
SWIG_DivisionByZero
#define SWIG_DivisionByZero
Definition: swigpyrun.h:171
swig_type_info
Definition: swigpyrun.h:374
SWIG_OK
#define SWIG_OK
Definition: swigpyrun.h:312
SwigPyPacked_dealloc
static void SwigPyPacked_dealloc(PyObject *v)
Definition: swigpyrun.h:2237
SWIG_Python_SetModule
static void SWIG_Python_SetModule(swig_module_info *swig_module)
Definition: swigpyrun.h:2915
SWIG_POINTER_RELEASE
#define SWIG_POINTER_RELEASE
Definition: swigpyrun.h:227
SWIG_newvarlink
#define SWIG_newvarlink()
Definition: swigpyrun.h:1295
SwigPyClientData::destroy
PyObject * destroy
Definition: swigpyrun.h:1581
SWIG_POINTER_NO_NULL
#define SWIG_POINTER_NO_NULL
Definition: swigpyrun.h:225
SWIG_RuntimeError
#define SWIG_RuntimeError
Definition: swigpyrun.h:168
Swig_Capsule_global
static PyObject * Swig_Capsule_global
Definition: swigpyrun.h:1846