OR-Tools  9.1
constraint_solver_python_wrap.cc
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.1
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGPYTHON
13 #define SWIGPYTHON
14 #endif
15 
16 #define SWIG_DIRECTORS
17 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
18 
19 
20 #ifdef __cplusplus
21 /* SwigValueWrapper is described in swig.swg */
22 template<typename T> class SwigValueWrapper {
23  struct SwigMovePointer {
24  T *ptr;
25  SwigMovePointer(T *p) : ptr(p) { }
26  ~SwigMovePointer() { delete ptr; }
27  SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
28  } pointer;
29  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
30  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
31 public:
32  SwigValueWrapper() : pointer(0) { }
33  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
34  operator T&() const { return *pointer.ptr; }
35  T *operator&() { return pointer.ptr; }
36 };
37 
38 template <typename T> T SwigValueInit() {
39  return T();
40 }
41 #endif
42 
43 /* -----------------------------------------------------------------------------
44  * This section contains generic SWIG labels for method/variable
45  * declarations/attributes, and other compiler dependent labels.
46  * ----------------------------------------------------------------------------- */
47 
48 /* template workaround for compilers that cannot correctly implement the C++ standard */
49 #ifndef SWIGTEMPLATEDISAMBIGUATOR
50 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
51 # define SWIGTEMPLATEDISAMBIGUATOR template
52 # elif defined(__HP_aCC)
53 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
54 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
55 # define SWIGTEMPLATEDISAMBIGUATOR template
56 # else
57 # define SWIGTEMPLATEDISAMBIGUATOR
58 # endif
59 #endif
60 
61 /* inline attribute */
62 #ifndef SWIGINLINE
63 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
64 # define SWIGINLINE inline
65 # else
66 # define SWIGINLINE
67 # endif
68 #endif
69 
70 /* attribute recognised by some compilers to avoid 'unused' warnings */
71 #ifndef SWIGUNUSED
72 # if defined(__GNUC__)
73 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
74 # define SWIGUNUSED __attribute__ ((__unused__))
75 # else
76 # define SWIGUNUSED
77 # endif
78 # elif defined(__ICC)
79 # define SWIGUNUSED __attribute__ ((__unused__))
80 # else
81 # define SWIGUNUSED
82 # endif
83 #endif
84 
85 #ifndef SWIG_MSC_UNSUPPRESS_4505
86 # if defined(_MSC_VER)
87 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
88 # endif
89 #endif
90 
91 #ifndef SWIGUNUSEDPARM
92 # ifdef __cplusplus
93 # define SWIGUNUSEDPARM(p)
94 # else
95 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
96 # endif
97 #endif
98 
99 /* internal SWIG method */
100 #ifndef SWIGINTERN
101 # define SWIGINTERN static SWIGUNUSED
102 #endif
103 
104 /* internal inline SWIG method */
105 #ifndef SWIGINTERNINLINE
106 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
107 #endif
108 
109 /* exporting methods */
110 #if defined(__GNUC__)
111 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
112 # ifndef GCC_HASCLASSVISIBILITY
113 # define GCC_HASCLASSVISIBILITY
114 # endif
115 # endif
116 #endif
117 
118 #ifndef SWIGEXPORT
119 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
120 # if defined(STATIC_LINKED)
121 # define SWIGEXPORT
122 # else
123 # define SWIGEXPORT __declspec(dllexport)
124 # endif
125 # else
126 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
127 # define SWIGEXPORT __attribute__ ((visibility("default")))
128 # else
129 # define SWIGEXPORT
130 # endif
131 # endif
132 #endif
133 
134 /* calling conventions for Windows */
135 #ifndef SWIGSTDCALL
136 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
137 # define SWIGSTDCALL __stdcall
138 # else
139 # define SWIGSTDCALL
140 # endif
141 #endif
142 
143 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
144 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
145 # define _CRT_SECURE_NO_DEPRECATE
146 #endif
147 
148 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
149 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
150 # define _SCL_SECURE_NO_DEPRECATE
151 #endif
152 
153 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
154 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
155 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
156 #endif
157 
158 /* Intel's compiler complains if a variable which was never initialised is
159  * cast to void, which is a common idiom which we use to indicate that we
160  * are aware a variable isn't used. So we just silence that warning.
161  * See: https://github.com/swig/swig/issues/192 for more discussion.
162  */
163 #ifdef __INTEL_COMPILER
164 # pragma warning disable 592
165 #endif
166 
167 
168 #if defined(__GNUC__) && defined(_WIN32) && !defined(SWIG_PYTHON_NO_HYPOT_WORKAROUND)
169 /* Workaround for '::hypot' has not been declared', see https://bugs.python.org/issue11566 */
170 # include <math.h>
171 #endif
172 
173 #if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
174 /* Use debug wrappers with the Python release dll */
175 # undef _DEBUG
176 # include <Python.h>
177 # define _DEBUG 1
178 #else
179 # include <Python.h>
180 #endif
181 
182 /* -----------------------------------------------------------------------------
183  * swigrun.swg
184  *
185  * This file contains generic C API SWIG runtime support for pointer
186  * type checking.
187  * ----------------------------------------------------------------------------- */
188 
189 /* This should only be incremented when either the layout of swig_type_info changes,
190  or for whatever reason, the runtime changes incompatibly */
191 #define SWIG_RUNTIME_VERSION "4"
192 
193 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
194 #ifdef SWIG_TYPE_TABLE
195 # define SWIG_QUOTE_STRING(x) #x
196 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
197 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
198 #else
199 # define SWIG_TYPE_TABLE_NAME
200 #endif
201 
202 /*
203  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
204  creating a static or dynamic library from the SWIG runtime code.
205  In 99.9% of the cases, SWIG just needs to declare them as 'static'.
206 
207  But only do this if strictly necessary, ie, if you have problems
208  with your compiler or suchlike.
209 */
210 
211 #ifndef SWIGRUNTIME
212 # define SWIGRUNTIME SWIGINTERN
213 #endif
214 
215 #ifndef SWIGRUNTIMEINLINE
216 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
217 #endif
218 
219 /* Generic buffer size */
220 #ifndef SWIG_BUFFER_SIZE
221 # define SWIG_BUFFER_SIZE 1024
222 #endif
223 
224 /* Flags for pointer conversions */
225 #define SWIG_POINTER_DISOWN 0x1
226 #define SWIG_CAST_NEW_MEMORY 0x2
227 #define SWIG_POINTER_NO_NULL 0x4
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 to return 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 #define SWIG_ERROR (-1)
314 #define SWIG_IsOK(r) (r >= 0)
315 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
316 
317 /* The CastRankLimit says how many bits are used for the cast rank */
318 #define SWIG_CASTRANKLIMIT (1 << 8)
319 /* The NewMask denotes the object was created (using new/malloc) */
320 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
321 /* The TmpMask is for in/out typemaps that use temporal objects */
322 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
323 /* Simple returning values */
324 #define SWIG_BADOBJ (SWIG_ERROR)
325 #define SWIG_OLDOBJ (SWIG_OK)
326 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
327 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
328 /* Check, add and del mask methods */
329 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
330 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
331 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
332 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
333 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
334 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
335 
336 /* Cast-Rank Mode */
337 #if defined(SWIG_CASTRANK_MODE)
338 # ifndef SWIG_TypeRank
339 # define SWIG_TypeRank unsigned long
340 # endif
341 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
342 # define SWIG_MAXCASTRANK (2)
343 # endif
344 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
345 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
346 SWIGINTERNINLINE int SWIG_AddCast(int r) {
347  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
348 }
350  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
351 }
352 #else /* no cast-rank mode */
353 # define SWIG_AddCast(r) (r)
354 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
355 #endif
356 
357 
358 #include <string.h>
359 
360 #ifdef __cplusplus
361 extern "C" {
362 #endif
363 
364 typedef void *(*swig_converter_func)(void *, int *);
365 typedef struct swig_type_info *(*swig_dycast_func)(void **);
366 
367 /* Structure to store information on one type */
368 typedef struct swig_type_info {
369  const char *name; /* mangled name of this type */
370  const char *str; /* human readable name of this type */
371  swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
372  struct swig_cast_info *cast; /* linked list of types that can cast into this type */
373  void *clientdata; /* language specific type data */
374  int owndata; /* flag if the structure owns the clientdata */
376 
377 /* Structure to store a type and conversion function used for casting */
378 typedef struct swig_cast_info {
379  swig_type_info *type; /* pointer to type that is equivalent to this type */
380  swig_converter_func converter; /* function to cast the void pointers */
381  struct swig_cast_info *next; /* pointer to next cast in linked list */
382  struct swig_cast_info *prev; /* pointer to the previous cast */
384 
385 /* Structure used to store module information
386  * Each module generates one structure like this, and the runtime collects
387  * all of these structures and stores them in a circularly linked list.*/
388 typedef struct swig_module_info {
389  swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
390  size_t size; /* Number of types in this module */
391  struct swig_module_info *next; /* Pointer to next element in circularly linked list */
392  swig_type_info **type_initial; /* Array of initially generated type structures */
393  swig_cast_info **cast_initial; /* Array of initially generated casting structures */
394  void *clientdata; /* Language specific module data */
396 
397 /*
398  Compare two type names skipping the space characters, therefore
399  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
400 
401  Return 0 when the two name types are equivalent, as in
402  strncmp, but skipping ' '.
403 */
404 SWIGRUNTIME int
405 SWIG_TypeNameComp(const char *f1, const char *l1,
406  const char *f2, const char *l2) {
407  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
408  while ((*f1 == ' ') && (f1 != l1)) ++f1;
409  while ((*f2 == ' ') && (f2 != l2)) ++f2;
410  if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
411  }
412  return (int)((l1 - f1) - (l2 - f2));
413 }
414 
415 /*
416  Check type equivalence in a name list like <name1>|<name2>|...
417  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
418 */
419 SWIGRUNTIME int
420 SWIG_TypeCmp(const char *nb, const char *tb) {
421  int equiv = 1;
422  const char* te = tb + strlen(tb);
423  const char* ne = nb;
424  while (equiv != 0 && *ne) {
425  for (nb = ne; *ne; ++ne) {
426  if (*ne == '|') break;
427  }
428  equiv = SWIG_TypeNameComp(nb, ne, tb, te);
429  if (*ne) ++ne;
430  }
431  return equiv;
432 }
433 
434 /*
435  Check type equivalence in a name list like <name1>|<name2>|...
436  Return 0 if not equal, 1 if equal
437 */
438 SWIGRUNTIME int
439 SWIG_TypeEquiv(const char *nb, const char *tb) {
440  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
441 }
442 
443 /*
444  Check the typename
445 */
447 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
448  if (ty) {
449  swig_cast_info *iter = ty->cast;
450  while (iter) {
451  if (strcmp(iter->type->name, c) == 0) {
452  if (iter == ty->cast)
453  return iter;
454  /* Move iter to the top of the linked list */
455  iter->prev->next = iter->next;
456  if (iter->next)
457  iter->next->prev = iter->prev;
458  iter->next = ty->cast;
459  iter->prev = 0;
460  if (ty->cast) ty->cast->prev = iter;
461  ty->cast = iter;
462  return iter;
463  }
464  iter = iter->next;
465  }
466  }
467  return 0;
468 }
469 
470 /*
471  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
472 */
475  if (ty) {
476  swig_cast_info *iter = ty->cast;
477  while (iter) {
478  if (iter->type == from) {
479  if (iter == ty->cast)
480  return iter;
481  /* Move iter to the top of the linked list */
482  iter->prev->next = iter->next;
483  if (iter->next)
484  iter->next->prev = iter->prev;
485  iter->next = ty->cast;
486  iter->prev = 0;
487  if (ty->cast) ty->cast->prev = iter;
488  ty->cast = iter;
489  return iter;
490  }
491  iter = iter->next;
492  }
493  }
494  return 0;
495 }
496 
497 /*
498  Cast a pointer up an inheritance hierarchy
499 */
500 SWIGRUNTIMEINLINE void *
501 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
502  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
503 }
504 
505 /*
506  Dynamic pointer casting. Down an inheritance hierarchy
507 */
510  swig_type_info *lastty = ty;
511  if (!ty || !ty->dcast) return ty;
512  while (ty && (ty->dcast)) {
513  ty = (*ty->dcast)(ptr);
514  if (ty) lastty = ty;
515  }
516  return lastty;
517 }
518 
519 /*
520  Return the name associated with this type
521 */
522 SWIGRUNTIMEINLINE const char *
524  return ty->name;
525 }
526 
527 /*
528  Return the pretty name associated with this type,
529  that is an unmangled type name in a form presentable to the user.
530 */
531 SWIGRUNTIME const char *
533  /* The "str" field contains the equivalent pretty names of the
534  type, separated by vertical-bar characters. We choose
535  to print the last name, as it is often (?) the most
536  specific. */
537  if (!type) return NULL;
538  if (type->str != NULL) {
539  const char *last_name = type->str;
540  const char *s;
541  for (s = type->str; *s; s++)
542  if (*s == '|') last_name = s+1;
543  return last_name;
544  }
545  else
546  return type->name;
547 }
548 
549 /*
550  Set the clientdata field for a type
551 */
552 SWIGRUNTIME void
554  swig_cast_info *cast = ti->cast;
555  /* if (ti->clientdata == clientdata) return; */
556  ti->clientdata = clientdata;
557 
558  while (cast) {
559  if (!cast->converter) {
560  swig_type_info *tc = cast->type;
561  if (!tc->clientdata) {
563  }
564  }
565  cast = cast->next;
566  }
567 }
568 SWIGRUNTIME void
571  ti->owndata = 1;
572 }
573 
574 /*
575  Search for a swig_type_info structure only by mangled name
576  Search is a O(log #types)
577 
578  We start searching at module start, and finish searching when start == end.
579  Note: if start == end at the beginning of the function, we go all the way around
580  the circular list.
581 */
584  swig_module_info *end,
585  const char *name) {
586  swig_module_info *iter = start;
587  do {
588  if (iter->size) {
589  size_t l = 0;
590  size_t r = iter->size - 1;
591  do {
592  /* since l+r >= 0, we can (>> 1) instead (/ 2) */
593  size_t i = (l + r) >> 1;
594  const char *iname = iter->types[i]->name;
595  if (iname) {
596  int compare = strcmp(name, iname);
597  if (compare == 0) {
598  return iter->types[i];
599  } else if (compare < 0) {
600  if (i) {
601  r = i - 1;
602  } else {
603  break;
604  }
605  } else if (compare > 0) {
606  l = i + 1;
607  }
608  } else {
609  break; /* should never happen */
610  }
611  } while (l <= r);
612  }
613  iter = iter->next;
614  } while (iter != end);
615  return 0;
616 }
617 
618 /*
619  Search for a swig_type_info structure for either a mangled name or a human readable name.
620  It first searches the mangled names of the types, which is a O(log #types)
621  If a type is not found it then searches the human readable names, which is O(#types).
622 
623  We start searching at module start, and finish searching when start == end.
624  Note: if start == end at the beginning of the function, we go all the way around
625  the circular list.
626 */
629  swig_module_info *end,
630  const char *name) {
631  /* STEP 1: Search the name field using binary search */
632  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
633  if (ret) {
634  return ret;
635  } else {
636  /* STEP 2: If the type hasn't been found, do a complete search
637  of the str field (the human readable name) */
638  swig_module_info *iter = start;
639  do {
640  size_t i = 0;
641  for (; i < iter->size; ++i) {
642  if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
643  return iter->types[i];
644  }
645  iter = iter->next;
646  } while (iter != end);
647  }
648 
649  /* neither found a match */
650  return 0;
651 }
652 
653 /*
654  Pack binary data into a string
655 */
656 SWIGRUNTIME char *
657 SWIG_PackData(char *c, void *ptr, size_t sz) {
658  static const char hex[17] = "0123456789abcdef";
659  const unsigned char *u = (unsigned char *) ptr;
660  const unsigned char *eu = u + sz;
661  for (; u != eu; ++u) {
662  unsigned char uu = *u;
663  *(c++) = hex[(uu & 0xf0) >> 4];
664  *(c++) = hex[uu & 0xf];
665  }
666  return c;
667 }
668 
669 /*
670  Unpack binary data from a string
671 */
672 SWIGRUNTIME const char *
673 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
674  unsigned char *u = (unsigned char *) ptr;
675  const unsigned char *eu = u + sz;
676  for (; u != eu; ++u) {
677  char d = *(c++);
678  unsigned char uu;
679  if ((d >= '0') && (d <= '9'))
680  uu = (unsigned char)((d - '0') << 4);
681  else if ((d >= 'a') && (d <= 'f'))
682  uu = (unsigned char)((d - ('a'-10)) << 4);
683  else
684  return (char *) 0;
685  d = *(c++);
686  if ((d >= '0') && (d <= '9'))
687  uu |= (unsigned char)(d - '0');
688  else if ((d >= 'a') && (d <= 'f'))
689  uu |= (unsigned char)(d - ('a'-10));
690  else
691  return (char *) 0;
692  *u = uu;
693  }
694  return c;
695 }
696 
697 /*
698  Pack 'void *' into a string buffer.
699 */
700 SWIGRUNTIME char *
701 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
702  char *r = buff;
703  if ((2*sizeof(void *) + 2) > bsz) return 0;
704  *(r++) = '_';
705  r = SWIG_PackData(r,&ptr,sizeof(void *));
706  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
707  strcpy(r,name);
708  return buff;
709 }
710 
711 SWIGRUNTIME const char *
712 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
713  if (*c != '_') {
714  if (strcmp(c,"NULL") == 0) {
715  *ptr = (void *) 0;
716  return name;
717  } else {
718  return 0;
719  }
720  }
721  return SWIG_UnpackData(++c,ptr,sizeof(void *));
722 }
723 
724 SWIGRUNTIME char *
725 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
726  char *r = buff;
727  size_t lname = (name ? strlen(name) : 0);
728  if ((2*sz + 2 + lname) > bsz) return 0;
729  *(r++) = '_';
730  r = SWIG_PackData(r,ptr,sz);
731  if (lname) {
732  strncpy(r,name,lname+1);
733  } else {
734  *r = 0;
735  }
736  return buff;
737 }
738 
739 SWIGRUNTIME const char *
740 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
741  if (*c != '_') {
742  if (strcmp(c,"NULL") == 0) {
743  memset(ptr,0,sz);
744  return name;
745  } else {
746  return 0;
747  }
748  }
749  return SWIG_UnpackData(++c,ptr,sz);
750 }
751 
752 #ifdef __cplusplus
753 }
754 #endif
755 
756 /* Errors in SWIG */
757 #define SWIG_UnknownError -1
758 #define SWIG_IOError -2
759 #define SWIG_RuntimeError -3
760 #define SWIG_IndexError -4
761 #define SWIG_TypeError -5
762 #define SWIG_DivisionByZero -6
763 #define SWIG_OverflowError -7
764 #define SWIG_SyntaxError -8
765 #define SWIG_ValueError -9
766 #define SWIG_SystemError -10
767 #define SWIG_AttributeError -11
768 #define SWIG_MemoryError -12
769 #define SWIG_NullReferenceError -13
770 
771 
772 
773 /* Compatibility macros for Python 3 */
774 #if PY_VERSION_HEX >= 0x03000000
775 
776 #define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
777 #define PyInt_Check(x) PyLong_Check(x)
778 #define PyInt_AsLong(x) PyLong_AsLong(x)
779 #define PyInt_FromLong(x) PyLong_FromLong(x)
780 #define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
781 #define PyString_Check(name) PyBytes_Check(name)
782 #define PyString_FromString(x) PyUnicode_FromString(x)
783 #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
784 #define PyString_AsString(str) PyBytes_AsString(str)
785 #define PyString_Size(str) PyBytes_Size(str)
786 #define PyString_InternFromString(key) PyUnicode_InternFromString(key)
787 #define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE
788 #define PyString_AS_STRING(x) PyUnicode_AS_STRING(x)
789 #define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
790 
791 #endif
792 
793 #ifndef Py_TYPE
794 # define Py_TYPE(op) ((op)->ob_type)
795 #endif
796 
797 /* SWIG APIs for compatibility of both Python 2 & 3 */
798 
799 #if PY_VERSION_HEX >= 0x03000000
800 # define SWIG_Python_str_FromFormat PyUnicode_FromFormat
801 #else
802 # define SWIG_Python_str_FromFormat PyString_FromFormat
803 #endif
804 
805 
806 /* Warning: This function will allocate a new string in Python 3,
807  * so please call SWIG_Python_str_DelForPy3(x) to free the space.
808  */
809 SWIGINTERN char*
811 {
812 #if PY_VERSION_HEX >= 0x03000000
813  char *newstr = 0;
814  str = PyUnicode_AsUTF8String(str);
815  if (str) {
816  char *cstr;
817  Py_ssize_t len;
818  PyBytes_AsStringAndSize(str, &cstr, &len);
819  newstr = (char *) malloc(len+1);
820  memcpy(newstr, cstr, len+1);
821  Py_XDECREF(str);
822  }
823  return newstr;
824 #else
825  return PyString_AsString(str);
826 #endif
827 }
828 
829 #if PY_VERSION_HEX >= 0x03000000
830 # define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
831 #else
832 # define SWIG_Python_str_DelForPy3(x)
833 #endif
834 
835 
836 SWIGINTERN PyObject*
838 {
839 #if PY_VERSION_HEX >= 0x03000000
840  return PyUnicode_FromString(c);
841 #else
842  return PyString_FromString(c);
843 #endif
844 }
845 
846 #ifndef PyObject_DEL
847 # define PyObject_DEL PyObject_Del
848 #endif
849 
850 // SWIGPY_USE_CAPSULE is no longer used within SWIG itself, but some user
851 // interface files check for it.
852 # define SWIGPY_USE_CAPSULE
853 # define SWIGPY_CAPSULE_NAME ("swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
854 
855 #if PY_VERSION_HEX < 0x03020000
856 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
857 #define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name)
858 #define Py_hash_t long
859 #endif
860 
861 /* -----------------------------------------------------------------------------
862  * error manipulation
863  * ----------------------------------------------------------------------------- */
864 
865 SWIGRUNTIME PyObject*
867  PyObject* type = 0;
868  switch(code) {
869  case SWIG_MemoryError:
870  type = PyExc_MemoryError;
871  break;
872  case SWIG_IOError:
873  type = PyExc_IOError;
874  break;
875  case SWIG_RuntimeError:
876  type = PyExc_RuntimeError;
877  break;
878  case SWIG_IndexError:
879  type = PyExc_IndexError;
880  break;
881  case SWIG_TypeError:
882  type = PyExc_TypeError;
883  break;
884  case SWIG_DivisionByZero:
885  type = PyExc_ZeroDivisionError;
886  break;
887  case SWIG_OverflowError:
888  type = PyExc_OverflowError;
889  break;
890  case SWIG_SyntaxError:
891  type = PyExc_SyntaxError;
892  break;
893  case SWIG_ValueError:
894  type = PyExc_ValueError;
895  break;
896  case SWIG_SystemError:
897  type = PyExc_SystemError;
898  break;
899  case SWIG_AttributeError:
900  type = PyExc_AttributeError;
901  break;
902  default:
903  type = PyExc_RuntimeError;
904  }
905  return type;
906 }
907 
908 
909 SWIGRUNTIME void
910 SWIG_Python_AddErrorMsg(const char* mesg)
911 {
912  PyObject *type = 0;
913  PyObject *value = 0;
914  PyObject *traceback = 0;
915 
916  if (PyErr_Occurred())
917  PyErr_Fetch(&type, &value, &traceback);
918  if (value) {
919  PyObject *old_str = PyObject_Str(value);
920  const char *tmp = SWIG_Python_str_AsChar(old_str);
921  PyErr_Clear();
922  Py_XINCREF(type);
923  if (tmp)
924  PyErr_Format(type, "%s %s", tmp, mesg);
925  else
926  PyErr_Format(type, "%s", mesg);
928  Py_DECREF(old_str);
929  Py_DECREF(value);
930  } else {
931  PyErr_SetString(PyExc_RuntimeError, mesg);
932  }
933 }
934 
935 SWIGRUNTIME int
937 {
938  PyObject *error;
939  if (obj)
940  return 0;
941  error = PyErr_Occurred();
942  return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
943 }
944 
945 SWIGRUNTIME void
947 {
948  if (SWIG_Python_TypeErrorOccurred(NULL)) {
949  /* Use existing TypeError to preserve stacktrace and enhance with given message */
950  PyObject *newvalue;
951  PyObject *type = NULL, *value = NULL, *traceback = NULL;
952  PyErr_Fetch(&type, &value, &traceback);
953 #if PY_VERSION_HEX >= 0x03000000
954  newvalue = PyUnicode_FromFormat("%S\nAdditional information:\n%s", value, message);
955 #else
956  newvalue = PyString_FromFormat("%s\nAdditional information:\n%s", PyString_AsString(value), message);
957 #endif
958  Py_XDECREF(value);
959  PyErr_Restore(type, newvalue, traceback);
960  } else {
961  /* Raise TypeError using given message */
962  PyErr_SetString(PyExc_TypeError, message);
963  }
964 }
965 
966 #if defined(SWIG_PYTHON_NO_THREADS)
967 # if defined(SWIG_PYTHON_THREADS)
968 # undef SWIG_PYTHON_THREADS
969 # endif
970 #endif
971 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
972 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
973 # define SWIG_PYTHON_USE_GIL
974 # endif
975 # if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
976 # ifndef SWIG_PYTHON_INITIALIZE_THREADS
977 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
978 # endif
979 # ifdef __cplusplus /* C++ code */
980  class SWIG_Python_Thread_Block {
981  bool status;
982  PyGILState_STATE state;
983  public:
984  void end() { if (status) { PyGILState_Release(state); status = false;} }
985  SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
986  ~SWIG_Python_Thread_Block() { end(); }
987  };
988  class SWIG_Python_Thread_Allow {
989  bool status;
990  PyThreadState *save;
991  public:
992  void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
993  SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
994  ~SWIG_Python_Thread_Allow() { end(); }
995  };
996 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
997 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
998 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
999 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
1000 # else /* C code */
1001 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1002 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
1003 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1004 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
1005 # endif
1006 # else /* Old thread way, not implemented, user must provide it */
1007 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
1008 # define SWIG_PYTHON_INITIALIZE_THREADS
1009 # endif
1010 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
1011 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1012 # endif
1013 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
1014 # define SWIG_PYTHON_THREAD_END_BLOCK
1015 # endif
1016 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
1017 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1018 # endif
1019 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
1020 # define SWIG_PYTHON_THREAD_END_ALLOW
1021 # endif
1022 # endif
1023 #else /* No thread support */
1024 # define SWIG_PYTHON_INITIALIZE_THREADS
1025 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1026 # define SWIG_PYTHON_THREAD_END_BLOCK
1027 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1028 # define SWIG_PYTHON_THREAD_END_ALLOW
1029 #endif
1030 
1031 /* -----------------------------------------------------------------------------
1032  * Python API portion that goes into the runtime
1033  * ----------------------------------------------------------------------------- */
1034 
1035 #ifdef __cplusplus
1036 extern "C" {
1037 #endif
1038 
1039 /* -----------------------------------------------------------------------------
1040  * Constant declarations
1041  * ----------------------------------------------------------------------------- */
1042 
1043 /* Constant Types */
1044 #define SWIG_PY_POINTER 4
1045 #define SWIG_PY_BINARY 5
1046 
1047 /* Constant information structure */
1048 typedef struct swig_const_info {
1049  int type;
1050  const char *name;
1051  long lvalue;
1052  double dvalue;
1053  void *pvalue;
1055 } swig_const_info;
1056 
1057 #ifdef __cplusplus
1058 }
1059 #endif
1060 
1061 
1062 /* -----------------------------------------------------------------------------
1063  * pyrun.swg
1064  *
1065  * This file contains the runtime support for Python modules
1066  * and includes code for managing global variables and pointer
1067  * type checking.
1068  *
1069  * ----------------------------------------------------------------------------- */
1070 
1071 #if PY_VERSION_HEX < 0x02070000 /* 2.7.0 */
1072 # error "This version of SWIG only supports Python >= 2.7"
1073 #endif
1074 
1075 #if PY_VERSION_HEX >= 0x03000000 && PY_VERSION_HEX < 0x03020000
1076 # error "This version of SWIG only supports Python 3 >= 3.2"
1077 #endif
1078 
1079 /* Common SWIG API */
1080 
1081 /* for raw pointers */
1082 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1083 #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
1084 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1085 
1086 #ifdef SWIGPYTHON_BUILTIN
1087 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags)
1088 #else
1089 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1090 #endif
1091 
1092 #define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1093 
1094 #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
1095 #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
1096 #define swig_owntype int
1097 
1098 /* for raw packed data */
1099 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1100 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1101 
1102 /* for class or struct pointers */
1103 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
1104 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
1105 
1106 /* for C or C++ function pointers */
1107 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1108 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0)
1109 
1110 /* for C++ member pointers, ie, member methods */
1111 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1112 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1113 
1114 
1115 /* Runtime API */
1116 
1117 #define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata)
1118 #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
1119 #define SWIG_NewClientData(obj) SwigPyClientData_New(obj)
1120 
1121 #define SWIG_SetErrorObj SWIG_Python_SetErrorObj
1122 #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
1123 #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
1124 #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1125 #define SWIG_fail goto fail
1126 
1127 
1128 /* Runtime API implementation */
1129 
1130 /* Error manipulation */
1131 
1132 SWIGINTERN void
1133 SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1135  PyErr_SetObject(errtype, obj);
1136  Py_DECREF(obj);
1138 }
1139 
1140 SWIGINTERN void
1141 SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1143  PyErr_SetString(errtype, msg);
1145 }
1146 
1147 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1148 
1149 /* Set a constant value */
1150 
1151 #if defined(SWIGPYTHON_BUILTIN)
1152 
1153 SWIGINTERN void
1154 SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) {
1155  PyObject *s = PyString_InternFromString(key);
1156  PyList_Append(seq, s);
1157  Py_DECREF(s);
1158 }
1159 
1160 SWIGINTERN void
1161 SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) {
1162  PyDict_SetItemString(d, name, obj);
1163  Py_DECREF(obj);
1164  if (public_interface)
1165  SwigPyBuiltin_AddPublicSymbol(public_interface, name);
1166 }
1167 
1168 #else
1169 
1170 SWIGINTERN void
1171 SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1172  PyDict_SetItemString(d, name, obj);
1173  Py_DECREF(obj);
1174 }
1175 
1176 #endif
1177 
1178 /* Append a value to the result obj */
1179 
1180 SWIGINTERN PyObject*
1181 SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1182  if (!result) {
1183  result = obj;
1184  } else if (result == Py_None) {
1185  Py_DECREF(result);
1186  result = obj;
1187  } else {
1188  if (!PyList_Check(result)) {
1189  PyObject *o2 = result;
1190  result = PyList_New(1);
1191  PyList_SetItem(result, 0, o2);
1192  }
1193  PyList_Append(result,obj);
1194  Py_DECREF(obj);
1195  }
1196  return result;
1197 }
1198 
1199 /* Unpack the argument tuple */
1200 
1201 SWIGINTERN Py_ssize_t
1202 SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1203 {
1204  if (!args) {
1205  if (!min && !max) {
1206  return 1;
1207  } else {
1208  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1209  name, (min == max ? "" : "at least "), (int)min);
1210  return 0;
1211  }
1212  }
1213  if (!PyTuple_Check(args)) {
1214  if (min <= 1 && max >= 1) {
1215  Py_ssize_t i;
1216  objs[0] = args;
1217  for (i = 1; i < max; ++i) {
1218  objs[i] = 0;
1219  }
1220  return 2;
1221  }
1222  PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1223  return 0;
1224  } else {
1225  Py_ssize_t l = PyTuple_GET_SIZE(args);
1226  if (l < min) {
1227  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1228  name, (min == max ? "" : "at least "), (int)min, (int)l);
1229  return 0;
1230  } else if (l > max) {
1231  PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1232  name, (min == max ? "" : "at most "), (int)max, (int)l);
1233  return 0;
1234  } else {
1235  Py_ssize_t i;
1236  for (i = 0; i < l; ++i) {
1237  objs[i] = PyTuple_GET_ITEM(args, i);
1238  }
1239  for (; l < max; ++l) {
1240  objs[l] = 0;
1241  }
1242  return i + 1;
1243  }
1244  }
1245 }
1246 
1247 /* A functor is a function object with one single object argument */
1248 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
1249 
1250 /*
1251  Helper for static pointer initialization for both C and C++ code, for example
1252  static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1253 */
1254 #ifdef __cplusplus
1255 #define SWIG_STATIC_POINTER(var) var
1256 #else
1257 #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1258 #endif
1259 
1260 /* -----------------------------------------------------------------------------
1261  * Pointer declarations
1262  * ----------------------------------------------------------------------------- */
1263 
1264 /* Flags for new pointer objects */
1265 #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
1266 #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1267 
1268 #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1269 
1270 #define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2)
1271 #define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN)
1272 
1273 #ifdef __cplusplus
1274 extern "C" {
1275 #endif
1276 
1277 /* The python void return value */
1278 
1279 SWIGRUNTIMEINLINE PyObject *
1281 {
1282  PyObject *none = Py_None;
1283  Py_INCREF(none);
1284  return none;
1285 }
1286 
1287 /* SwigPyClientData */
1288 
1289 typedef struct {
1290  PyObject *klass;
1291  PyObject *newraw;
1292  PyObject *newargs;
1293  PyObject *destroy;
1294  int delargs;
1295  int implicitconv;
1296  PyTypeObject *pytype;
1298 
1299 SWIGRUNTIMEINLINE int
1301 {
1303  int fail = data ? data->implicitconv : 0;
1304  if (fail)
1305  PyErr_SetString(PyExc_TypeError, "Implicit conversion is prohibited for explicit constructors.");
1306  return fail;
1307 }
1308 
1309 SWIGRUNTIMEINLINE PyObject *
1311  SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
1312  PyObject *klass = data ? data->klass : 0;
1313  return (klass ? klass : PyExc_RuntimeError);
1314 }
1315 
1316 
1318 SwigPyClientData_New(PyObject* obj)
1319 {
1320  if (!obj) {
1321  return 0;
1322  } else {
1324  /* the klass element */
1325  data->klass = obj;
1326  Py_INCREF(data->klass);
1327  /* the newraw method and newargs arguments used to create a new raw instance */
1328  if (PyClass_Check(obj)) {
1329  data->newraw = 0;
1330  data->newargs = obj;
1331  Py_INCREF(obj);
1332  } else {
1333  data->newraw = PyObject_GetAttrString(data->klass, "__new__");
1334  if (data->newraw) {
1335  Py_INCREF(data->newraw);
1336  data->newargs = PyTuple_New(1);
1337  PyTuple_SetItem(data->newargs, 0, obj);
1338  } else {
1339  data->newargs = obj;
1340  }
1341  Py_INCREF(data->newargs);
1342  }
1343  /* the destroy method, aka as the C++ delete method */
1344  data->destroy = PyObject_GetAttrString(data->klass, "__swig_destroy__");
1345  if (PyErr_Occurred()) {
1346  PyErr_Clear();
1347  data->destroy = 0;
1348  }
1349  if (data->destroy) {
1350  int flags;
1351  Py_INCREF(data->destroy);
1352  flags = PyCFunction_GET_FLAGS(data->destroy);
1353  data->delargs = !(flags & (METH_O));
1354  } else {
1355  data->delargs = 0;
1356  }
1357  data->implicitconv = 0;
1358  data->pytype = 0;
1359  return data;
1360  }
1361 }
1362 
1363 SWIGRUNTIME void
1365  Py_XDECREF(data->newraw);
1366  Py_XDECREF(data->newargs);
1367  Py_XDECREF(data->destroy);
1368 }
1369 
1370 /* =============== SwigPyObject =====================*/
1371 
1372 typedef struct {
1373  PyObject_HEAD
1374  void *ptr;
1375  swig_type_info *ty;
1376  int own;
1377  PyObject *next;
1378 #ifdef SWIGPYTHON_BUILTIN
1379  PyObject *dict;
1380 #endif
1381 } SwigPyObject;
1382 
1383 
1384 #ifdef SWIGPYTHON_BUILTIN
1385 
1386 SWIGRUNTIME PyObject *
1387 SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1388 {
1389  SwigPyObject *sobj = (SwigPyObject *)v;
1390 
1391  if (!sobj->dict)
1392  sobj->dict = PyDict_New();
1393 
1394  Py_INCREF(sobj->dict);
1395  return sobj->dict;
1396 }
1397 
1398 #endif
1399 
1400 SWIGRUNTIME PyObject *
1402 {
1403  return PyLong_FromVoidPtr(v->ptr);
1404 }
1405 
1406 SWIGRUNTIME PyObject *
1407 SwigPyObject_format(const char* fmt, SwigPyObject *v)
1408 {
1409  PyObject *res = NULL;
1410  PyObject *args = PyTuple_New(1);
1411  if (args) {
1412  if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) {
1413  PyObject *ofmt = SWIG_Python_str_FromChar(fmt);
1414  if (ofmt) {
1415 #if PY_VERSION_HEX >= 0x03000000
1416  res = PyUnicode_Format(ofmt,args);
1417 #else
1418  res = PyString_Format(ofmt,args);
1419 #endif
1420  Py_DECREF(ofmt);
1421  }
1422  Py_DECREF(args);
1423  }
1424  }
1425  return res;
1426 }
1427 
1428 SWIGRUNTIME PyObject *
1430 {
1431  return SwigPyObject_format("%o",v);
1432 }
1433 
1434 SWIGRUNTIME PyObject *
1436 {
1437  return SwigPyObject_format("%x",v);
1438 }
1439 
1440 SWIGRUNTIME PyObject *
1442 {
1443  const char *name = SWIG_TypePrettyName(v->ty);
1444  PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", (name ? name : "unknown"), (void *)v);
1445  if (v->next) {
1446  PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
1447 # if PY_VERSION_HEX >= 0x03000000
1448  PyObject *joined = PyUnicode_Concat(repr, nrep);
1449  Py_DecRef(repr);
1450  Py_DecRef(nrep);
1451  repr = joined;
1452 # else
1453  PyString_ConcatAndDel(&repr,nrep);
1454 # endif
1455  }
1456  return repr;
1457 }
1458 
1459 /* We need a version taking two PyObject* parameters so it's a valid
1460  * PyCFunction to use in swigobject_methods[]. */
1461 SWIGRUNTIME PyObject *
1462 SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1463 {
1464  return SwigPyObject_repr((SwigPyObject*)v);
1465 }
1466 
1467 SWIGRUNTIME int
1469 {
1470  void *i = v->ptr;
1471  void *j = w->ptr;
1472  return (i < j) ? -1 : ((i > j) ? 1 : 0);
1473 }
1474 
1475 /* Added for Python 3.x, would it also be useful for Python 2.x? */
1476 SWIGRUNTIME PyObject*
1478 {
1479  PyObject* res;
1480  if( op != Py_EQ && op != Py_NE ) {
1481  Py_INCREF(Py_NotImplemented);
1482  return Py_NotImplemented;
1483  }
1484  res = PyBool_FromLong( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) ? 1 : 0);
1485  return res;
1486 }
1487 
1488 
1489 SWIGRUNTIME PyTypeObject* SwigPyObject_TypeOnce(void);
1490 
1491 #ifdef SWIGPYTHON_BUILTIN
1492 static swig_type_info *SwigPyObject_stype = 0;
1493 SWIGRUNTIME PyTypeObject*
1494 SwigPyObject_type(void) {
1495  SwigPyClientData *cd;
1496  assert(SwigPyObject_stype);
1497  cd = (SwigPyClientData*) SwigPyObject_stype->clientdata;
1498  assert(cd);
1499  assert(cd->pytype);
1500  return cd->pytype;
1501 }
1502 #else
1503 SWIGRUNTIME PyTypeObject*
1505  static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyObject_TypeOnce();
1506  return type;
1507 }
1508 #endif
1509 
1511 SwigPyObject_Check(PyObject *op) {
1512 #ifdef SWIGPYTHON_BUILTIN
1513  PyTypeObject *target_tp = SwigPyObject_type();
1514  if (PyType_IsSubtype(op->ob_type, target_tp))
1515  return 1;
1516  return (strcmp(op->ob_type->tp_name, "SwigPyObject") == 0);
1517 #else
1518  return (Py_TYPE(op) == SwigPyObject_type())
1519  || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0);
1520 #endif
1521 }
1522 
1523 SWIGRUNTIME PyObject *
1524 SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
1525 
1526 SWIGRUNTIME void
1528 {
1529  SwigPyObject *sobj = (SwigPyObject *) v;
1530  PyObject *next = sobj->next;
1531  if (sobj->own == SWIG_POINTER_OWN) {
1532  swig_type_info *ty = sobj->ty;
1533  SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
1534  PyObject *destroy = data ? data->destroy : 0;
1535  if (destroy) {
1536  /* destroy is always a VARARGS method */
1537  PyObject *res;
1538 
1539  /* PyObject_CallFunction() has the potential to silently drop
1540  the active exception. In cases of unnamed temporary
1541  variable or where we just finished iterating over a generator
1542  StopIteration will be active right now, and this needs to
1543  remain true upon return from SwigPyObject_dealloc. So save
1544  and restore. */
1545 
1546  PyObject *type = NULL, *value = NULL, *traceback = NULL;
1547  PyErr_Fetch(&type, &value, &traceback);
1548 
1549  if (data->delargs) {
1550  /* we need to create a temporary object to carry the destroy operation */
1551  PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
1552  res = SWIG_Python_CallFunctor(destroy, tmp);
1553  Py_DECREF(tmp);
1554  } else {
1555  PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1556  PyObject *mself = PyCFunction_GET_SELF(destroy);
1557  res = ((*meth)(mself, v));
1558  }
1559  if (!res)
1560  PyErr_WriteUnraisable(destroy);
1561 
1562  PyErr_Restore(type, value, traceback);
1563 
1564  Py_XDECREF(res);
1565  }
1566 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1567  else {
1568  const char *name = SWIG_TypePrettyName(ty);
1569  printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1570  }
1571 #endif
1572  }
1573  Py_XDECREF(next);
1574  PyObject_DEL(v);
1575 }
1576 
1577 SWIGRUNTIME PyObject*
1578 SwigPyObject_append(PyObject* v, PyObject* next)
1579 {
1580  SwigPyObject *sobj = (SwigPyObject *) v;
1581  if (!SwigPyObject_Check(next)) {
1582  PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
1583  return NULL;
1584  }
1585  sobj->next = next;
1586  Py_INCREF(next);
1587  return SWIG_Py_Void();
1588 }
1589 
1590 SWIGRUNTIME PyObject*
1591 SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1592 {
1593  SwigPyObject *sobj = (SwigPyObject *) v;
1594  if (sobj->next) {
1595  Py_INCREF(sobj->next);
1596  return sobj->next;
1597  } else {
1598  return SWIG_Py_Void();
1599  }
1600 }
1601 
1602 SWIGINTERN PyObject*
1603 SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1604 {
1605  SwigPyObject *sobj = (SwigPyObject *)v;
1606  sobj->own = 0;
1607  return SWIG_Py_Void();
1608 }
1609 
1610 SWIGINTERN PyObject*
1611 SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1612 {
1613  SwigPyObject *sobj = (SwigPyObject *)v;
1614  sobj->own = SWIG_POINTER_OWN;
1615  return SWIG_Py_Void();
1616 }
1617 
1618 SWIGINTERN PyObject*
1619 SwigPyObject_own(PyObject *v, PyObject *args)
1620 {
1621  PyObject *val = 0;
1622  if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) {
1623  return NULL;
1624  } else {
1625  SwigPyObject *sobj = (SwigPyObject *)v;
1626  PyObject *obj = PyBool_FromLong(sobj->own);
1627  if (val) {
1628  if (PyObject_IsTrue(val)) {
1629  SwigPyObject_acquire(v,args);
1630  } else {
1631  SwigPyObject_disown(v,args);
1632  }
1633  }
1634  return obj;
1635  }
1636 }
1637 
1638 static PyMethodDef
1640  {"disown", SwigPyObject_disown, METH_NOARGS, "releases ownership of the pointer"},
1641  {"acquire", SwigPyObject_acquire, METH_NOARGS, "acquires ownership of the pointer"},
1642  {"own", SwigPyObject_own, METH_VARARGS, "returns/sets ownership of the pointer"},
1643  {"append", SwigPyObject_append, METH_O, "appends another 'this' object"},
1644  {"next", SwigPyObject_next, METH_NOARGS, "returns the next 'this' object"},
1645  {"__repr__",SwigPyObject_repr2, METH_NOARGS, "returns object representation"},
1646  {0, 0, 0, 0}
1647 };
1648 
1649 SWIGRUNTIME PyTypeObject*
1651  static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1652 
1653  static PyNumberMethods SwigPyObject_as_number = {
1654  (binaryfunc)0, /*nb_add*/
1655  (binaryfunc)0, /*nb_subtract*/
1656  (binaryfunc)0, /*nb_multiply*/
1657  /* nb_divide removed in Python 3 */
1658 #if PY_VERSION_HEX < 0x03000000
1659  (binaryfunc)0, /*nb_divide*/
1660 #endif
1661  (binaryfunc)0, /*nb_remainder*/
1662  (binaryfunc)0, /*nb_divmod*/
1663  (ternaryfunc)0,/*nb_power*/
1664  (unaryfunc)0, /*nb_negative*/
1665  (unaryfunc)0, /*nb_positive*/
1666  (unaryfunc)0, /*nb_absolute*/
1667  (inquiry)0, /*nb_nonzero*/
1668  0, /*nb_invert*/
1669  0, /*nb_lshift*/
1670  0, /*nb_rshift*/
1671  0, /*nb_and*/
1672  0, /*nb_xor*/
1673  0, /*nb_or*/
1674 #if PY_VERSION_HEX < 0x03000000
1675  0, /*nb_coerce*/
1676 #endif
1677  (unaryfunc)SwigPyObject_long, /*nb_int*/
1678 #if PY_VERSION_HEX < 0x03000000
1679  (unaryfunc)SwigPyObject_long, /*nb_long*/
1680 #else
1681  0, /*nb_reserved*/
1682 #endif
1683  (unaryfunc)0, /*nb_float*/
1684 #if PY_VERSION_HEX < 0x03000000
1685  (unaryfunc)SwigPyObject_oct, /*nb_oct*/
1686  (unaryfunc)SwigPyObject_hex, /*nb_hex*/
1687 #endif
1688 #if PY_VERSION_HEX >= 0x03050000 /* 3.5 */
1689  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
1690 #elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */
1691  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
1692 #else
1693  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
1694 #endif
1695  };
1696 
1697  static PyTypeObject swigpyobject_type;
1698  static int type_init = 0;
1699  if (!type_init) {
1700  const PyTypeObject tmp = {
1701 #if PY_VERSION_HEX >= 0x03000000
1702  PyVarObject_HEAD_INIT(NULL, 0)
1703 #else
1704  PyObject_HEAD_INIT(NULL)
1705  0, /* ob_size */
1706 #endif
1707  "SwigPyObject", /* tp_name */
1708  sizeof(SwigPyObject), /* tp_basicsize */
1709  0, /* tp_itemsize */
1710  (destructor)SwigPyObject_dealloc, /* tp_dealloc */
1711  0, /* tp_print */
1712  (getattrfunc)0, /* tp_getattr */
1713  (setattrfunc)0, /* tp_setattr */
1714 #if PY_VERSION_HEX >= 0x03000000
1715  0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
1716 #else
1717  (cmpfunc)SwigPyObject_compare, /* tp_compare */
1718 #endif
1719  (reprfunc)SwigPyObject_repr, /* tp_repr */
1720  &SwigPyObject_as_number, /* tp_as_number */
1721  0, /* tp_as_sequence */
1722  0, /* tp_as_mapping */
1723  (hashfunc)0, /* tp_hash */
1724  (ternaryfunc)0, /* tp_call */
1725  0, /* tp_str */
1726  PyObject_GenericGetAttr, /* tp_getattro */
1727  0, /* tp_setattro */
1728  0, /* tp_as_buffer */
1729  Py_TPFLAGS_DEFAULT, /* tp_flags */
1730  swigobject_doc, /* tp_doc */
1731  0, /* tp_traverse */
1732  0, /* tp_clear */
1733  (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */
1734  0, /* tp_weaklistoffset */
1735  0, /* tp_iter */
1736  0, /* tp_iternext */
1737  swigobject_methods, /* tp_methods */
1738  0, /* tp_members */
1739  0, /* tp_getset */
1740  0, /* tp_base */
1741  0, /* tp_dict */
1742  0, /* tp_descr_get */
1743  0, /* tp_descr_set */
1744  0, /* tp_dictoffset */
1745  0, /* tp_init */
1746  0, /* tp_alloc */
1747  0, /* tp_new */
1748  0, /* tp_free */
1749  0, /* tp_is_gc */
1750  0, /* tp_bases */
1751  0, /* tp_mro */
1752  0, /* tp_cache */
1753  0, /* tp_subclasses */
1754  0, /* tp_weaklist */
1755  0, /* tp_del */
1756  0, /* tp_version_tag */
1757 #if PY_VERSION_HEX >= 0x03040000
1758  0, /* tp_finalize */
1759 #endif
1760 #ifdef COUNT_ALLOCS
1761  0, /* tp_allocs */
1762  0, /* tp_frees */
1763  0, /* tp_maxalloc */
1764  0, /* tp_prev */
1765  0 /* tp_next */
1766 #endif
1767  };
1768  swigpyobject_type = tmp;
1769  type_init = 1;
1770  if (PyType_Ready(&swigpyobject_type) < 0)
1771  return NULL;
1772  }
1773  return &swigpyobject_type;
1774 }
1775 
1776 SWIGRUNTIME PyObject *
1777 SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
1778 {
1779  SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type());
1780  if (sobj) {
1781  sobj->ptr = ptr;
1782  sobj->ty = ty;
1783  sobj->own = own;
1784  sobj->next = 0;
1785  }
1786  return (PyObject *)sobj;
1787 }
1788 
1789 /* -----------------------------------------------------------------------------
1790  * Implements a simple Swig Packed type, and use it instead of string
1791  * ----------------------------------------------------------------------------- */
1792 
1793 typedef struct {
1794  PyObject_HEAD
1795  void *pack;
1796  swig_type_info *ty;
1797  size_t size;
1798 } SwigPyPacked;
1799 
1800 SWIGRUNTIME PyObject *
1802 {
1803  char result[SWIG_BUFFER_SIZE];
1804  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1805  return SWIG_Python_str_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1806  } else {
1807  return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name);
1808  }
1809 }
1810 
1811 SWIGRUNTIME PyObject *
1813 {
1814  char result[SWIG_BUFFER_SIZE];
1815  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1816  return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name);
1817  } else {
1818  return SWIG_Python_str_FromChar(v->ty->name);
1819  }
1820 }
1821 
1822 SWIGRUNTIME int
1824 {
1825  size_t i = v->size;
1826  size_t j = w->size;
1827  int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1828  return s ? s : strncmp((const char *)v->pack, (const char *)w->pack, 2*v->size);
1829 }
1830 
1831 SWIGRUNTIME PyTypeObject* SwigPyPacked_TypeOnce(void);
1832 
1833 SWIGRUNTIME PyTypeObject*
1835  static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyPacked_TypeOnce();
1836  return type;
1837 }
1838 
1840 SwigPyPacked_Check(PyObject *op) {
1841  return ((op)->ob_type == SwigPyPacked_TypeOnce())
1842  || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0);
1843 }
1844 
1845 SWIGRUNTIME void
1847 {
1848  if (SwigPyPacked_Check(v)) {
1849  SwigPyPacked *sobj = (SwigPyPacked *) v;
1850  free(sobj->pack);
1851  }
1852  PyObject_DEL(v);
1853 }
1854 
1855 SWIGRUNTIME PyTypeObject*
1857  static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1858  static PyTypeObject swigpypacked_type;
1859  static int type_init = 0;
1860  if (!type_init) {
1861  const PyTypeObject tmp = {
1862 #if PY_VERSION_HEX>=0x03000000
1863  PyVarObject_HEAD_INIT(NULL, 0)
1864 #else
1865  PyObject_HEAD_INIT(NULL)
1866  0, /* ob_size */
1867 #endif
1868  "SwigPyPacked", /* tp_name */
1869  sizeof(SwigPyPacked), /* tp_basicsize */
1870  0, /* tp_itemsize */
1871  (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
1872  0, /* tp_print */
1873  (getattrfunc)0, /* tp_getattr */
1874  (setattrfunc)0, /* tp_setattr */
1875 #if PY_VERSION_HEX>=0x03000000
1876  0, /* tp_reserved in 3.0.1 */
1877 #else
1878  (cmpfunc)SwigPyPacked_compare, /* tp_compare */
1879 #endif
1880  (reprfunc)SwigPyPacked_repr, /* tp_repr */
1881  0, /* tp_as_number */
1882  0, /* tp_as_sequence */
1883  0, /* tp_as_mapping */
1884  (hashfunc)0, /* tp_hash */
1885  (ternaryfunc)0, /* tp_call */
1886  (reprfunc)SwigPyPacked_str, /* tp_str */
1887  PyObject_GenericGetAttr, /* tp_getattro */
1888  0, /* tp_setattro */
1889  0, /* tp_as_buffer */
1890  Py_TPFLAGS_DEFAULT, /* tp_flags */
1891  swigpacked_doc, /* tp_doc */
1892  0, /* tp_traverse */
1893  0, /* tp_clear */
1894  0, /* tp_richcompare */
1895  0, /* tp_weaklistoffset */
1896  0, /* tp_iter */
1897  0, /* tp_iternext */
1898  0, /* tp_methods */
1899  0, /* tp_members */
1900  0, /* tp_getset */
1901  0, /* tp_base */
1902  0, /* tp_dict */
1903  0, /* tp_descr_get */
1904  0, /* tp_descr_set */
1905  0, /* tp_dictoffset */
1906  0, /* tp_init */
1907  0, /* tp_alloc */
1908  0, /* tp_new */
1909  0, /* tp_free */
1910  0, /* tp_is_gc */
1911  0, /* tp_bases */
1912  0, /* tp_mro */
1913  0, /* tp_cache */
1914  0, /* tp_subclasses */
1915  0, /* tp_weaklist */
1916  0, /* tp_del */
1917  0, /* tp_version_tag */
1918 #if PY_VERSION_HEX >= 0x03040000
1919  0, /* tp_finalize */
1920 #endif
1921 #ifdef COUNT_ALLOCS
1922  0, /* tp_allocs */
1923  0, /* tp_frees */
1924  0, /* tp_maxalloc */
1925  0, /* tp_prev */
1926  0 /* tp_next */
1927 #endif
1928  };
1929  swigpypacked_type = tmp;
1930  type_init = 1;
1931  if (PyType_Ready(&swigpypacked_type) < 0)
1932  return NULL;
1933  }
1934  return &swigpypacked_type;
1935 }
1936 
1937 SWIGRUNTIME PyObject *
1938 SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
1939 {
1940  SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type());
1941  if (sobj) {
1942  void *pack = malloc(size);
1943  if (pack) {
1944  memcpy(pack, ptr, size);
1945  sobj->pack = pack;
1946  sobj->ty = ty;
1947  sobj->size = size;
1948  } else {
1949  PyObject_DEL((PyObject *) sobj);
1950  sobj = 0;
1951  }
1952  }
1953  return (PyObject *) sobj;
1954 }
1955 
1957 SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
1958 {
1959  if (SwigPyPacked_Check(obj)) {
1960  SwigPyPacked *sobj = (SwigPyPacked *)obj;
1961  if (sobj->size != size) return 0;
1962  memcpy(ptr, sobj->pack, size);
1963  return sobj->ty;
1964  } else {
1965  return 0;
1966  }
1967 }
1968 
1969 /* -----------------------------------------------------------------------------
1970  * pointers/data manipulation
1971  * ----------------------------------------------------------------------------- */
1972 
1973 static PyObject *Swig_This_global = NULL;
1974 
1975 SWIGRUNTIME PyObject *
1977 {
1978  if (Swig_This_global == NULL)
1980  return Swig_This_global;
1981 }
1982 
1983 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
1984 
1985 /* TODO: I don't know how to implement the fast getset in Python 3 right now */
1986 #if PY_VERSION_HEX>=0x03000000
1987 #define SWIG_PYTHON_SLOW_GETSET_THIS
1988 #endif
1989 
1991 SWIG_Python_GetSwigThis(PyObject *pyobj)
1992 {
1993  PyObject *obj;
1994 
1995  if (SwigPyObject_Check(pyobj))
1996  return (SwigPyObject *) pyobj;
1997 
1998 #ifdef SWIGPYTHON_BUILTIN
1999  (void)obj;
2000 # ifdef PyWeakref_CheckProxy
2001  if (PyWeakref_CheckProxy(pyobj)) {
2002  pyobj = PyWeakref_GET_OBJECT(pyobj);
2003  if (pyobj && SwigPyObject_Check(pyobj))
2004  return (SwigPyObject*) pyobj;
2005  }
2006 # endif
2007  return NULL;
2008 #else
2009 
2010  obj = 0;
2011 
2012 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2013  if (PyInstance_Check(pyobj)) {
2014  obj = _PyInstance_Lookup(pyobj, SWIG_This());
2015  } else {
2016  PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2017  if (dictptr != NULL) {
2018  PyObject *dict = *dictptr;
2019  obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
2020  } else {
2021 #ifdef PyWeakref_CheckProxy
2022  if (PyWeakref_CheckProxy(pyobj)) {
2023  PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
2024  return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
2025  }
2026 #endif
2027  obj = PyObject_GetAttr(pyobj,SWIG_This());
2028  if (obj) {
2029  Py_DECREF(obj);
2030  } else {
2031  if (PyErr_Occurred()) PyErr_Clear();
2032  return 0;
2033  }
2034  }
2035  }
2036 #else
2037  obj = PyObject_GetAttr(pyobj,SWIG_This());
2038  if (obj) {
2039  Py_DECREF(obj);
2040  } else {
2041  if (PyErr_Occurred()) PyErr_Clear();
2042  return 0;
2043  }
2044 #endif
2045  if (obj && !SwigPyObject_Check(obj)) {
2046  /* a PyObject is called 'this', try to get the 'real this'
2047  SwigPyObject from it */
2048  return SWIG_Python_GetSwigThis(obj);
2049  }
2050  return (SwigPyObject *)obj;
2051 #endif
2052 }
2053 
2054 /* Acquire a pointer value */
2055 
2056 SWIGRUNTIME int
2057 SWIG_Python_AcquirePtr(PyObject *obj, int own) {
2058  if (own == SWIG_POINTER_OWN) {
2060  if (sobj) {
2061  int oldown = sobj->own;
2062  sobj->own = own;
2063  return oldown;
2064  }
2065  }
2066  return 0;
2067 }
2068 
2069 /* Convert a pointer value */
2070 
2071 SWIGRUNTIME int
2072 SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
2073  int res;
2074  SwigPyObject *sobj;
2075  int implicit_conv = (flags & SWIG_POINTER_IMPLICIT_CONV) != 0;
2076 
2077  if (!obj)
2078  return SWIG_ERROR;
2079  if (obj == Py_None && !implicit_conv) {
2080  if (ptr)
2081  *ptr = 0;
2083  }
2084 
2085  res = SWIG_ERROR;
2086 
2087  sobj = SWIG_Python_GetSwigThis(obj);
2088  if (own)
2089  *own = 0;
2090  while (sobj) {
2091  void *vptr = sobj->ptr;
2092  if (ty) {
2093  swig_type_info *to = sobj->ty;
2094  if (to == ty) {
2095  /* no type cast needed */
2096  if (ptr) *ptr = vptr;
2097  break;
2098  } else {
2099  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2100  if (!tc) {
2101  sobj = (SwigPyObject *)sobj->next;
2102  } else {
2103  if (ptr) {
2104  int newmemory = 0;
2105  *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2106  if (newmemory == SWIG_CAST_NEW_MEMORY) {
2107  assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
2108  if (own)
2109  *own = *own | SWIG_CAST_NEW_MEMORY;
2110  }
2111  }
2112  break;
2113  }
2114  }
2115  } else {
2116  if (ptr) *ptr = vptr;
2117  break;
2118  }
2119  }
2120  if (sobj) {
2121  if (own)
2122  *own = *own | sobj->own;
2123  if (flags & SWIG_POINTER_DISOWN) {
2124  sobj->own = 0;
2125  }
2126  res = SWIG_OK;
2127  } else {
2128  if (implicit_conv) {
2129  SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
2130  if (data && !data->implicitconv) {
2131  PyObject *klass = data->klass;
2132  if (klass) {
2133  PyObject *impconv;
2134  data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2135  impconv = SWIG_Python_CallFunctor(klass, obj);
2136  data->implicitconv = 0;
2137  if (PyErr_Occurred()) {
2138  PyErr_Clear();
2139  impconv = 0;
2140  }
2141  if (impconv) {
2142  SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
2143  if (iobj) {
2144  void *vptr;
2145  res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2146  if (SWIG_IsOK(res)) {
2147  if (ptr) {
2148  *ptr = vptr;
2149  /* transfer the ownership to 'ptr' */
2150  iobj->own = 0;
2151  res = SWIG_AddCast(res);
2152  res = SWIG_AddNewMask(res);
2153  } else {
2154  res = SWIG_AddCast(res);
2155  }
2156  }
2157  }
2158  Py_DECREF(impconv);
2159  }
2160  }
2161  }
2162  if (!SWIG_IsOK(res) && obj == Py_None) {
2163  if (ptr)
2164  *ptr = 0;
2165  if (PyErr_Occurred())
2166  PyErr_Clear();
2167  res = SWIG_OK;
2168  }
2169  }
2170  }
2171  return res;
2172 }
2173 
2174 /* Convert a function ptr value */
2175 
2176 SWIGRUNTIME int
2177 SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2178  if (!PyCFunction_Check(obj)) {
2179  return SWIG_ConvertPtr(obj, ptr, ty, 0);
2180  } else {
2181  void *vptr = 0;
2182  swig_cast_info *tc;
2183 
2184  /* here we get the method pointer for callbacks */
2185  const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2186  const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2187  if (desc)
2188  desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2189  if (!desc)
2190  return SWIG_ERROR;
2191  tc = SWIG_TypeCheck(desc,ty);
2192  if (tc) {
2193  int newmemory = 0;
2194  *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2195  assert(!newmemory); /* newmemory handling not yet implemented */
2196  } else {
2197  return SWIG_ERROR;
2198  }
2199  return SWIG_OK;
2200  }
2201 }
2202 
2203 /* Convert a packed pointer value */
2204 
2205 SWIGRUNTIME int
2206 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2207  swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
2208  if (!to) return SWIG_ERROR;
2209  if (ty) {
2210  if (to != ty) {
2211  /* check type cast? */
2212  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2213  if (!tc) return SWIG_ERROR;
2214  }
2215  }
2216  return SWIG_OK;
2217 }
2218 
2219 /* -----------------------------------------------------------------------------
2220  * Create a new pointer object
2221  * ----------------------------------------------------------------------------- */
2222 
2223 /*
2224  Create a new instance object, without calling __init__, and set the
2225  'this' attribute.
2226 */
2227 
2228 SWIGRUNTIME PyObject*
2230 {
2231  PyObject *inst = 0;
2232  PyObject *newraw = data->newraw;
2233  if (newraw) {
2234  inst = PyObject_Call(newraw, data->newargs, NULL);
2235  if (inst) {
2236 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2237  PyObject **dictptr = _PyObject_GetDictPtr(inst);
2238  if (dictptr != NULL) {
2239  PyObject *dict = *dictptr;
2240  if (dict == NULL) {
2241  dict = PyDict_New();
2242  *dictptr = dict;
2243  PyDict_SetItem(dict, SWIG_This(), swig_this);
2244  }
2245  }
2246 #else
2247  PyObject *key = SWIG_This();
2248  PyObject_SetAttr(inst, key, swig_this);
2249 #endif
2250  }
2251  } else {
2252 #if PY_VERSION_HEX >= 0x03000000
2253  PyObject *empty_args = PyTuple_New(0);
2254  if (empty_args) {
2255  PyObject *empty_kwargs = PyDict_New();
2256  if (empty_kwargs) {
2257  inst = ((PyTypeObject *)data->newargs)->tp_new((PyTypeObject *)data->newargs, empty_args, empty_kwargs);
2258  Py_DECREF(empty_kwargs);
2259  if (inst) {
2260  PyObject_SetAttr(inst, SWIG_This(), swig_this);
2261  Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
2262  }
2263  }
2264  Py_DECREF(empty_args);
2265  }
2266 #else
2267  PyObject *dict = PyDict_New();
2268  if (dict) {
2269  PyDict_SetItem(dict, SWIG_This(), swig_this);
2270  inst = PyInstance_NewRaw(data->newargs, dict);
2271  Py_DECREF(dict);
2272  }
2273 #endif
2274  }
2275  return inst;
2276 }
2277 
2278 SWIGRUNTIME void
2279 SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2280 {
2281  PyObject *dict;
2282 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2283  PyObject **dictptr = _PyObject_GetDictPtr(inst);
2284  if (dictptr != NULL) {
2285  dict = *dictptr;
2286  if (dict == NULL) {
2287  dict = PyDict_New();
2288  *dictptr = dict;
2289  }
2290  PyDict_SetItem(dict, SWIG_This(), swig_this);
2291  return;
2292  }
2293 #endif
2294  dict = PyObject_GetAttrString(inst, "__dict__");
2295  PyDict_SetItem(dict, SWIG_This(), swig_this);
2296  Py_DECREF(dict);
2297 }
2298 
2299 
2300 SWIGINTERN PyObject *
2302  PyObject *obj[2];
2303  if (!SWIG_Python_UnpackTuple(args, "swiginit", 2, 2, obj)) {
2304  return NULL;
2305  } else {
2306  SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2307  if (sthis) {
2308  SwigPyObject_append((PyObject*) sthis, obj[1]);
2309  } else {
2310  SWIG_Python_SetSwigThis(obj[0], obj[1]);
2311  }
2312  return SWIG_Py_Void();
2313  }
2314 }
2315 
2316 /* Create a new pointer object */
2317 
2318 SWIGRUNTIME PyObject *
2319 SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags) {
2320  SwigPyClientData *clientdata;
2321  PyObject * robj;
2322  int own;
2323 
2324  if (!ptr)
2325  return SWIG_Py_Void();
2326 
2327  clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0;
2328  own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
2329  if (clientdata && clientdata->pytype) {
2330  SwigPyObject *newobj;
2331  if (flags & SWIG_BUILTIN_TP_INIT) {
2332  newobj = (SwigPyObject*) self;
2333  if (newobj->ptr) {
2334  PyObject *next_self = clientdata->pytype->tp_alloc(clientdata->pytype, 0);
2335  while (newobj->next)
2336  newobj = (SwigPyObject *) newobj->next;
2337  newobj->next = next_self;
2338  newobj = (SwigPyObject *)next_self;
2339 #ifdef SWIGPYTHON_BUILTIN
2340  newobj->dict = 0;
2341 #endif
2342  }
2343  } else {
2344  newobj = PyObject_New(SwigPyObject, clientdata->pytype);
2345 #ifdef SWIGPYTHON_BUILTIN
2346  newobj->dict = 0;
2347 #endif
2348  }
2349  if (newobj) {
2350  newobj->ptr = ptr;
2351  newobj->ty = type;
2352  newobj->own = own;
2353  newobj->next = 0;
2354  return (PyObject*) newobj;
2355  }
2356  return SWIG_Py_Void();
2357  }
2358 
2359  assert(!(flags & SWIG_BUILTIN_TP_INIT));
2360 
2361  robj = SwigPyObject_New(ptr, type, own);
2362  if (robj && clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
2363  PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2364  Py_DECREF(robj);
2365  robj = inst;
2366  }
2367  return robj;
2368 }
2369 
2370 /* Create a new packed object */
2371 
2372 SWIGRUNTIMEINLINE PyObject *
2373 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2374  return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2375 }
2376 
2377 /* -----------------------------------------------------------------------------*
2378  * Get type list
2379  * -----------------------------------------------------------------------------*/
2380 
2381 #ifdef SWIG_LINK_RUNTIME
2382 void *SWIG_ReturnGlobalTypeList(void *);
2383 #endif
2384 
2387  static void *type_pointer = (void *)0;
2388  /* first check if module already created */
2389  if (!type_pointer) {
2390 #ifdef SWIG_LINK_RUNTIME
2391  type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2392 #else
2393  type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0);
2394  if (PyErr_Occurred()) {
2395  PyErr_Clear();
2396  type_pointer = (void *)0;
2397  }
2398 #endif
2399  }
2400  return (swig_module_info *) type_pointer;
2401 }
2402 
2403 SWIGRUNTIME void
2405 {
2406  swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME);
2407  swig_type_info **types = swig_module->types;
2408  size_t i;
2409  for (i =0; i < swig_module->size; ++i) {
2410  swig_type_info *ty = types[i];
2411  if (ty->owndata) {
2413  if (data) SwigPyClientData_Del(data);
2414  }
2415  }
2416  Py_DECREF(SWIG_This());
2417  Swig_This_global = NULL;
2418 }
2419 
2420 SWIGRUNTIME void
2422 #if PY_VERSION_HEX >= 0x03000000
2423  /* Add a dummy module object into sys.modules */
2424  PyObject *module = PyImport_AddModule("swig_runtime_data" SWIG_RUNTIME_VERSION);
2425 #else
2426  static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} }; /* Sentinel */
2427  PyObject *module = Py_InitModule("swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
2428 #endif
2429  PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME, SWIG_Python_DestroyModule);
2430  if (pointer && module) {
2431  PyModule_AddObject(module, "type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer);
2432  } else {
2433  Py_XDECREF(pointer);
2434  }
2435 }
2436 
2437 /* The python cached type query */
2438 SWIGRUNTIME PyObject *
2440  static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2441  return cache;
2442 }
2443 
2445 SWIG_Python_TypeQuery(const char *type)
2446 {
2447  PyObject *cache = SWIG_Python_TypeCache();
2448  PyObject *key = SWIG_Python_str_FromChar(type);
2449  PyObject *obj = PyDict_GetItem(cache, key);
2450  swig_type_info *descriptor;
2451  if (obj) {
2452  descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL);
2453  } else {
2455  descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2456  if (descriptor) {
2457  obj = PyCapsule_New((void*) descriptor, NULL, NULL);
2458  PyDict_SetItem(cache, key, obj);
2459  Py_DECREF(obj);
2460  }
2461  }
2462  Py_DECREF(key);
2463  return descriptor;
2464 }
2465 
2466 /*
2467  For backward compatibility only
2468 */
2469 #define SWIG_POINTER_EXCEPTION 0
2470 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
2471 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2472 
2473 SWIGRUNTIME int
2474 SWIG_Python_AddErrMesg(const char* mesg, int infront)
2475 {
2476  if (PyErr_Occurred()) {
2477  PyObject *type = 0;
2478  PyObject *value = 0;
2479  PyObject *traceback = 0;
2480  PyErr_Fetch(&type, &value, &traceback);
2481  if (value) {
2482  PyObject *old_str = PyObject_Str(value);
2483  const char *tmp = SWIG_Python_str_AsChar(old_str);
2484  const char *errmesg = tmp ? tmp : "Invalid error message";
2485  Py_XINCREF(type);
2486  PyErr_Clear();
2487  if (infront) {
2488  PyErr_Format(type, "%s %s", mesg, errmesg);
2489  } else {
2490  PyErr_Format(type, "%s %s", errmesg, mesg);
2491  }
2493  Py_DECREF(old_str);
2494  }
2495  return 1;
2496  } else {
2497  return 0;
2498  }
2499 }
2500 
2501 SWIGRUNTIME int
2503 {
2504  if (PyErr_Occurred()) {
2505  /* add information about failing argument */
2506  char mesg[256];
2507  PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2508  return SWIG_Python_AddErrMesg(mesg, 1);
2509  } else {
2510  return 0;
2511  }
2512 }
2513 
2514 SWIGRUNTIMEINLINE const char *
2515 SwigPyObject_GetDesc(PyObject *self)
2516 {
2517  SwigPyObject *v = (SwigPyObject *)self;
2518  swig_type_info *ty = v ? v->ty : 0;
2519  return ty ? ty->str : "";
2520 }
2521 
2522 SWIGRUNTIME void
2523 SWIG_Python_TypeError(const char *type, PyObject *obj)
2524 {
2525  if (type) {
2526 #if defined(SWIG_COBJECT_TYPES)
2527  if (obj && SwigPyObject_Check(obj)) {
2528  const char *otype = (const char *) SwigPyObject_GetDesc(obj);
2529  if (otype) {
2530  PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
2531  type, otype);
2532  return;
2533  }
2534  } else
2535 #endif
2536  {
2537  const char *otype = (obj ? obj->ob_type->tp_name : 0);
2538  if (otype) {
2539  PyObject *str = PyObject_Str(obj);
2540  const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0;
2541  if (cstr) {
2542  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2543  type, otype, cstr);
2545  } else {
2546  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2547  type, otype);
2548  }
2549  Py_XDECREF(str);
2550  return;
2551  }
2552  }
2553  PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2554  } else {
2555  PyErr_Format(PyExc_TypeError, "unexpected type is received");
2556  }
2557 }
2558 
2559 
2560 /* Convert a pointer value, signal an exception on a type mismatch */
2561 SWIGRUNTIME void *
2562 SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags) {
2563  void *result;
2564  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
2565  PyErr_Clear();
2566 #if SWIG_POINTER_EXCEPTION
2567  if (flags) {
2569  SWIG_Python_ArgFail(argnum);
2570  }
2571 #endif
2572  }
2573  return result;
2574 }
2575 
2576 #ifdef SWIGPYTHON_BUILTIN
2577 SWIGRUNTIME int
2578 SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
2579  PyTypeObject *tp = obj->ob_type;
2580  PyObject *descr;
2581  PyObject *encoded_name;
2582  descrsetfunc f;
2583  int res = -1;
2584 
2585 # ifdef Py_USING_UNICODE
2586  if (PyString_Check(name)) {
2587  name = PyUnicode_Decode(PyString_AsString(name), PyString_Size(name), NULL, NULL);
2588  if (!name)
2589  return -1;
2590  } else if (!PyUnicode_Check(name))
2591 # else
2592  if (!PyString_Check(name))
2593 # endif
2594  {
2595  PyErr_Format(PyExc_TypeError, "attribute name must be string, not '%.200s'", name->ob_type->tp_name);
2596  return -1;
2597  } else {
2598  Py_INCREF(name);
2599  }
2600 
2601  if (!tp->tp_dict) {
2602  if (PyType_Ready(tp) < 0)
2603  goto done;
2604  }
2605 
2606  descr = _PyType_Lookup(tp, name);
2607  f = NULL;
2608  if (descr != NULL)
2609  f = descr->ob_type->tp_descr_set;
2610  if (!f) {
2611  if (PyString_Check(name)) {
2612  encoded_name = name;
2613  Py_INCREF(name);
2614  } else {
2615  encoded_name = PyUnicode_AsUTF8String(name);
2616  if (!encoded_name)
2617  return -1;
2618  }
2619  PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name));
2620  Py_DECREF(encoded_name);
2621  } else {
2622  res = f(descr, obj, value);
2623  }
2624 
2625  done:
2626  Py_DECREF(name);
2627  return res;
2628 }
2629 #endif
2630 
2631 
2632 #ifdef __cplusplus
2633 }
2634 #endif
2635 
2636 
2637 
2638 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2639 
2640 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2641 
2642 
2643 
2644 #ifdef __cplusplus
2645 extern "C" {
2646 #endif
2647 
2648 /* Method creation and docstring support functions */
2649 
2650 SWIGINTERN PyMethodDef *SWIG_PythonGetProxyDoc(const char *name);
2651 SWIGINTERN PyObject *SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func);
2652 SWIGINTERN PyObject *SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func);
2653 
2654 #ifdef __cplusplus
2655 }
2656 #endif
2657 
2658 
2659  #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
2660 
2661 /* -----------------------------------------------------------------------------
2662  * director_common.swg
2663  *
2664  * This file contains support for director classes which is common between
2665  * languages.
2666  * ----------------------------------------------------------------------------- */
2667 
2668 /*
2669  Use -DSWIG_DIRECTOR_STATIC if you prefer to avoid the use of the
2670  'Swig' namespace. This could be useful for multi-modules projects.
2671 */
2672 #ifdef SWIG_DIRECTOR_STATIC
2673 /* Force anonymous (static) namespace */
2674 #define Swig
2675 #endif
2676 /* -----------------------------------------------------------------------------
2677  * director.swg
2678  *
2679  * This file contains support for director classes so that Python proxy
2680  * methods can be called from C++.
2681  * ----------------------------------------------------------------------------- */
2682 
2683 #ifndef SWIG_DIRECTOR_PYTHON_HEADER_
2684 #define SWIG_DIRECTOR_PYTHON_HEADER_
2685 
2686 #include <string>
2687 #include <iostream>
2688 #include <exception>
2689 #include <vector>
2690 #include <map>
2691 
2692 
2693 /*
2694  Use -DSWIG_PYTHON_DIRECTOR_NO_VTABLE if you don't want to generate a 'virtual
2695  table', and avoid multiple GetAttr calls to retrieve the python
2696  methods.
2697 */
2698 
2699 #ifndef SWIG_PYTHON_DIRECTOR_NO_VTABLE
2700 #ifndef SWIG_PYTHON_DIRECTOR_VTABLE
2701 #define SWIG_PYTHON_DIRECTOR_VTABLE
2702 #endif
2703 #endif
2704 
2705 
2706 
2707 /*
2708  Use -DSWIG_DIRECTOR_NO_UEH if you prefer to avoid the use of the
2709  Undefined Exception Handler provided by swig.
2710 */
2711 #ifndef SWIG_DIRECTOR_NO_UEH
2712 #ifndef SWIG_DIRECTOR_UEH
2713 #define SWIG_DIRECTOR_UEH
2714 #endif
2715 #endif
2716 
2717 
2718 /*
2719  Use -DSWIG_DIRECTOR_NORTTI if you prefer to avoid the use of the
2720  native C++ RTTI and dynamic_cast<>. But be aware that directors
2721  could stop working when using this option.
2722 */
2723 #ifdef SWIG_DIRECTOR_NORTTI
2724 /*
2725  When we don't use the native C++ RTTI, we implement a minimal one
2726  only for Directors.
2727 */
2728 # ifndef SWIG_DIRECTOR_RTDIR
2729 # define SWIG_DIRECTOR_RTDIR
2730 
2731 namespace Swig {
2732  class Director;
2733  SWIGINTERN std::map<void *, Director *>& get_rtdir_map() {
2734  static std::map<void *, Director *> rtdir_map;
2735  return rtdir_map;
2736  }
2737 
2738  SWIGINTERNINLINE void set_rtdir(void *vptr, Director *rtdir) {
2739  get_rtdir_map()[vptr] = rtdir;
2740  }
2741 
2742  SWIGINTERNINLINE Director *get_rtdir(void *vptr) {
2743  std::map<void *, Director *>::const_iterator pos = get_rtdir_map().find(vptr);
2744  Director *rtdir = (pos != get_rtdir_map().end()) ? pos->second : 0;
2745  return rtdir;
2746  }
2747 }
2748 # endif /* SWIG_DIRECTOR_RTDIR */
2749 
2750 # define SWIG_DIRECTOR_CAST(ARG) Swig::get_rtdir(static_cast<void *>(ARG))
2751 # define SWIG_DIRECTOR_RGTR(ARG1, ARG2) Swig::set_rtdir(static_cast<void *>(ARG1), ARG2)
2752 
2753 #else
2754 
2755 # define SWIG_DIRECTOR_CAST(ARG) dynamic_cast<Swig::Director *>(ARG)
2756 # define SWIG_DIRECTOR_RGTR(ARG1, ARG2)
2757 
2758 #endif /* SWIG_DIRECTOR_NORTTI */
2759 
2760 extern "C" {
2761  struct swig_type_info;
2762 }
2763 
2764 namespace Swig {
2765 
2766  /* memory handler */
2767  struct GCItem {
2768  virtual ~GCItem() {}
2769 
2770  virtual int get_own() const {
2771  return 0;
2772  }
2773  };
2774 
2775  struct GCItem_var {
2776  GCItem_var(GCItem *item = 0) : _item(item) {
2777  }
2778 
2780  GCItem *tmp = _item;
2781  _item = item;
2782  delete tmp;
2783  return *this;
2784  }
2785 
2787  delete _item;
2788  }
2789 
2790  GCItem * operator->() const {
2791  return _item;
2792  }
2793 
2794  private:
2795  GCItem *_item;
2796  };
2797 
2799  GCItem_Object(int own) : _own(own) {
2800  }
2801 
2802  virtual ~GCItem_Object() {
2803  }
2804 
2805  int get_own() const {
2806  return _own;
2807  }
2808 
2809  private:
2810  int _own;
2811  };
2812 
2813  template <typename Type>
2814  struct GCItem_T : GCItem {
2815  GCItem_T(Type *ptr) : _ptr(ptr) {
2816  }
2817 
2818  virtual ~GCItem_T() {
2819  delete _ptr;
2820  }
2821 
2822  private:
2823  Type *_ptr;
2824  };
2825 
2826  template <typename Type>
2827  struct GCArray_T : GCItem {
2828  GCArray_T(Type *ptr) : _ptr(ptr) {
2829  }
2830 
2831  virtual ~GCArray_T() {
2832  delete[] _ptr;
2833  }
2834 
2835  private:
2836  Type *_ptr;
2837  };
2838 
2839  /* base class for director exceptions */
2840  class DirectorException : public std::exception {
2841  protected:
2842  std::string swig_msg;
2843  public:
2844  DirectorException(PyObject *error, const char *hdr ="", const char *msg ="") : swig_msg(hdr) {
2846  if (msg[0]) {
2847  swig_msg += " ";
2848  swig_msg += msg;
2849  }
2850  if (!PyErr_Occurred()) {
2851  PyErr_SetString(error, what());
2852  }
2854  }
2855 
2856  virtual ~DirectorException() throw() {
2857  }
2858 
2859  /* Deprecated, use what() instead */
2860  const char *getMessage() const {
2861  return what();
2862  }
2863 
2864  const char *what() const throw() {
2865  return swig_msg.c_str();
2866  }
2867 
2868  static void raise(PyObject *error, const char *msg) {
2869  throw DirectorException(error, msg);
2870  }
2871 
2872  static void raise(const char *msg) {
2873  raise(PyExc_RuntimeError, msg);
2874  }
2875  };
2876 
2877  /* type mismatch in the return value from a python method call */
2879  public:
2880  DirectorTypeMismatchException(PyObject *error, const char *msg="")
2881  : DirectorException(error, "SWIG director type mismatch", msg) {
2882  }
2883 
2884  DirectorTypeMismatchException(const char *msg="")
2885  : DirectorException(PyExc_TypeError, "SWIG director type mismatch", msg) {
2886  }
2887 
2888  static void raise(PyObject *error, const char *msg) {
2889  throw DirectorTypeMismatchException(error, msg);
2890  }
2891 
2892  static void raise(const char *msg) {
2893  throw DirectorTypeMismatchException(msg);
2894  }
2895  };
2896 
2897  /* any python exception that occurs during a director method call */
2899  public:
2900  DirectorMethodException(const char *msg = "")
2901  : DirectorException(PyExc_RuntimeError, "SWIG director method error.", msg) {
2902  }
2903 
2904  static void raise(const char *msg) {
2905  throw DirectorMethodException(msg);
2906  }
2907  };
2908 
2909  /* attempt to call a pure virtual method via a director method */
2910  class DirectorPureVirtualException : public DirectorException {
2911  public:
2912  DirectorPureVirtualException(const char *msg = "")
2913  : DirectorException(PyExc_RuntimeError, "SWIG director pure virtual method called", msg) {
2914  }
2915 
2916  static void raise(const char *msg) {
2917  throw DirectorPureVirtualException(msg);
2918  }
2919  };
2920 
2921 
2922 #if defined(SWIG_PYTHON_THREADS)
2923 /* __THREAD__ is the old macro to activate some thread support */
2924 # if !defined(__THREAD__)
2925 # define __THREAD__ 1
2926 # endif
2927 #endif
2928 
2929 #ifdef __THREAD__
2930 # include "pythread.h"
2931  class Guard {
2932  PyThread_type_lock &mutex_;
2933 
2934  public:
2935  Guard(PyThread_type_lock & mutex) : mutex_(mutex) {
2936  PyThread_acquire_lock(mutex_, WAIT_LOCK);
2937  }
2938 
2939  ~Guard() {
2940  PyThread_release_lock(mutex_);
2941  }
2942  };
2943 # define SWIG_GUARD(mutex) Guard _guard(mutex)
2944 #else
2945 # define SWIG_GUARD(mutex)
2946 #endif
2947 
2948  /* director base class */
2949  class Director {
2950  private:
2951  /* pointer to the wrapped python object */
2952  PyObject *swig_self;
2953  /* flag indicating whether the object is owned by python or c++ */
2954  mutable bool swig_disown_flag;
2955 
2956  /* decrement the reference count of the wrapped python object */
2957  void swig_decref() const {
2958  if (swig_disown_flag) {
2960  Py_DECREF(swig_self);
2962  }
2963  }
2964 
2965  public:
2966  /* wrap a python object. */
2967  Director(PyObject *self) : swig_self(self), swig_disown_flag(false) {
2968  }
2969 
2970  /* discard our reference at destruction */
2971  virtual ~Director() {
2972  swig_decref();
2973  }
2974 
2975  /* return a pointer to the wrapped python object */
2976  PyObject *swig_get_self() const {
2977  return swig_self;
2978  }
2979 
2980  /* acquire ownership of the wrapped python object (the sense of "disown" is from python) */
2981  void swig_disown() const {
2982  if (!swig_disown_flag) {
2983  swig_disown_flag=true;
2984  swig_incref();
2985  }
2986  }
2987 
2988  /* increase the reference count of the wrapped python object */
2989  void swig_incref() const {
2990  if (swig_disown_flag) {
2991  Py_INCREF(swig_self);
2992  }
2993  }
2994 
2995  /* methods to implement pseudo protected director members */
2996  virtual bool swig_get_inner(const char * /* swig_protected_method_name */) const {
2997  return true;
2998  }
2999 
3000  virtual void swig_set_inner(const char * /* swig_protected_method_name */, bool /* swig_val */) const {
3001  }
3002 
3003  /* ownership management */
3004  private:
3005  typedef std::map<void *, GCItem_var> swig_ownership_map;
3006  mutable swig_ownership_map swig_owner;
3007 #ifdef __THREAD__
3008  static PyThread_type_lock swig_mutex_own;
3009 #endif
3010 
3011  public:
3012  template <typename Type>
3013  void swig_acquire_ownership_array(Type *vptr) const {
3014  if (vptr) {
3015  SWIG_GUARD(swig_mutex_own);
3016  swig_owner[vptr] = new GCArray_T<Type>(vptr);
3017  }
3018  }
3019 
3020  template <typename Type>
3021  void swig_acquire_ownership(Type *vptr) const {
3022  if (vptr) {
3023  SWIG_GUARD(swig_mutex_own);
3024  swig_owner[vptr] = new GCItem_T<Type>(vptr);
3025  }
3026  }
3027 
3028  void swig_acquire_ownership_obj(void *vptr, int own) const {
3029  if (vptr && own) {
3030  SWIG_GUARD(swig_mutex_own);
3031  swig_owner[vptr] = new GCItem_Object(own);
3032  }
3033  }
3034 
3035  int swig_release_ownership(void *vptr) const {
3036  int own = 0;
3037  if (vptr) {
3038  SWIG_GUARD(swig_mutex_own);
3039  swig_ownership_map::iterator iter = swig_owner.find(vptr);
3040  if (iter != swig_owner.end()) {
3041  own = iter->second->get_own();
3042  swig_owner.erase(iter);
3043  }
3044  }
3045  return own;
3046  }
3047 
3048  template <typename Type>
3049  static PyObject *swig_pyobj_disown(PyObject *pyobj, PyObject *SWIGUNUSEDPARM(args)) {
3050  SwigPyObject *sobj = (SwigPyObject *)pyobj;
3051  sobj->own = 0;
3052  Director *d = SWIG_DIRECTOR_CAST(reinterpret_cast<Type *>(sobj->ptr));
3053  if (d)
3054  d->swig_disown();
3055  return PyWeakref_NewProxy(pyobj, NULL);
3056  }
3057  };
3058 
3059 #ifdef __THREAD__
3060  PyThread_type_lock Director::swig_mutex_own = PyThread_allocate_lock();
3061 #endif
3062 }
3063 
3064 #endif
3065 
3066 /* -------- TYPES TABLE (BEGIN) -------- */
3067 
3068 #define SWIGTYPE_p_CostClassIndex swig_types[0]
3069 #define SWIGTYPE_p_DimensionIndex swig_types[1]
3070 #define SWIGTYPE_p_DisjunctionIndex swig_types[2]
3071 #define SWIGTYPE_p_PickupToDeliveryLimitFunction swig_types[3]
3072 #define SWIGTYPE_p_RoutingDimensionIndex swig_types[4]
3073 #define SWIGTYPE_p_RoutingDisjunctionIndex swig_types[5]
3074 #define SWIGTYPE_p_TransitCallback1 swig_types[6]
3075 #define SWIGTYPE_p_TransitCallback2 swig_types[7]
3076 #define SWIGTYPE_p_VehicleClassIndex swig_types[8]
3077 #define SWIGTYPE_p_absl__Duration swig_types[9]
3078 #define SWIGTYPE_p_absl__flat_hash_setT_int_t swig_types[10]
3079 #define SWIGTYPE_p_char swig_types[11]
3080 #define SWIGTYPE_p_int swig_types[12]
3081 #define SWIGTYPE_p_long swig_types[13]
3082 #define SWIGTYPE_p_operations_research__Assignment swig_types[14]
3083 #define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t swig_types[15]
3084 #define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t swig_types[16]
3085 #define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t swig_types[17]
3086 #define SWIGTYPE_p_operations_research__AssignmentElement swig_types[18]
3087 #define SWIGTYPE_p_operations_research__BaseIntExpr swig_types[19]
3088 #define SWIGTYPE_p_operations_research__BaseLns swig_types[20]
3089 #define SWIGTYPE_p_operations_research__BaseObject swig_types[21]
3090 #define SWIGTYPE_p_operations_research__BooleanVar swig_types[22]
3091 #define SWIGTYPE_p_operations_research__CastConstraint swig_types[23]
3092 #define SWIGTYPE_p_operations_research__ChangeValue swig_types[24]
3093 #define SWIGTYPE_p_operations_research__Constraint swig_types[25]
3094 #define SWIGTYPE_p_operations_research__Decision swig_types[26]
3095 #define SWIGTYPE_p_operations_research__DecisionBuilder swig_types[27]
3096 #define SWIGTYPE_p_operations_research__DecisionVisitor swig_types[28]
3097 #define SWIGTYPE_p_operations_research__DefaultPhaseParameters swig_types[29]
3098 #define SWIGTYPE_p_operations_research__Demon swig_types[30]
3099 #define SWIGTYPE_p_operations_research__DisjunctiveConstraint swig_types[31]
3100 #define SWIGTYPE_p_operations_research__FirstSolutionStrategy__Value swig_types[32]
3101 #define SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer swig_types[33]
3102 #define SWIGTYPE_p_operations_research__GlobalVehicleBreaksConstraint swig_types[34]
3103 #define SWIGTYPE_p_operations_research__ImprovementSearchLimit swig_types[35]
3104 #define SWIGTYPE_p_operations_research__IntExpr swig_types[36]
3105 #define SWIGTYPE_p_operations_research__IntTupleSet swig_types[37]
3106 #define SWIGTYPE_p_operations_research__IntVar swig_types[38]
3107 #define SWIGTYPE_p_operations_research__IntVarElement swig_types[39]
3108 #define SWIGTYPE_p_operations_research__IntVarIterator swig_types[40]
3109 #define SWIGTYPE_p_operations_research__IntVarLocalSearchFilter swig_types[41]
3110 #define SWIGTYPE_p_operations_research__IntVarLocalSearchOperator swig_types[42]
3111 #define SWIGTYPE_p_operations_research__IntervalVar swig_types[43]
3112 #define SWIGTYPE_p_operations_research__IntervalVarElement swig_types[44]
3113 #define SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer swig_types[45]
3114 #define SWIGTYPE_p_operations_research__LocalSearchFilter swig_types[46]
3115 #define SWIGTYPE_p_operations_research__LocalSearchFilterManager swig_types[47]
3116 #define SWIGTYPE_p_operations_research__LocalSearchMonitor swig_types[48]
3117 #define SWIGTYPE_p_operations_research__LocalSearchOperator swig_types[49]
3118 #define SWIGTYPE_p_operations_research__LocalSearchPhaseParameters swig_types[50]
3119 #define SWIGTYPE_p_operations_research__ModelVisitor swig_types[51]
3120 #define SWIGTYPE_p_operations_research__NumericalRevT_long_t swig_types[52]
3121 #define SWIGTYPE_p_operations_research__OptimizeVar swig_types[53]
3122 #define SWIGTYPE_p_operations_research__Pack swig_types[54]
3123 #define SWIGTYPE_p_operations_research__PathOperator swig_types[55]
3124 #define SWIGTYPE_p_operations_research__PropagationBaseObject swig_types[56]
3125 #define SWIGTYPE_p_operations_research__PropagationMonitor swig_types[57]
3126 #define SWIGTYPE_p_operations_research__RegularLimit swig_types[58]
3127 #define SWIGTYPE_p_operations_research__RevT_bool_t swig_types[59]
3128 #define SWIGTYPE_p_operations_research__RevT_long_t swig_types[60]
3129 #define SWIGTYPE_p_operations_research__RoutingDimension swig_types[61]
3130 #define SWIGTYPE_p_operations_research__RoutingIndexManager swig_types[62]
3131 #define SWIGTYPE_p_operations_research__RoutingModel swig_types[63]
3132 #define SWIGTYPE_p_operations_research__RoutingModelVisitor swig_types[64]
3133 #define SWIGTYPE_p_operations_research__RoutingModel__VehicleTypeContainer swig_types[65]
3134 #define SWIGTYPE_p_operations_research__SearchLimit swig_types[66]
3135 #define SWIGTYPE_p_operations_research__SearchLog swig_types[67]
3136 #define SWIGTYPE_p_operations_research__SearchMonitor swig_types[68]
3137 #define SWIGTYPE_p_operations_research__SequenceVar swig_types[69]
3138 #define SWIGTYPE_p_operations_research__SequenceVarElement swig_types[70]
3139 #define SWIGTYPE_p_operations_research__SequenceVarLocalSearchOperator swig_types[71]
3140 #define SWIGTYPE_p_operations_research__SolutionCollector swig_types[72]
3141 #define SWIGTYPE_p_operations_research__SolutionPool swig_types[73]
3142 #define SWIGTYPE_p_operations_research__Solver swig_types[74]
3143 #define SWIGTYPE_p_operations_research__Solver__SearchLogParameters swig_types[75]
3144 #define SWIGTYPE_p_operations_research__SymmetryBreaker swig_types[76]
3145 #define SWIGTYPE_p_operations_research__TypeIncompatibilityChecker swig_types[77]
3146 #define SWIGTYPE_p_operations_research__TypeRegulationsChecker swig_types[78]
3147 #define SWIGTYPE_p_operations_research__TypeRegulationsConstraint swig_types[79]
3148 #define SWIGTYPE_p_operations_research__TypeRequirementChecker swig_types[80]
3149 #define SWIGTYPE_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t swig_types[81]
3150 #define SWIGTYPE_p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t swig_types[82]
3151 #define SWIGTYPE_p_short swig_types[83]
3152 #define SWIGTYPE_p_signed_char swig_types[84]
3153 #define SWIGTYPE_p_std__functionT_long_flongF_t swig_types[85]
3154 #define SWIGTYPE_p_std__functionT_long_flong_longF_t swig_types[86]
3155 #define SWIGTYPE_p_std__ostream swig_types[87]
3156 #define SWIGTYPE_p_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t swig_types[88]
3157 #define SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t swig_types[89]
3158 #define SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t swig_types[90]
3159 #define SWIGTYPE_p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t swig_types[91]
3160 #define SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t swig_types[92]
3161 #define SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t swig_types[93]
3162 #define SWIGTYPE_p_std__vectorT_std__pairT_long_long_t_t swig_types[94]
3163 #define SWIGTYPE_p_std__vectorT_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t_t swig_types[95]
3164 #define SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t swig_types[96]
3165 #define SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t swig_types[97]
3166 #define SWIGTYPE_p_std__vectorT_std__vectorT_long_t_t swig_types[98]
3167 #define SWIGTYPE_p_unsigned_char swig_types[99]
3168 #define SWIGTYPE_p_unsigned_int swig_types[100]
3169 #define SWIGTYPE_p_unsigned_long swig_types[101]
3170 #define SWIGTYPE_p_unsigned_short swig_types[102]
3172 static swig_module_info swig_module = {swig_types, 103, 0, 0, 0, 0};
3173 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
3174 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
3175 
3176 /* -------- TYPES TABLE (END) -------- */
3177 
3178 #ifdef SWIG_TypeQuery
3179 # undef SWIG_TypeQuery
3180 #endif
3181 #define SWIG_TypeQuery SWIG_Python_TypeQuery
3182 
3183 /*-----------------------------------------------
3184  @(target):= _pywrapcp.so
3185  ------------------------------------------------*/
3186 #if PY_VERSION_HEX >= 0x03000000
3187 # define SWIG_init PyInit__pywrapcp
3188 
3189 #else
3190 # define SWIG_init init_pywrapcp
3191 
3192 #endif
3193 #define SWIG_name "_pywrapcp"
3194 
3195 #define SWIGVERSION 0x040001
3196 #define SWIG_VERSION SWIGVERSION
3197 
3198 
3199 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
3200 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
3201 
3202 
3203 #include <stdexcept>
3204 
3205 
3206 namespace swig {
3207  class SwigPtr_PyObject {
3208  protected:
3209  PyObject *_obj;
3210 
3211  public:
3213  {
3214  }
3215 
3217  {
3219  Py_XINCREF(_obj);
3221  }
3222 
3223  SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
3224  {
3225  if (initial_ref) {
3227  Py_XINCREF(_obj);
3229  }
3230  }
3231 
3233  {
3235  Py_XINCREF(item._obj);
3236  Py_XDECREF(_obj);
3237  _obj = item._obj;
3239  return *this;
3240  }
3241 
3243  {
3245  Py_XDECREF(_obj);
3247  }
3248 
3249  operator PyObject *() const
3250  {
3251  return _obj;
3252  }
3253 
3254  PyObject *operator->() const
3255  {
3256  return _obj;
3257  }
3258  };
3259 }
3260 
3261 
3262 namespace swig {
3263  struct SwigVar_PyObject : SwigPtr_PyObject {
3264  SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
3265 
3267  {
3268  Py_XDECREF(_obj);
3269  _obj = obj;
3270  return *this;
3271  }
3272  };
3273 }
3274 
3275 
3276 #include <cstdint>
3277 #include <string>
3278 #include <vector>
3279 
3280 #include "ortools/base/basictypes.h"
3281 
3282 
3283 #include <stdint.h> // Use the C99 official header
3284 
3285 
3286 #define SWIGWORDSIZE64
3287 #ifndef LONG_MAX
3288 #include <limits.h>
3289 #endif
3290 #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
3291 # error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
3292 #endif
3293 
3294 
3295 #include <string>
3296 
3297 
3298 #include "ortools/base/python-swig.h"
3299 
3300 
3301 template<>
3302 PyObject* PyObjFrom<int64_t>(const int64_t& c) { return PyLong_FromLongLong(c); }
3303 
3304 
3305 #include <functional>
3306 
3307 // A copyable, ref-counted python pointer.
3308 // TODO(user): Make it movable-only when we support generalized lambda
3309 // capture.
3311  public:
3312  explicit SharedPyPtr(PyObject* obj) : obj_(obj) { Py_INCREF(obj_); }
3313  SharedPyPtr(const SharedPyPtr& other) : obj_(other.obj_) { Py_INCREF(obj_); }
3314 
3315  ~SharedPyPtr() { Py_DECREF(obj_); }
3316 
3317  PyObject* get() const { return obj_; }
3318 
3319  private:
3320  // We do not follow the rule of three as we only want to copy construct.
3321  SharedPyPtr& operator=(const SharedPyPtr&);
3322 
3323  PyObject* const obj_;
3324 };
3325 
3326 template <typename ReturnT>
3327 static ReturnT HandleResult(PyObject* pyresult) {
3328  // This zero-initializes builtin types.
3329  ReturnT result = ReturnT();
3330  if (!pyresult) {
3331  if (!PyErr_Occurred()) {
3332  PyErr_SetString(PyExc_RuntimeError,
3333  "SWIG std::function invocation failed.");
3334  }
3335  return result;
3336  } else {
3337  if (!PyObjAs<ReturnT>(pyresult, &result)) {
3338  if (!PyErr_Occurred()) {
3339  PyErr_SetString(PyExc_RuntimeError,
3340  "SWIG std::function invocation failed.");
3341  }
3342  }
3343  Py_DECREF(pyresult);
3344  }
3345  return result;
3346 }
3347 
3348 template <>
3349 void HandleResult<void>(PyObject * pyresult) {
3350  if (!pyresult) {
3351  if (!PyErr_Occurred()) {
3352  PyErr_SetString(PyExc_RuntimeError,
3353  "SWIG std::function invocation failed.");
3354  }
3355  } else {
3356  Py_DECREF(pyresult);
3357  }
3358 }
3359 
3360 template <typename ReturnT, typename... Args>
3361 static ReturnT InvokePythonCallableReturning(PyObject* pyfunc,
3362  const char* format, Args... args) {
3363  // The const_cast is safe (it's here only because the python API is not
3364  // const-correct).
3365  return HandleResult<ReturnT>(
3366  PyObject_CallFunction(pyfunc, const_cast<char*>(format), args...));
3367 }
3368 
3369 template <typename ReturnT>
3370 static ReturnT InvokePythonCallableReturning(PyObject* pyfunc) {
3371  return HandleResult<ReturnT>(PyObject_CallFunctionObjArgs(pyfunc, nullptr));
3372 }
3373 
3374 
3375 
3376 #include <setjmp.h> // For FailureProtect. See below.
3377 
3378 // Used in the PROTECT_FROM_FAILURE macro. See below.
3379 struct FailureProtect {
3380  jmp_buf exception_buffer;
3381  void JumpBack() { longjmp(exception_buffer, 1); }
3382 };
3383 
3384 // This #includes constraint_solver.h, and inlines some C++ helpers.
3385 #include "ortools/constraint_solver/python/pywrapcp_util.h"
3389 
3390 
3391 template<>
3392 bool PyObjAs(PyObject *py_obj, operations_research::Decision** b) {
3393  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3395  SWIG_POINTER_EXCEPTION) >= 0;
3396 }
3397 
3398 
3399 template<>
3401  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3403  SWIG_POINTER_EXCEPTION) >= 0;
3404 }
3405 
3406 
3407 template<>
3408 bool PyObjAs(PyObject *py_obj, operations_research::SearchMonitor** b) {
3409  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3411  SWIG_POINTER_EXCEPTION) >= 0;
3412 }
3413 
3414 
3415 template<>
3416 bool PyObjAs(PyObject *py_obj, operations_research::IntervalVar** b) {
3417  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3419  SWIG_POINTER_EXCEPTION) >= 0;
3420 }
3421 
3422 
3423 template<>
3424 bool PyObjAs(PyObject *py_obj, operations_research::SequenceVar** b) {
3425  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3427  SWIG_POINTER_EXCEPTION) >= 0;
3428 }
3429 
3430 
3431 template<>
3433  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3435  SWIG_POINTER_EXCEPTION) >= 0;
3436 }
3437 
3438 
3439 template<>
3441  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3443  SWIG_POINTER_EXCEPTION) >= 0;
3444 }
3445 
3446 
3447 template<>
3449  return SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(b),
3451  SWIG_POINTER_EXCEPTION) >= 0;
3452 }
3453 
3454 
3455 template<>
3456 bool PyObjAs(PyObject *py_obj, operations_research::IntVar** var) {
3457  // First, try to interpret the python object as an IntExpr.
3459  if (SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(&t),
3461  SWIG_POINTER_EXCEPTION) >= 0) {
3462  if (t == nullptr) return false;
3463  *var = t->Var();
3464  return true;
3465  }
3466  // Then, try to interpret it as a Constraint.
3468  if (SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(&c),
3470  SWIG_POINTER_EXCEPTION) >= 0) {
3471  if (c == nullptr || c->Var() == nullptr) return false;
3472  *var = c->Var();
3473  return true;
3474  }
3475  // Give up.
3476  return false;
3477 }
3478 
3479 
3480 template<>
3481 bool PyObjAs(PyObject *py_obj, operations_research::IntExpr** var) {
3482  // First, try to interpret the python object as an IntExpr.
3484  if (SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(&t),
3486  SWIG_POINTER_EXCEPTION) >= 0) {
3487  if (t == nullptr) return false;
3488  *var = t->Var();
3489  return true;
3490  }
3491  // Then, try to interpret it as a Constraint.
3493  if (SWIG_ConvertPtr(py_obj, reinterpret_cast<void**>(&c),
3495  SWIG_POINTER_EXCEPTION) >= 0) {
3496  if (c == nullptr || c->Var() == nullptr) return false;
3497  *var = c->Var();
3498  return true;
3499  }
3500  // Give up.
3501  return false;
3502 }
3503 
3504 
3506  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3508  0 | 0);
3509 }
3510 
3511 bool CanConvertToIntVar(PyObject *py_obj) {
3513  return PyObjAs(py_obj, &tmp);
3514 }
3515 
3516 
3518  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3520  0 | 0);
3521 }
3522 
3523 bool CanConvertToIntExpr(PyObject *py_obj) {
3525  return PyObjAs(py_obj, &tmp);
3526 }
3527 
3528 
3530  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3532  0 | 0);
3533 }
3534 
3535 bool CanConvertToDecision(PyObject *py_obj) {
3537  return PyObjAs(py_obj, &tmp);
3538 }
3539 
3540 
3542  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3544  0 | 0);
3545 }
3546 
3547 bool CanConvertToDecisionBuilder(PyObject *py_obj) {
3549  return PyObjAs(py_obj, &tmp);
3550 }
3551 
3552 
3554  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3556  0 | 0);
3557 }
3558 
3559 bool CanConvertToSearchMonitor(PyObject *py_obj) {
3561  return PyObjAs(py_obj, &tmp);
3562 }
3563 
3564 
3566  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3568  0 | 0);
3569 }
3570 
3571 bool CanConvertToIntervalVar(PyObject *py_obj) {
3573  return PyObjAs(py_obj, &tmp);
3574 }
3575 
3576 
3578  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3580  0 | 0);
3581 }
3582 
3583 bool CanConvertToSequenceVar(PyObject *py_obj) {
3585  return PyObjAs(py_obj, &tmp);
3586 }
3587 
3588 
3590  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3592  0 | 0);
3593 }
3594 
3595 bool CanConvertToLocalSearchOperator(PyObject *py_obj) {
3597  return PyObjAs(py_obj, &tmp);
3598 }
3599 
3600 
3602  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3604  0 | 0);
3605 }
3606 
3607 bool CanConvertToLocalSearchFilter(PyObject *py_obj) {
3609  return PyObjAs(py_obj, &tmp);
3610 }
3611 
3612 
3614  return SWIG_NewPointerObj(SWIG_as_voidptr(obj),
3616  0 | 0);
3617 }
3618 
3621  return PyObjAs(py_obj, &tmp);
3622 }
3623 
3624 
3625 static void PyFunctionSolverToVoid(PyObject* pyfunc,
3627  // () needed to force creation of one-element tuple
3628  PyObject* const pysolver =
3631  PyObject* const pyresult = PyEval_CallFunction(pyfunc, "(O)", pysolver);
3632  if (!pyresult) {
3633  PyErr_SetString(PyExc_RuntimeError,
3634  "std::function<void(Solver*)> invocation failed.");
3635  } else {
3636  Py_DECREF(pyresult);
3637  }
3638 }
3639 
3640 
3641 SWIGINTERNINLINE PyObject*
3643 {
3644  return PyInt_FromLong((long) value);
3645 }
3646 
3647 
3648 #include <limits.h>
3649 #if !defined(SWIG_NO_LLONG_MAX)
3650 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
3651 # define LLONG_MAX __LONG_LONG_MAX__
3652 # define LLONG_MIN (-LLONG_MAX - 1LL)
3653 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
3654 # endif
3655 #endif
3656 
3657 
3658 SWIGINTERN int
3659 SWIG_AsVal_double (PyObject *obj, double *val)
3660 {
3661  int res = SWIG_TypeError;
3662  if (PyFloat_Check(obj)) {
3663  if (val) *val = PyFloat_AsDouble(obj);
3664  return SWIG_OK;
3665 #if PY_VERSION_HEX < 0x03000000
3666  } else if (PyInt_Check(obj)) {
3667  if (val) *val = (double) PyInt_AsLong(obj);
3668  return SWIG_OK;
3669 #endif
3670  } else if (PyLong_Check(obj)) {
3671  double v = PyLong_AsDouble(obj);
3672  if (!PyErr_Occurred()) {
3673  if (val) *val = v;
3674  return SWIG_OK;
3675  } else {
3676  PyErr_Clear();
3677  }
3678  }
3679 #ifdef SWIG_PYTHON_CAST_MODE
3680  {
3681  int dispatch = 0;
3682  double d = PyFloat_AsDouble(obj);
3683  if (!PyErr_Occurred()) {
3684  if (val) *val = d;
3685  return SWIG_AddCast(SWIG_OK);
3686  } else {
3687  PyErr_Clear();
3688  }
3689  if (!dispatch) {
3690  long v = PyLong_AsLong(obj);
3691  if (!PyErr_Occurred()) {
3692  if (val) *val = v;
3694  } else {
3695  PyErr_Clear();
3696  }
3697  }
3698  }
3699 #endif
3700  return res;
3701 }
3702 
3703 
3704 #include <float.h>
3705 
3706 
3707 #include <math.h>
3708 
3709 
3710 SWIGINTERNINLINE int
3711 SWIG_CanCastAsInteger(double *d, double min, double max) {
3712  double x = *d;
3713  if ((min <= x && x <= max)) {
3714  double fx = floor(x);
3715  double cx = ceil(x);
3716  double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
3717  if ((errno == EDOM) || (errno == ERANGE)) {
3718  errno = 0;
3719  } else {
3720  double summ, reps, diff;
3721  if (rd < x) {
3722  diff = x - rd;
3723  } else if (rd > x) {
3724  diff = rd - x;
3725  } else {
3726  return 1;
3727  }
3728  summ = rd + x;
3729  reps = diff/summ;
3730  if (reps < 8*DBL_EPSILON) {
3731  *d = rd;
3732  return 1;
3733  }
3734  }
3735  }
3736  return 0;
3737 }
3738 
3739 
3740 SWIGINTERN int
3741 SWIG_AsVal_long (PyObject *obj, long* val)
3742 {
3743 #if PY_VERSION_HEX < 0x03000000
3744  if (PyInt_Check(obj)) {
3745  if (val) *val = PyInt_AsLong(obj);
3746  return SWIG_OK;
3747  } else
3748 #endif
3749  if (PyLong_Check(obj)) {
3750  long v = PyLong_AsLong(obj);
3751  if (!PyErr_Occurred()) {
3752  if (val) *val = v;
3753  return SWIG_OK;
3754  } else {
3755  PyErr_Clear();
3756  return SWIG_OverflowError;
3757  }
3758  }
3759 #ifdef SWIG_PYTHON_CAST_MODE
3760  {
3761  int dispatch = 0;
3762  long v = PyInt_AsLong(obj);
3763  if (!PyErr_Occurred()) {
3764  if (val) *val = v;
3765  return SWIG_AddCast(SWIG_OK);
3766  } else {
3767  PyErr_Clear();
3768  }
3769  if (!dispatch) {
3770  double d;
3771  int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
3772  if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
3773  if (val) *val = (long)(d);
3774  return res;
3775  }
3776  }
3777  }
3778 #endif
3779  return SWIG_TypeError;
3780 }
3781 
3782 
3783 SWIGINTERN int
3784 SWIG_AsVal_int (PyObject * obj, int *val)
3785 {
3786  long v;
3787  int res = SWIG_AsVal_long (obj, &v);
3788  if (SWIG_IsOK(res)) {
3789  if ((v < INT_MIN || v > INT_MAX)) {
3790  return SWIG_OverflowError;
3791  } else {
3792  if (val) *val = static_cast< int >(v);
3793  }
3794  }
3795  return res;
3796 }
3797 
3798 
3799 SWIGINTERN int
3800 SWIG_AsVal_bool (PyObject *obj, bool *val)
3801 {
3802  int r;
3803  if (!PyBool_Check(obj))
3804  return SWIG_ERROR;
3805  r = PyObject_IsTrue(obj);
3806  if (r == -1)
3807  return SWIG_ERROR;
3808  if (val) *val = r ? true : false;
3809  return SWIG_OK;
3810 }
3811 
3812 
3813 SWIGINTERNINLINE PyObject*
3815 {
3816  return PyBool_FromLong(value ? 1 : 0);
3817 }
3818 
3819 
3822 {
3823  static int init = 0;
3824  static swig_type_info* info = 0;
3825  if (!init) {
3826  info = SWIG_TypeQuery("_p_char");
3827  init = 1;
3828  }
3829  return info;
3830 }
3831 
3832 
3833 SWIGINTERN int
3834 SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
3835 {
3836 #if PY_VERSION_HEX>=0x03000000
3837 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3838  if (PyBytes_Check(obj))
3839 #else
3840  if (PyUnicode_Check(obj))
3841 #endif
3842 #else
3843  if (PyString_Check(obj))
3844 #endif
3845  {
3846  char *cstr; Py_ssize_t len;
3847  int ret = SWIG_OK;
3848 #if PY_VERSION_HEX>=0x03000000
3849 #if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3850  if (!alloc && cptr) {
3851  /* We can't allow converting without allocation, since the internal
3852  representation of string in Python 3 is UCS-2/UCS-4 but we require
3853  a UTF-8 representation.
3854  TODO(bhy) More detailed explanation */
3855  return SWIG_RuntimeError;
3856  }
3857  obj = PyUnicode_AsUTF8String(obj);
3858  if (!obj)
3859  return SWIG_TypeError;
3860  if (alloc)
3861  *alloc = SWIG_NEWOBJ;
3862 #endif
3863  PyBytes_AsStringAndSize(obj, &cstr, &len);
3864 #else
3865  PyString_AsStringAndSize(obj, &cstr, &len);
3866 #endif
3867  if (cptr) {
3868  if (alloc) {
3869  if (*alloc == SWIG_NEWOBJ) {
3870  *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3871  *alloc = SWIG_NEWOBJ;
3872  } else {
3873  *cptr = cstr;
3874  *alloc = SWIG_OLDOBJ;
3875  }
3876  } else {
3877 #if PY_VERSION_HEX>=0x03000000
3878 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3879  *cptr = PyBytes_AsString(obj);
3880 #else
3881  assert(0); /* Should never reach here with Unicode strings in Python 3 */
3882 #endif
3883 #else
3884  *cptr = SWIG_Python_str_AsChar(obj);
3885  if (!*cptr)
3886  ret = SWIG_TypeError;
3887 #endif
3888  }
3889  }
3890  if (psize) *psize = len + 1;
3891 #if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3892  Py_XDECREF(obj);
3893 #endif
3894  return ret;
3895  } else {
3896 #if defined(SWIG_PYTHON_2_UNICODE)
3897 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3898 #error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
3899 #endif
3900 #if PY_VERSION_HEX<0x03000000
3901  if (PyUnicode_Check(obj)) {
3902  char *cstr; Py_ssize_t len;
3903  if (!alloc && cptr) {
3904  return SWIG_RuntimeError;
3905  }
3906  obj = PyUnicode_AsUTF8String(obj);
3907  if (!obj)
3908  return SWIG_TypeError;
3909  if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
3910  if (cptr) {
3911  if (alloc) *alloc = SWIG_NEWOBJ;
3912  *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3913  }
3914  if (psize) *psize = len + 1;
3915 
3916  Py_XDECREF(obj);
3917  return SWIG_OK;
3918  } else {
3919  Py_XDECREF(obj);
3920  }
3921  }
3922 #endif
3923 #endif
3924 
3925  swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3926  if (pchar_descriptor) {
3927  void* vptr = 0;
3928  if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
3929  if (cptr) *cptr = (char *) vptr;
3930  if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
3931  if (alloc) *alloc = SWIG_OLDOBJ;
3932  return SWIG_OK;
3933  }
3934  }
3935  }
3936  return SWIG_TypeError;
3937 }
3938 
3939 
3940 SWIGINTERN int
3941 SWIG_AsPtr_std_string (PyObject * obj, std::string **val)
3942 {
3943  char* buf = 0 ; size_t size = 0; int alloc = SWIG_OLDOBJ;
3944  if (SWIG_IsOK((SWIG_AsCharPtrAndSize(obj, &buf, &size, &alloc)))) {
3945  if (buf) {
3946  if (val) *val = new std::string(buf, size - 1);
3947  if (alloc == SWIG_NEWOBJ) delete[] buf;
3948  return SWIG_NEWOBJ;
3949  } else {
3950  if (val) *val = 0;
3951  return SWIG_OLDOBJ;
3952  }
3953  } else {
3954  static int init = 0;
3955  static swig_type_info* descriptor = 0;
3956  if (!init) {
3957  descriptor = SWIG_TypeQuery("std::string" " *");
3958  init = 1;
3959  }
3960  if (descriptor) {
3961  std::string *vptr;
3962  int res = SWIG_ConvertPtr(obj, (void**)&vptr, descriptor, 0);
3963  if (SWIG_IsOK(res) && val) *val = vptr;
3964  return res;
3965  }
3966  }
3967  return SWIG_ERROR;
3968 }
3969 
3970 
3971  #define SWIG_From_long PyInt_FromLong
3972 
3973 
3974 SWIGINTERNINLINE PyObject*
3976 {
3977  return (value > LONG_MAX) ?
3978  PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value));
3979 }
3980 
3981 
3982 SWIGINTERNINLINE PyObject *
3983 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
3984 {
3985  if (carray) {
3986  if (size > INT_MAX) {
3987  swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3988  return pchar_descriptor ?
3989  SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
3990  } else {
3991 #if PY_VERSION_HEX >= 0x03000000
3992 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3993  return PyBytes_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3994 #else
3995  return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
3996 #endif
3997 #else
3998  return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3999 #endif
4000  }
4001  } else {
4002  return SWIG_Py_Void();
4003  }
4004 }
4005 
4006 
4007 SWIGINTERNINLINE PyObject *
4008 SWIG_From_std_string (const std::string& s)
4009 {
4010  return SWIG_FromCharPtrAndSize(s.data(), s.size());
4011 }
4012 
4014  return self->DebugString();
4015  }
4016 SWIGINTERN operations_research::Constraint *operations_research_Solver_TreeNoCycle__SWIG_0(operations_research::Solver *self,std::vector< operations_research::IntVar * > const &nexts,std::vector< operations_research::IntVar * > const &active,operations_research::Solver::IndexFilter1 callback=nullptr){
4017  return self->MakeNoCycle(nexts, active, callback, false);
4018  }
4020  return self->MakeSearchLog(period, callback);
4021  }
4023  return self->MakeElement(values, index);
4024  }
4025 SWIGINTERN operations_research::DecisionBuilder *operations_research_Solver_VarEvalValStrPhase(operations_research::Solver *self,std::vector< operations_research::IntVar * > const &vars,std::function< int64_t (int64_t) > var_evaluator,operations_research::Solver::IntValueStrategy val_str){
4026  return self->MakePhase(vars, var_evaluator, val_str);
4027  }
4029  return self->MakePhase(vars, var_str, val_eval);
4030  }
4031 SWIGINTERN operations_research::DecisionBuilder *operations_research_Solver_VarEvalValEvalPhase(operations_research::Solver *self,std::vector< operations_research::IntVar * > const &vars,std::function< int64_t (int64_t) > var_eval,operations_research::Solver::IndexEvaluator2 val_eval){
4032  return self->MakePhase(vars, var_eval, val_eval);
4033  }
4035  return self->MakePhase(vars, var_str, val_eval, tie_breaker);
4036  }
4037 SWIGINTERN operations_research::DecisionBuilder *operations_research_Solver_VarEvalValEvalTieBreakPhase(operations_research::Solver *self,std::vector< operations_research::IntVar * > const &vars,std::function< int64_t (int64_t) > var_eval,operations_research::Solver::IndexEvaluator2 val_eval,std::function< int64_t (int64_t) > tie_breaker){
4038  return self->MakePhase(vars, var_eval, val_eval, tie_breaker);
4039  }
4041  return self->MakePhase(vars, evaluator, str);
4042  }
4044  return self->MakePhase(vars, evaluator, tie_breaker, str);
4045  }
4046 SWIGINTERN operations_research::SearchMonitor *operations_research_Solver_GuidedLocalSearch__SWIG_2(operations_research::Solver *self,bool maximize,operations_research::IntVar *const objective,operations_research::Solver::IndexEvaluator2 objective_function,int64_t step,std::vector< operations_research::IntVar * > const &vars,double penalty_factor){
4047  return self->MakeGuidedLocalSearch(maximize,
4048  objective,
4049  objective_function,
4050  step,
4051  vars,
4052  penalty_factor);
4053  }
4055  return self->MakeSumObjectiveFilter(vars,
4056  values,
4057  filter_enum);
4058  }
4060  return self->DebugString();
4061  }
4063  return self->DebugString();
4064  }
4066  return self->DebugString();
4067  }
4069  return self->DebugString();
4070  }
4072  return self->DebugString();
4073  }
4075  return self->DebugString();
4076  }
4078  return self->DebugString();
4079  }
4081  return self->DebugString();
4082  }
4084  return self->solver()->MakeSum(self->Var(), other);
4085  }
4087  return self->solver()->MakeSum(self->Var(), other->Var());
4088  }
4090  return self->solver()->MakeSum(self->Var(), v);
4091  }
4093  return self->solver()->MakeSum(self->Var(), v);
4094  }
4096  return self->solver()->MakeDifference(self->Var(), other);
4097  }
4099  return self->solver()->MakeDifference(self->Var(), other->Var());
4100  }
4102  return self->solver()->MakeSum(self->Var(), -v);
4103  }
4105  return self->solver()->MakeDifference(v, self->Var());
4106  }
4108  return self->solver()->MakeProd(self->Var(), other);
4109  }
4111  return self->solver()->MakeProd(self->Var(), other->Var());
4112  }
4114  return self->solver()->MakeProd(self->Var(), v);
4115  }
4117  return self->solver()->MakeProd(self->Var(), v);
4118  }
4120  return self->solver()->MakeDiv(self->Var(), v);
4121  }
4123  return self->solver()->MakeOpposite(self->Var());
4124  }
4126  return self->solver()->MakeAbs(self->Var());
4127  }
4129  return self->solver()->MakeSquare(self->Var());
4130  }
4132  return self->solver()->MakeEquality(self->Var(), v);
4133  }
4135  return self->solver()->MakeNonEquality(self->Var(), v);
4136  }
4138  return self->solver()->MakeGreaterOrEqual(self->Var(), v);
4139  }
4141  return self->solver()->MakeGreater(self->Var(), v);
4142  }
4144  return self->solver()->MakeLessOrEqual(self->Var(), v);
4145  }
4147  return self->solver()->MakeLess(self->Var(), v);
4148  }
4150  return self->solver()->MakeEquality(self->Var(), other->Var());
4151  }
4153  return self->solver()->MakeNonEquality(self->Var(), other->Var());
4154  }
4156  return self->solver()->MakeGreaterOrEqual(self->Var(), other->Var());
4157  }
4159  return self->solver()->MakeGreater(self->Var(), other->Var());
4160  }
4162  return self->solver()->MakeLessOrEqual(self->Var(), other->Var());
4163  }
4165  return self->solver()->MakeLess(self->Var(), other->Var());
4166  }
4168  return self->solver()->MakeEquality(self->Var(), other->Var());
4169  }
4171  return self->solver()->MakeNonEquality(self->Var(), other->Var());
4172  }
4174  return self->solver()->MakeGreaterOrEqual(self->Var(), other->Var());
4175  }
4177  return self->solver()->MakeGreater(self->Var(), other->Var());
4178  }
4180  return self->solver()->MakeLessOrEqual(self->Var(), other->Var());
4181  }
4183  return self->solver()->MakeLess(self->Var(), other->Var());
4184  }
4186  return self->solver()->MakeMapDomain(self->Var(), vars);
4187  }
4189  return self->solver()->MakeElement(vars, self->Var());
4190  }
4192  return self->solver()->MakeElement(vars, self->Var());
4193  }
4195  return self->DebugString();
4196  }
4198  return self->DebugString();
4199  }
4201  return self->DebugString();
4202  }
4204  return self->DebugString();
4205  }
4207  return self->solver()->MakeSum(self, other);
4208  }
4210  return self->solver()->MakeSum(self, other->Var());
4211  }
4213  return self->solver()->MakeSum(self, v);
4214  }
4216  return self->solver()->MakeSum(self, v);
4217  }
4219  return self->solver()->MakeDifference(self, other);
4220  }
4222  return self->solver()->MakeDifference(self, other->Var());
4223  }
4225  return self->solver()->MakeSum(self, -v);
4226  }
4228  return self->solver()->MakeDifference(v, self);
4229  }
4231  return self->solver()->MakeProd(self, other);
4232  }
4234  return self->solver()->MakeProd(self, other->Var());
4235  }
4237  return self->solver()->MakeProd(self, v);
4238  }
4240  return self->solver()->MakeProd(self, v);
4241  }
4243  return self->solver()->MakeDiv(self, v);
4244  }
4246  return self->solver()->MakeDiv(self, e);
4247  }
4249  return self->solver()->MakeModulo(self, v);
4250  }
4252  return self->solver()->MakeModulo(self, e);
4253  }
4255  return self->solver()->MakeOpposite(self);
4256  }
4258  return self->solver()->MakeAbs(self);
4259  }
4261  return self->solver()->MakeSquare(self);
4262  }
4264  return self->solver()->MakeEquality(self, v);
4265  }
4267  return self->solver()->MakeNonEquality(self->Var(), v);
4268  }
4270  return self->solver()->MakeGreaterOrEqual(self, v);
4271  }
4273  return self->solver()->MakeGreater(self, v);
4274  }
4276  return self->solver()->MakeLessOrEqual(self, v);
4277  }
4279  return self->solver()->MakeLess(self, v);
4280  }
4282  return self->solver()->MakeEquality(self->Var(), other->Var());
4283  }
4285  return self->solver()->MakeNonEquality(self->Var(), other->Var());
4286  }
4288  return self->solver()->MakeGreaterOrEqual(self->Var(), other->Var());
4289  }
4291  return self->solver()->MakeGreater(self->Var(), other->Var());
4292  }
4294  return self->solver()->MakeLessOrEqual(self->Var(), other->Var());
4295  }
4297  return self->solver()->MakeLess(self->Var(), other->Var());
4298  }
4300  return self->solver()->MakeEquality(self->Var(), other->Var());
4301  }
4303  return self->solver()->MakeNonEquality(self->Var(), other->Var());
4304  }
4306  return self->solver()->MakeGreaterOrEqual(self->Var(), other->Var());
4307  }
4309  return self->solver()->MakeGreater(self->Var(), other->Var());
4310  }
4312  return self->solver()->MakeLessOrEqual(self->Var(), other->Var());
4313  }
4315  return self->solver()->MakeLess(self->Var(), other->Var());
4316  }
4318  return self->solver()->MakeMapDomain(self->Var(), vars);
4319  }
4321  return self->solver()->MakeElement(vars, self->Var());
4322  }
4324  return self->solver()->MakeElement(vars, self->Var());
4325  }
4327  return self->solver()->MakeIsMemberVar(self->Var(), values);
4328  }
4330  return self->solver()->MakeMemberCt(self->Var(), values);
4331  }
4332 SWIGINTERN operations_research::Constraint *operations_research_IntExpr_NotMember(operations_research::IntExpr *self,std::vector< int64_t > const &starts,std::vector< int64_t > const &ends){
4333  return self->solver()->MakeNotMemberCt(self, starts, ends);
4334  }
4336  return self->DebugString();
4337  }
4339  return self->DebugString();
4340  }
4342  return self->solver()->MakeIntervalVarRelation(
4344 }
4346  return self->solver()->MakeIntervalVarRelationWithDelay(
4347  self, operations_research::Solver::ENDS_AFTER_END, other, delay);
4348 }
4350  return self->solver()->MakeIntervalVarRelation(
4352 }
4354  return self->solver()->MakeIntervalVarRelationWithDelay(
4355  self, operations_research::Solver::ENDS_AFTER_START, other, delay);
4356 }
4358  return self->solver()->MakeIntervalVarRelation(
4360 }
4362  return self->solver()->MakeIntervalVarRelationWithDelay(
4363  self, operations_research::Solver::ENDS_AT_END, other, delay);
4364 }
4366  return self->solver()->MakeIntervalVarRelation(
4368 }
4370  return self->solver()->MakeIntervalVarRelationWithDelay(
4371  self, operations_research::Solver::ENDS_AT_START, other, delay);
4372 }
4374  return self->solver()->MakeIntervalVarRelation(
4376 }
4378  return self->solver()->MakeIntervalVarRelationWithDelay(
4379  self, operations_research::Solver::STARTS_AFTER_END, other, delay);
4380 }
4382  return self->solver()->MakeIntervalVarRelation(
4384 }
4386  return self->solver()->MakeIntervalVarRelationWithDelay(
4388 }
4390  return self->solver()->MakeIntervalVarRelation(
4392 }
4394  return self->solver()->MakeIntervalVarRelationWithDelay(
4395  self, operations_research::Solver::STARTS_AT_END, other, delay);
4396 }
4398  return self->solver()->MakeIntervalVarRelation(
4400 }
4402  return self->solver()->MakeIntervalVarRelationWithDelay(
4403  self, operations_research::Solver::STARTS_AT_START, other, delay);
4404 }
4406  return self->solver()->MakeIntervalVarRelation(
4408 }
4410  return self->solver()->MakeIntervalVarRelationWithDelay(
4411  self, operations_research::Solver::STAYS_IN_SYNC, other, delay);
4412 }
4414  return self->solver()->MakeIntervalVarRelation(
4416 }
4418  return self->solver()->MakeIntervalVarRelation(
4420 }
4422  return self->solver()->MakeIntervalVarRelation(
4424 }
4426  return self->solver()->MakeIntervalVarRelation(
4428 }
4430  return self->solver()->MakeIntervalVarRelation(
4432 }
4434  return self->solver()->MakeIntervalVarRelation(
4436 }
4438  return self->solver()->MakeIntervalVarRelation(
4440 }
4442  return self->solver()->MakeIntervalVarRelation(
4444 }
4446  return self->DebugString();
4447  }
4449  return self->DebugString();
4450  }
4452  return self->DebugString();
4453  }
4455  return self->DebugString();
4456  }
4458  return self->Value(index);
4459  }
4461  return self->Size();
4462  }
4464  int64_t index = -1;
4465  self->FindIndex(var, &index);
4466  return index;
4467  }
4468 
4470 
4471 template<typename IndexT>
4472 inline PyObject* PyInt_FromIndexT(const IndexT i) {
4473  return PyInt_FromLong(i.value());
4474 }
4475 
4476 
4477 template<>
4478 bool PyObjAs(PyObject *py, operations_research::RoutingNodeIndex* i) {
4479  int temp;
4480  if (!PyObjAs(py, &temp)) return false;
4481  *i = operations_research::RoutingNodeIndex(temp);
4482  return true;
4483 }
4484 
4485 
4486 template<>
4487 bool PyObjAs(PyObject *py, operations_research::RoutingCostClassIndex* i) {
4488  int temp;
4489  if (!PyObjAs(py, &temp)) return false;
4490  *i = operations_research::RoutingCostClassIndex(temp);
4491  return true;
4492 }
4493 
4494 
4495 template<>
4496 bool PyObjAs(PyObject *py, operations_research::RoutingDimensionIndex* i) {
4497  int temp;
4498  if (!PyObjAs(py, &temp)) return false;
4499  *i = operations_research::RoutingDimensionIndex(temp);
4500  return true;
4501 }
4502 
4503 
4504 template<>
4505 bool PyObjAs(PyObject *py, operations_research::RoutingDisjunctionIndex* i) {
4506  int temp;
4507  if (!PyObjAs(py, &temp)) return false;
4508  *i = operations_research::RoutingDisjunctionIndex(temp);
4509  return true;
4510 }
4511 
4512 
4513 template<>
4514 bool PyObjAs(PyObject *py, operations_research::RoutingVehicleClassIndex* i) {
4515  int temp;
4516  if (!PyObjAs(py, &temp)) return false;
4517  *i = operations_research::RoutingVehicleClassIndex(temp);
4518  return true;
4519 }
4520 
4521 
4523 
4524 
4530 
4531 
4532 SWIGINTERNINLINE PyObject *
4533 SWIG_FromCharPtr(const char *cptr)
4534 {
4535  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
4536 }
4537 
4538 
4539 
4540 /* ---------------------------------------------------
4541  * C++ director class methods
4542  * --------------------------------------------------- */
4543 
4545 
4546 SwigDirector_BaseObject::SwigDirector_BaseObject(PyObject *self): operations_research::BaseObject(), Swig::Director(self) {
4548 }
4549 
4550 
4551 
4552 
4554 }
4555 
4557  std::string c_result;
4558  if (!swig_get_self()) {
4559  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseObject.__init__.");
4560  }
4561 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4562  const size_t swig_method_index = 0;
4563  const char *const swig_method_name = "DebugString";
4564  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4565  swig::SwigVar_PyObject args = PyTuple_New(0);
4566  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4567 #else
4568  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4569  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4570 #endif
4571  if (!result) {
4572  PyObject *error = PyErr_Occurred();
4573  {
4574  if (error != NULL) {
4576  }
4577  }
4578  }
4579  std::string *swig_optr = 0;
4580  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4581  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4582  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4583  }
4584  c_result = *swig_optr;
4585  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4586  return (std::string) c_result;
4587 }
4588 
4589 
4592 }
4593 
4594 
4595 
4596 
4598 }
4599 
4601  std::string c_result;
4602  if (!swig_get_self()) {
4603  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call PropagationBaseObject.__init__.");
4604  }
4605 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4606  const size_t swig_method_index = 0;
4607  const char *const swig_method_name = "DebugString";
4608  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4609  swig::SwigVar_PyObject args = PyTuple_New(0);
4610  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4611 #else
4612  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4613  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4614 #endif
4615  if (!result) {
4616  PyObject *error = PyErr_Occurred();
4617  {
4618  if (error != NULL) {
4620  }
4621  }
4622  }
4623  std::string *swig_optr = 0;
4624  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4625  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4626  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4627  }
4628  c_result = *swig_optr;
4629  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4630  return (std::string) c_result;
4631 }
4632 
4633 
4635  std::string c_result;
4636  if (!swig_get_self()) {
4637  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call PropagationBaseObject.__init__.");
4638  }
4639 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4640  const size_t swig_method_index = 1;
4641  const char *const swig_method_name = "Name";
4642  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4643  swig::SwigVar_PyObject args = PyTuple_New(0);
4644  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4645 #else
4646  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Name");
4647  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4648 #endif
4649  if (!result) {
4650  PyObject *error = PyErr_Occurred();
4651  {
4652  if (error != NULL) {
4654  }
4655  }
4656  }
4657  std::string *swig_optr = 0;
4658  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4659  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4660  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4661  }
4662  c_result = *swig_optr;
4663  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4664  return (std::string) c_result;
4665 }
4666 
4667 
4668 SwigDirector_Decision::SwigDirector_Decision(PyObject *self): operations_research::Decision(), Swig::Director(self) {
4670 }
4671 
4672 
4673 
4674 
4676 }
4677 
4678 std::string SwigDirector_Decision::DebugString() const {
4679  std::string c_result;
4680  if (!swig_get_self()) {
4681  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Decision.__init__.");
4682  }
4683 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4684  const size_t swig_method_index = 0;
4685  const char *const swig_method_name = "DebugString";
4686  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4687  swig::SwigVar_PyObject args = PyTuple_New(0);
4688  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4689 #else
4690  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4691  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4692 #endif
4693  if (!result) {
4694  PyObject *error = PyErr_Occurred();
4695  {
4696  if (error != NULL) {
4698  }
4699  }
4700  }
4701  std::string *swig_optr = 0;
4702  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4703  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4704  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4705  }
4706  c_result = *swig_optr;
4707  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4708  return (std::string) c_result;
4709 }
4710 
4711 
4715  if (!swig_get_self()) {
4716  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Decision.__init__.");
4717  }
4718 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4719  const size_t swig_method_index = 1;
4720  const char *const swig_method_name = "ApplyWrapper";
4721  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4722  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
4723 #else
4724  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("ApplyWrapper");
4725  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
4726 #endif
4727  if (!result) {
4728  PyObject *error = PyErr_Occurred();
4729  {
4730  if (error != NULL) {
4732  }
4733  }
4734  }
4735 }
4736 
4737 
4741  if (!swig_get_self()) {
4742  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Decision.__init__.");
4743  }
4744 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4745  const size_t swig_method_index = 2;
4746  const char *const swig_method_name = "RefuteWrapper";
4747  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4748  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
4749 #else
4750  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("RefuteWrapper");
4751  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
4752 #endif
4753  if (!result) {
4754  PyObject *error = PyErr_Occurred();
4755  {
4756  if (error != NULL) {
4758  }
4759  }
4760  }
4761 }
4762 
4763 
4764 SwigDirector_DecisionBuilder::SwigDirector_DecisionBuilder(PyObject *self): operations_research::DecisionBuilder(), Swig::Director(self) {
4766 }
4767 
4768 
4769 
4770 
4772 }
4773 
4774 std::string SwigDirector_DecisionBuilder::DebugString() const {
4775  std::string c_result;
4776  if (!swig_get_self()) {
4777  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call DecisionBuilder.__init__.");
4778  }
4779 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4780  const size_t swig_method_index = 0;
4781  const char *const swig_method_name = "DebugString";
4782  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4783  swig::SwigVar_PyObject args = PyTuple_New(0);
4784  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4785 #else
4786  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4787  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4788 #endif
4789  if (!result) {
4790  PyObject *error = PyErr_Occurred();
4791  {
4792  if (error != NULL) {
4794  }
4795  }
4796  }
4797  std::string *swig_optr = 0;
4798  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4799  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4800  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4801  }
4802  c_result = *swig_optr;
4803  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4804  return (std::string) c_result;
4805 }
4806 
4807 
4809  operations_research::Decision *c_result = 0 ;
4810  void *swig_argp ;
4811  int swig_res ;
4812  swig_owntype own ;
4813 
4816  if (!swig_get_self()) {
4817  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call DecisionBuilder.__init__.");
4818  }
4819 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4820  const size_t swig_method_index = 1;
4821  const char *const swig_method_name = "NextWrapper";
4822  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4823  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
4824 #else
4825  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextWrapper");
4826  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
4827 #endif
4828  if (!result) {
4829  PyObject *error = PyErr_Occurred();
4830  {
4831  if (error != NULL) {
4833  }
4834  }
4835  }
4836  swig_res = SWIG_ConvertPtrAndOwn(result, &swig_argp, SWIGTYPE_p_operations_research__Decision, 0 | SWIG_POINTER_DISOWN, &own);
4837  if (!SWIG_IsOK(swig_res)) {
4838  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""operations_research::Decision *""'");
4839  }
4840  c_result = reinterpret_cast< operations_research::Decision * >(swig_argp);
4841  swig_acquire_ownership_obj(SWIG_as_voidptr(c_result), own /* & TODO: SWIG_POINTER_OWN */);
4842  return (operations_research::Decision *) c_result;
4843 }
4844 
4845 
4846 SwigDirector_Demon::SwigDirector_Demon(PyObject *self): operations_research::Demon(), Swig::Director(self) {
4848 }
4849 
4850 
4851 
4852 
4854 }
4855 
4856 std::string SwigDirector_Demon::DebugString() const {
4857  std::string c_result;
4858  if (!swig_get_self()) {
4859  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Demon.__init__.");
4860  }
4861 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4862  const size_t swig_method_index = 0;
4863  const char *const swig_method_name = "DebugString";
4864  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4865  swig::SwigVar_PyObject args = PyTuple_New(0);
4866  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4867 #else
4868  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4869  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4870 #endif
4871  if (!result) {
4872  PyObject *error = PyErr_Occurred();
4873  {
4874  if (error != NULL) {
4876  }
4877  }
4878  }
4879  std::string *swig_optr = 0;
4880  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4881  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4882  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4883  }
4884  c_result = *swig_optr;
4885  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4886  return (std::string) c_result;
4887 }
4888 
4889 
4893  if (!swig_get_self()) {
4894  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Demon.__init__.");
4895  }
4896 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4897  const size_t swig_method_index = 1;
4898  const char *const swig_method_name = "RunWrapper";
4899  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4900  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
4901 #else
4902  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("RunWrapper");
4903  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
4904 #endif
4905  if (!result) {
4906  PyObject *error = PyErr_Occurred();
4907  {
4908  if (error != NULL) {
4910  }
4911  }
4912  }
4913 }
4914 
4915 
4917  operations_research::Solver::DemonPriority c_result = SwigValueInit< operations_research::Solver::DemonPriority >() ;
4918 
4919  if (!swig_get_self()) {
4920  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Demon.__init__.");
4921  }
4922 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4923  const size_t swig_method_index = 2;
4924  const char *const swig_method_name = "Priority";
4925  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4926  swig::SwigVar_PyObject args = PyTuple_New(0);
4927  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4928 #else
4929  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Priority");
4930  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4931 #endif
4932  if (!result) {
4933  PyObject *error = PyErr_Occurred();
4934  {
4935  if (error != NULL) {
4937  }
4938  }
4939  }
4940  int swig_val;
4941  int swig_res = SWIG_AsVal_int(result, &swig_val);
4942  if (!SWIG_IsOK(swig_res)) {
4943  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""operations_research::Solver::DemonPriority""'");
4944  }
4945  c_result = static_cast< operations_research::Solver::DemonPriority >(swig_val);
4947 }
4948 
4949 
4950 SwigDirector_Constraint::SwigDirector_Constraint(PyObject *self, operations_research::Solver *const solver): operations_research::Constraint(solver), Swig::Director(self) {
4952 }
4953 
4954 
4955 
4956 
4958 }
4959 
4960 std::string SwigDirector_Constraint::DebugString() const {
4961  std::string c_result;
4962  if (!swig_get_self()) {
4963  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Constraint.__init__.");
4964  }
4965 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
4966  const size_t swig_method_index = 0;
4967  const char *const swig_method_name = "DebugString";
4968  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
4969  swig::SwigVar_PyObject args = PyTuple_New(0);
4970  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
4971 #else
4972  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
4973  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
4974 #endif
4975  if (!result) {
4976  PyObject *error = PyErr_Occurred();
4977  {
4978  if (error != NULL) {
4980  }
4981  }
4982  }
4983  std::string *swig_optr = 0;
4984  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
4985  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
4986  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
4987  }
4988  c_result = *swig_optr;
4989  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
4990  return (std::string) c_result;
4991 }
4992 
4993 
4994 std::string SwigDirector_Constraint::name() const {
4995  std::string c_result;
4996  if (!swig_get_self()) {
4997  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Constraint.__init__.");
4998  }
4999 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5000  const size_t swig_method_index = 1;
5001  const char *const swig_method_name = "Name";
5002  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5003  swig::SwigVar_PyObject args = PyTuple_New(0);
5004  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5005 #else
5006  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Name");
5007  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5008 #endif
5009  if (!result) {
5010  PyObject *error = PyErr_Occurred();
5011  {
5012  if (error != NULL) {
5014  }
5015  }
5016  }
5017  std::string *swig_optr = 0;
5018  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
5019  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
5020  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
5021  }
5022  c_result = *swig_optr;
5023  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
5024  return (std::string) c_result;
5025 }
5026 
5027 
5029  if (!swig_get_self()) {
5030  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Constraint.__init__.");
5031  }
5032 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5033  const size_t swig_method_index = 2;
5034  const char *const swig_method_name = "Post";
5035  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5036  swig::SwigVar_PyObject args = PyTuple_New(0);
5037  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5038 #else
5039  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Post");
5040  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5041 #endif
5042  if (!result) {
5043  PyObject *error = PyErr_Occurred();
5044  {
5045  if (error != NULL) {
5047  }
5048  }
5049  }
5050 }
5051 
5052 
5054  if (!swig_get_self()) {
5055  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Constraint.__init__.");
5056  }
5057 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5058  const size_t swig_method_index = 3;
5059  const char *const swig_method_name = "InitialPropagateWrapper";
5060  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5061  swig::SwigVar_PyObject args = PyTuple_New(0);
5062  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5063 #else
5064  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("InitialPropagateWrapper");
5065  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5066 #endif
5067  if (!result) {
5068  PyObject *error = PyErr_Occurred();
5069  {
5070  if (error != NULL) {
5072  }
5073  }
5074  }
5075 }
5076 
5077 
5080 }
5081 
5082 
5084  operations_research::IntVar *c_result = 0 ;
5085  void *swig_argp ;
5086  int swig_res ;
5087  swig_owntype own ;
5088 
5089  if (!swig_get_self()) {
5090  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call Constraint.__init__.");
5091  }
5092 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5093  const size_t swig_method_index = 4;
5094  const char *const swig_method_name = "Var";
5095  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5096  swig::SwigVar_PyObject args = PyTuple_New(0);
5097  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5098 #else
5099  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Var");
5100  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5101 #endif
5102  if (!result) {
5103  PyObject *error = PyErr_Occurred();
5104  {
5105  if (error != NULL) {
5107  }
5108  }
5109  }
5110  swig_res = SWIG_ConvertPtrAndOwn(result, &swig_argp, SWIGTYPE_p_operations_research__IntVar, 0 | SWIG_POINTER_DISOWN, &own);
5111  if (!SWIG_IsOK(swig_res)) {
5112  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""operations_research::IntVar *""'");
5113  }
5114  c_result = reinterpret_cast< operations_research::IntVar * >(swig_argp);
5115  swig_acquire_ownership_obj(SWIG_as_voidptr(c_result), own /* & TODO: SWIG_POINTER_OWN */);
5116  return (operations_research::IntVar *) c_result;
5117 }
5118 
5119 
5122 }
5123 
5124 
5125 
5126 
5128 }
5129 
5130 std::string SwigDirector_SearchMonitor::DebugString() const {
5131  std::string c_result;
5132  if (!swig_get_self()) {
5133  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5134  }
5135 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5136  const size_t swig_method_index = 0;
5137  const char *const swig_method_name = "DebugString";
5138  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5139  swig::SwigVar_PyObject args = PyTuple_New(0);
5140  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5141 #else
5142  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
5143  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5144 #endif
5145  if (!result) {
5146  PyObject *error = PyErr_Occurred();
5147  {
5148  if (error != NULL) {
5150  }
5151  }
5152  }
5153  std::string *swig_optr = 0;
5154  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
5155  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
5156  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
5157  }
5158  c_result = *swig_optr;
5159  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
5160  return (std::string) c_result;
5161 }
5162 
5163 
5165  if (!swig_get_self()) {
5166  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5167  }
5168 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5169  const size_t swig_method_index = 1;
5170  const char *const swig_method_name = "EnterSearch";
5171  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5172  swig::SwigVar_PyObject args = PyTuple_New(0);
5173  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5174 #else
5175  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("EnterSearch");
5176  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5177 #endif
5178  if (!result) {
5179  PyObject *error = PyErr_Occurred();
5180  {
5181  if (error != NULL) {
5183  }
5184  }
5185  }
5186 }
5187 
5188 
5190  if (!swig_get_self()) {
5191  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5192  }
5193 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5194  const size_t swig_method_index = 2;
5195  const char *const swig_method_name = "RestartSearch";
5196  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5197  swig::SwigVar_PyObject args = PyTuple_New(0);
5198  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5199 #else
5200  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("RestartSearch");
5201  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5202 #endif
5203  if (!result) {
5204  PyObject *error = PyErr_Occurred();
5205  {
5206  if (error != NULL) {
5208  }
5209  }
5210  }
5211 }
5212 
5213 
5215  if (!swig_get_self()) {
5216  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5217  }
5218 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5219  const size_t swig_method_index = 3;
5220  const char *const swig_method_name = "ExitSearch";
5221  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5222  swig::SwigVar_PyObject args = PyTuple_New(0);
5223  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5224 #else
5225  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("ExitSearch");
5226  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5227 #endif
5228  if (!result) {
5229  PyObject *error = PyErr_Occurred();
5230  {
5231  if (error != NULL) {
5233  }
5234  }
5235  }
5236 }
5237 
5238 
5242  if (!swig_get_self()) {
5243  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5244  }
5245 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5246  const size_t swig_method_index = 4;
5247  const char *const swig_method_name = "BeginNextDecision";
5248  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5249  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
5250 #else
5251  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("BeginNextDecision");
5252  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
5253 #endif
5254  if (!result) {
5255  PyObject *error = PyErr_Occurred();
5256  {
5257  if (error != NULL) {
5259  }
5260  }
5261  }
5262 }
5263 
5264 
5270  if (!swig_get_self()) {
5271  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5272  }
5273 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5274  const size_t swig_method_index = 5;
5275  const char *const swig_method_name = "EndNextDecision";
5276  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5277  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5278 #else
5279  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("EndNextDecision");
5280  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5281 #endif
5282  if (!result) {
5283  PyObject *error = PyErr_Occurred();
5284  {
5285  if (error != NULL) {
5287  }
5288  }
5289  }
5290 }
5291 
5292 
5296  if (!swig_get_self()) {
5297  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5298  }
5299 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5300  const size_t swig_method_index = 6;
5301  const char *const swig_method_name = "ApplyDecision";
5302  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5303  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
5304 #else
5305  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("ApplyDecision");
5306  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
5307 #endif
5308  if (!result) {
5309  PyObject *error = PyErr_Occurred();
5310  {
5311  if (error != NULL) {
5313  }
5314  }
5315  }
5316 }
5317 
5318 
5322  if (!swig_get_self()) {
5323  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5324  }
5325 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5326  const size_t swig_method_index = 7;
5327  const char *const swig_method_name = "RefuteDecision";
5328  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5329  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
5330 #else
5331  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("RefuteDecision");
5332  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
5333 #endif
5334  if (!result) {
5335  PyObject *error = PyErr_Occurred();
5336  {
5337  if (error != NULL) {
5339  }
5340  }
5341  }
5342 }
5343 
5344 
5349  obj1 = SWIG_From_bool(static_cast< bool >(apply));
5350  if (!swig_get_self()) {
5351  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5352  }
5353 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5354  const size_t swig_method_index = 8;
5355  const char *const swig_method_name = "AfterDecision";
5356  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5357  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5358 #else
5359  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("AfterDecision");
5360  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5361 #endif
5362  if (!result) {
5363  PyObject *error = PyErr_Occurred();
5364  {
5365  if (error != NULL) {
5367  }
5368  }
5369  }
5370 }
5371 
5372 
5374  if (!swig_get_self()) {
5375  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5376  }
5377 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5378  const size_t swig_method_index = 9;
5379  const char *const swig_method_name = "BeginFail";
5380  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5381  swig::SwigVar_PyObject args = PyTuple_New(0);
5382  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5383 #else
5384  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("BeginFail");
5385  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5386 #endif
5387  if (!result) {
5388  PyObject *error = PyErr_Occurred();
5389  {
5390  if (error != NULL) {
5392  }
5393  }
5394  }
5395 }
5396 
5397 
5399  if (!swig_get_self()) {
5400  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5401  }
5402 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5403  const size_t swig_method_index = 10;
5404  const char *const swig_method_name = "EndFail";
5405  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5406  swig::SwigVar_PyObject args = PyTuple_New(0);
5407  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5408 #else
5409  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("EndFail");
5410  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5411 #endif
5412  if (!result) {
5413  PyObject *error = PyErr_Occurred();
5414  {
5415  if (error != NULL) {
5417  }
5418  }
5419  }
5420 }
5421 
5422 
5424  if (!swig_get_self()) {
5425  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5426  }
5427 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5428  const size_t swig_method_index = 11;
5429  const char *const swig_method_name = "BeginInitialPropagation";
5430  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5431  swig::SwigVar_PyObject args = PyTuple_New(0);
5432  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5433 #else
5434  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("BeginInitialPropagation");
5435  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5436 #endif
5437  if (!result) {
5438  PyObject *error = PyErr_Occurred();
5439  {
5440  if (error != NULL) {
5442  }
5443  }
5444  }
5445 }
5446 
5447 
5449  if (!swig_get_self()) {
5450  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5451  }
5452 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5453  const size_t swig_method_index = 12;
5454  const char *const swig_method_name = "EndInitialPropagation";
5455  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5456  swig::SwigVar_PyObject args = PyTuple_New(0);
5457  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5458 #else
5459  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("EndInitialPropagation");
5460  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5461 #endif
5462  if (!result) {
5463  PyObject *error = PyErr_Occurred();
5464  {
5465  if (error != NULL) {
5467  }
5468  }
5469  }
5470 }
5471 
5472 
5474  bool c_result = SwigValueInit< bool >() ;
5475 
5476  if (!swig_get_self()) {
5477  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5478  }
5479 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5480  const size_t swig_method_index = 13;
5481  const char *const swig_method_name = "AcceptSolution";
5482  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5483  swig::SwigVar_PyObject args = PyTuple_New(0);
5484  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5485 #else
5486  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("AcceptSolution");
5487  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5488 #endif
5489  if (!result) {
5490  PyObject *error = PyErr_Occurred();
5491  {
5492  if (error != NULL) {
5494  }
5495  }
5496  }
5497  bool swig_val;
5498  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5499  if (!SWIG_IsOK(swig_res)) {
5500  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5501  }
5502  c_result = static_cast< bool >(swig_val);
5503  return (bool) c_result;
5504 }
5505 
5506 
5508  bool c_result = SwigValueInit< bool >() ;
5509 
5510  if (!swig_get_self()) {
5511  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5512  }
5513 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5514  const size_t swig_method_index = 14;
5515  const char *const swig_method_name = "AtSolution";
5516  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5517  swig::SwigVar_PyObject args = PyTuple_New(0);
5518  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5519 #else
5520  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("AtSolution");
5521  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5522 #endif
5523  if (!result) {
5524  PyObject *error = PyErr_Occurred();
5525  {
5526  if (error != NULL) {
5528  }
5529  }
5530  }
5531  bool swig_val;
5532  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5533  if (!SWIG_IsOK(swig_res)) {
5534  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5535  }
5536  c_result = static_cast< bool >(swig_val);
5537  return (bool) c_result;
5538 }
5539 
5540 
5542  if (!swig_get_self()) {
5543  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5544  }
5545 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5546  const size_t swig_method_index = 15;
5547  const char *const swig_method_name = "NoMoreSolutions";
5548  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5549  swig::SwigVar_PyObject args = PyTuple_New(0);
5550  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5551 #else
5552  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NoMoreSolutions");
5553  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5554 #endif
5555  if (!result) {
5556  PyObject *error = PyErr_Occurred();
5557  {
5558  if (error != NULL) {
5560  }
5561  }
5562  }
5563 }
5564 
5565 
5567  bool c_result = SwigValueInit< bool >() ;
5568 
5569  if (!swig_get_self()) {
5570  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5571  }
5572 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5573  const size_t swig_method_index = 16;
5574  const char *const swig_method_name = "LocalOptimum";
5575  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5576  swig::SwigVar_PyObject args = PyTuple_New(0);
5577  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5578 #else
5579  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("LocalOptimum");
5580  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5581 #endif
5582  if (!result) {
5583  PyObject *error = PyErr_Occurred();
5584  {
5585  if (error != NULL) {
5587  }
5588  }
5589  }
5590  bool swig_val;
5591  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5592  if (!SWIG_IsOK(swig_res)) {
5593  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5594  }
5595  c_result = static_cast< bool >(swig_val);
5596  return (bool) c_result;
5597 }
5598 
5599 
5601  bool c_result = SwigValueInit< bool >() ;
5602 
5607  if (!swig_get_self()) {
5608  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5609  }
5610 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5611  const size_t swig_method_index = 17;
5612  const char *const swig_method_name = "AcceptDelta";
5613  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5614  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5615 #else
5616  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("AcceptDelta");
5617  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5618 #endif
5619  if (!result) {
5620  PyObject *error = PyErr_Occurred();
5621  {
5622  if (error != NULL) {
5624  }
5625  }
5626  }
5627  bool swig_val;
5628  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5629  if (!SWIG_IsOK(swig_res)) {
5630  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5631  }
5632  c_result = static_cast< bool >(swig_val);
5633  return (bool) c_result;
5634 }
5635 
5636 
5638  if (!swig_get_self()) {
5639  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call SearchMonitor.__init__.");
5640  }
5641 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5642  const size_t swig_method_index = 18;
5643  const char *const swig_method_name = "AcceptNeighbor";
5644  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5645  swig::SwigVar_PyObject args = PyTuple_New(0);
5646  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5647 #else
5648  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("AcceptNeighbor");
5649  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5650 #endif
5651  if (!result) {
5652  PyObject *error = PyErr_Occurred();
5653  {
5654  if (error != NULL) {
5656  }
5657  }
5658  }
5659 }
5660 
5661 
5664 }
5665 
5666 
5669 }
5670 
5671 
5674 }
5675 
5676 
5679 }
5680 
5681 
5684 }
5685 
5686 
5689 }
5690 
5691 
5694 }
5695 
5696 
5697 
5698 
5700 }
5701 
5703  std::string c_result;
5704  if (!swig_get_self()) {
5705  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call LocalSearchOperator.__init__.");
5706  }
5707 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5708  const size_t swig_method_index = 0;
5709  const char *const swig_method_name = "DebugString";
5710  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5711  swig::SwigVar_PyObject args = PyTuple_New(0);
5712  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5713 #else
5714  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
5715  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5716 #endif
5717  if (!result) {
5718  PyObject *error = PyErr_Occurred();
5719  {
5720  if (error != NULL) {
5722  }
5723  }
5724  }
5725  std::string *swig_optr = 0;
5726  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
5727  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
5728  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
5729  }
5730  c_result = *swig_optr;
5731  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
5732  return (std::string) c_result;
5733 }
5734 
5735 
5737  bool c_result = SwigValueInit< bool >() ;
5738 
5743  if (!swig_get_self()) {
5744  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call LocalSearchOperator.__init__.");
5745  }
5746 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5747  const size_t swig_method_index = 1;
5748  const char *const swig_method_name = "NextNeighbor";
5749  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5750  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5751 #else
5752  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextNeighbor");
5753  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5754 #endif
5755  if (!result) {
5756  PyObject *error = PyErr_Occurred();
5757  {
5758  if (error != NULL) {
5760  }
5761  }
5762  }
5763  bool swig_val;
5764  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5765  if (!SWIG_IsOK(swig_res)) {
5766  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5767  }
5768  c_result = static_cast< bool >(swig_val);
5769  return (bool) c_result;
5770 }
5771 
5772 
5776  if (!swig_get_self()) {
5777  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call LocalSearchOperator.__init__.");
5778  }
5779 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5780  const size_t swig_method_index = 2;
5781  const char *const swig_method_name = "Start";
5782  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5783  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
5784 #else
5785  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Start");
5786  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
5787 #endif
5788  if (!result) {
5789  PyObject *error = PyErr_Occurred();
5790  {
5791  if (error != NULL) {
5793  }
5794  }
5795  }
5796 }
5797 
5798 
5801 }
5802 
5803 
5806 }
5807 
5808 
5811 }
5812 
5813 
5816 }
5817 
5818 
5819 
5820 
5821 SwigDirector_IntVarLocalSearchOperator::SwigDirector_IntVarLocalSearchOperator(PyObject *self, std::vector< operations_research::IntVar * > const &vars, bool keep_inverse_values): operations_research::IntVarLocalSearchOperator(vars, keep_inverse_values), Swig::Director(self) {
5823 }
5824 
5825 
5826 
5827 
5829 }
5830 
5832  std::string c_result;
5833  if (!swig_get_self()) {
5834  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchOperator.__init__.");
5835  }
5836 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5837  const size_t swig_method_index = 0;
5838  const char *const swig_method_name = "DebugString";
5839  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5840  swig::SwigVar_PyObject args = PyTuple_New(0);
5841  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5842 #else
5843  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
5844  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5845 #endif
5846  if (!result) {
5847  PyObject *error = PyErr_Occurred();
5848  {
5849  if (error != NULL) {
5851  }
5852  }
5853  }
5854  std::string *swig_optr = 0;
5855  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
5856  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
5857  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
5858  }
5859  c_result = *swig_optr;
5860  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
5861  return (std::string) c_result;
5862 }
5863 
5864 
5866  bool c_result = SwigValueInit< bool >() ;
5867 
5872  if (!swig_get_self()) {
5873  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchOperator.__init__.");
5874  }
5875 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5876  const size_t swig_method_index = 1;
5877  const char *const swig_method_name = "NextNeighbor";
5878  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5879  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5880 #else
5881  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextNeighbor");
5882  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
5883 #endif
5884  if (!result) {
5885  PyObject *error = PyErr_Occurred();
5886  {
5887  if (error != NULL) {
5889  }
5890  }
5891  }
5892  bool swig_val;
5893  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5894  if (!SWIG_IsOK(swig_res)) {
5895  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5896  }
5897  c_result = static_cast< bool >(swig_val);
5898  return (bool) c_result;
5899 }
5900 
5901 
5904 }
5905 
5906 
5909 }
5910 
5911 
5914 }
5915 
5916 
5918  bool c_result = SwigValueInit< bool >() ;
5919 
5920  if (!swig_get_self()) {
5921  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchOperator.__init__.");
5922  }
5923 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5924  const size_t swig_method_index = 2;
5925  const char *const swig_method_name = "IsIncremental";
5926  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5927  swig::SwigVar_PyObject args = PyTuple_New(0);
5928  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5929 #else
5930  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("IsIncremental");
5931  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5932 #endif
5933  if (!result) {
5934  PyObject *error = PyErr_Occurred();
5935  {
5936  if (error != NULL) {
5938  }
5939  }
5940  }
5941  bool swig_val;
5942  int swig_res = SWIG_AsVal_bool(result, &swig_val);
5943  if (!SWIG_IsOK(swig_res)) {
5944  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
5945  }
5946  c_result = static_cast< bool >(swig_val);
5947  return (bool) c_result;
5948 }
5949 
5950 
5953 }
5954 
5955 
5957  if (!swig_get_self()) {
5958  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchOperator.__init__.");
5959  }
5960 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5961  const size_t swig_method_index = 3;
5962  const char *const swig_method_name = "OnStart";
5963  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5964  swig::SwigVar_PyObject args = PyTuple_New(0);
5965  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5966 #else
5967  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("OnStart");
5968  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5969 #endif
5970  if (!result) {
5971  PyObject *error = PyErr_Occurred();
5972  {
5973  if (error != NULL) {
5975  }
5976  }
5977  }
5978 }
5979 
5980 
5982  bool c_result = SwigValueInit< bool >() ;
5983 
5984  swig_set_inner("MakeOneNeighbor", true);
5985  if (!swig_get_self()) {
5986  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchOperator.__init__.");
5987  }
5988 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
5989  const size_t swig_method_index = 4;
5990  const char *const swig_method_name = "OneNeighbor";
5991  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
5992  swig::SwigVar_PyObject args = PyTuple_New(0);
5993  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
5994 #else
5995  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("OneNeighbor");
5996  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
5997 #endif
5998  swig_set_inner("MakeOneNeighbor", false);
5999  if (!result) {
6000  PyObject *error = PyErr_Occurred();
6001  {
6002  if (error != NULL) {
6004  }
6005  }
6006  }
6007  bool swig_val;
6008  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6009  if (!SWIG_IsOK(swig_res)) {
6010  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6011  }
6012  c_result = static_cast< bool >(swig_val);
6013  return (bool) c_result;
6014 }
6015 
6016 
6017 SwigDirector_BaseLns::SwigDirector_BaseLns(PyObject *self, std::vector< operations_research::IntVar * > const &vars): operations_research::BaseLns(vars), Swig::Director(self) {
6019 }
6020 
6021 
6022 
6023 
6025 }
6026 
6027 std::string SwigDirector_BaseLns::DebugString() const {
6028  std::string c_result;
6029  if (!swig_get_self()) {
6030  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseLns.__init__.");
6031  }
6032 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6033  const size_t swig_method_index = 0;
6034  const char *const swig_method_name = "DebugString";
6035  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6036  swig::SwigVar_PyObject args = PyTuple_New(0);
6037  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6038 #else
6039  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
6040  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6041 #endif
6042  if (!result) {
6043  PyObject *error = PyErr_Occurred();
6044  {
6045  if (error != NULL) {
6047  }
6048  }
6049  }
6050  std::string *swig_optr = 0;
6051  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
6052  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
6053  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
6054  }
6055  c_result = *swig_optr;
6056  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
6057  return (std::string) c_result;
6058 }
6059 
6060 
6062  bool c_result = SwigValueInit< bool >() ;
6063 
6068  if (!swig_get_self()) {
6069  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseLns.__init__.");
6070  }
6071 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6072  const size_t swig_method_index = 1;
6073  const char *const swig_method_name = "NextNeighbor";
6074  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6075  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6076 #else
6077  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextNeighbor");
6078  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6079 #endif
6080  if (!result) {
6081  PyObject *error = PyErr_Occurred();
6082  {
6083  if (error != NULL) {
6085  }
6086  }
6087  }
6088  bool swig_val;
6089  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6090  if (!SWIG_IsOK(swig_res)) {
6091  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6092  }
6093  c_result = static_cast< bool >(swig_val);
6094  return (bool) c_result;
6095 }
6096 
6097 
6100 }
6101 
6102 
6105 }
6106 
6107 
6108 bool SwigDirector_BaseLns::HoldsDelta() const {
6110 }
6111 
6112 
6114  bool c_result = SwigValueInit< bool >() ;
6115 
6116  if (!swig_get_self()) {
6117  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseLns.__init__.");
6118  }
6119 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6120  const size_t swig_method_index = 2;
6121  const char *const swig_method_name = "IsIncremental";
6122  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6123  swig::SwigVar_PyObject args = PyTuple_New(0);
6124  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6125 #else
6126  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("IsIncremental");
6127  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6128 #endif
6129  if (!result) {
6130  PyObject *error = PyErr_Occurred();
6131  {
6132  if (error != NULL) {
6134  }
6135  }
6136  }
6137  bool swig_val;
6138  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6139  if (!SWIG_IsOK(swig_res)) {
6140  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6141  }
6142  c_result = static_cast< bool >(swig_val);
6143  return (bool) c_result;
6144 }
6145 
6146 
6148  if (!swig_get_self()) {
6149  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseLns.__init__.");
6150  }
6151 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6152  const size_t swig_method_index = 3;
6153  const char *const swig_method_name = "InitFragments";
6154  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6155  swig::SwigVar_PyObject args = PyTuple_New(0);
6156  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6157 #else
6158  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("InitFragments");
6159  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6160 #endif
6161  if (!result) {
6162  PyObject *error = PyErr_Occurred();
6163  {
6164  if (error != NULL) {
6166  }
6167  }
6168  }
6169 }
6170 
6171 
6173  bool c_result = SwigValueInit< bool >() ;
6174 
6175  if (!swig_get_self()) {
6176  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call BaseLns.__init__.");
6177  }
6178 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6179  const size_t swig_method_index = 4;
6180  const char *const swig_method_name = "NextFragment";
6181  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6182  swig::SwigVar_PyObject args = PyTuple_New(0);
6183  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6184 #else
6185  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextFragment");
6186  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6187 #endif
6188  if (!result) {
6189  PyObject *error = PyErr_Occurred();
6190  {
6191  if (error != NULL) {
6193  }
6194  }
6195  }
6196  bool swig_val;
6197  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6198  if (!SWIG_IsOK(swig_res)) {
6199  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6200  }
6201  c_result = static_cast< bool >(swig_val);
6202  return (bool) c_result;
6203 }
6204 
6205 
6206 SwigDirector_ChangeValue::SwigDirector_ChangeValue(PyObject *self, std::vector< operations_research::IntVar * > const &vars): operations_research::ChangeValue(vars), Swig::Director(self) {
6208 }
6209 
6210 
6211 
6212 
6214 }
6215 
6216 std::string SwigDirector_ChangeValue::DebugString() const {
6217  std::string c_result;
6218  if (!swig_get_self()) {
6219  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6220  }
6221 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6222  const size_t swig_method_index = 0;
6223  const char *const swig_method_name = "DebugString";
6224  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6225  swig::SwigVar_PyObject args = PyTuple_New(0);
6226  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6227 #else
6228  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
6229  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6230 #endif
6231  if (!result) {
6232  PyObject *error = PyErr_Occurred();
6233  {
6234  if (error != NULL) {
6236  }
6237  }
6238  }
6239  std::string *swig_optr = 0;
6240  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
6241  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
6242  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
6243  }
6244  c_result = *swig_optr;
6245  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
6246  return (std::string) c_result;
6247 }
6248 
6249 
6251  bool c_result = SwigValueInit< bool >() ;
6252 
6257  if (!swig_get_self()) {
6258  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6259  }
6260 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6261  const size_t swig_method_index = 1;
6262  const char *const swig_method_name = "NextNeighbor";
6263  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6264  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6265 #else
6266  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("NextNeighbor");
6267  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6268 #endif
6269  if (!result) {
6270  PyObject *error = PyErr_Occurred();
6271  {
6272  if (error != NULL) {
6274  }
6275  }
6276  }
6277  bool swig_val;
6278  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6279  if (!SWIG_IsOK(swig_res)) {
6280  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6281  }
6282  c_result = static_cast< bool >(swig_val);
6283  return (bool) c_result;
6284 }
6285 
6286 
6289 }
6290 
6291 
6294 }
6295 
6296 
6299 }
6300 
6301 
6303  bool c_result = SwigValueInit< bool >() ;
6304 
6305  if (!swig_get_self()) {
6306  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6307  }
6308 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6309  const size_t swig_method_index = 2;
6310  const char *const swig_method_name = "IsIncremental";
6311  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6312  swig::SwigVar_PyObject args = PyTuple_New(0);
6313  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6314 #else
6315  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("IsIncremental");
6316  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6317 #endif
6318  if (!result) {
6319  PyObject *error = PyErr_Occurred();
6320  {
6321  if (error != NULL) {
6323  }
6324  }
6325  }
6326  bool swig_val;
6327  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6328  if (!SWIG_IsOK(swig_res)) {
6329  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6330  }
6331  c_result = static_cast< bool >(swig_val);
6332  return (bool) c_result;
6333 }
6334 
6335 
6338 }
6339 
6340 
6342  if (!swig_get_self()) {
6343  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6344  }
6345 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6346  const size_t swig_method_index = 3;
6347  const char *const swig_method_name = "OnStart";
6348  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6349  swig::SwigVar_PyObject args = PyTuple_New(0);
6350  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6351 #else
6352  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("OnStart");
6353  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6354 #endif
6355  if (!result) {
6356  PyObject *error = PyErr_Occurred();
6357  {
6358  if (error != NULL) {
6360  }
6361  }
6362  }
6363 }
6364 
6365 
6367  bool c_result = SwigValueInit< bool >() ;
6368 
6369  swig_set_inner("MakeOneNeighbor", true);
6370  if (!swig_get_self()) {
6371  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6372  }
6373 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6374  const size_t swig_method_index = 4;
6375  const char *const swig_method_name = "OneNeighbor";
6376  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6377  swig::SwigVar_PyObject args = PyTuple_New(0);
6378  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6379 #else
6380  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("OneNeighbor");
6381  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6382 #endif
6383  swig_set_inner("MakeOneNeighbor", false);
6384  if (!result) {
6385  PyObject *error = PyErr_Occurred();
6386  {
6387  if (error != NULL) {
6389  }
6390  }
6391  }
6392  bool swig_val;
6393  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6394  if (!SWIG_IsOK(swig_res)) {
6395  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6396  }
6397  c_result = static_cast< bool >(swig_val);
6398  return (bool) c_result;
6399 }
6400 
6401 
6402 int64_t SwigDirector_ChangeValue::ModifyValue(int64_t index, int64_t value) {
6403  int64_t c_result = SwigValueInit< int64_t >() ;
6404 
6406  obj0 = SWIG_From_long(static_cast< long >(index));
6408  obj1 = SWIG_From_long(static_cast< long >(value));
6409  if (!swig_get_self()) {
6410  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call ChangeValue.__init__.");
6411  }
6412 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6413  const size_t swig_method_index = 5;
6414  const char *const swig_method_name = "ModifyValue";
6415  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6416  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6417 #else
6418  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("ModifyValue");
6419  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6420 #endif
6421  if (!result) {
6422  PyObject *error = PyErr_Occurred();
6423  {
6424  if (error != NULL) {
6426  }
6427  }
6428  }
6429  long swig_val;
6430  int swig_res = SWIG_AsVal_long(result, &swig_val);
6431  if (!SWIG_IsOK(swig_res)) {
6432  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""int64_t""'");
6433  }
6434  c_result = static_cast< int64_t >(swig_val);
6435  return (int64_t) c_result;
6436 }
6437 
6438 
6439 SwigDirector_IntVarLocalSearchFilter::SwigDirector_IntVarLocalSearchFilter(PyObject *self, std::vector< operations_research::IntVar * > const &vars): operations_research::IntVarLocalSearchFilter(vars), Swig::Director(self) {
6441 }
6442 
6443 
6444 
6445 
6447 }
6448 
6450  std::string c_result;
6451  if (!swig_get_self()) {
6452  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchFilter.__init__.");
6453  }
6454 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6455  const size_t swig_method_index = 0;
6456  const char *const swig_method_name = "DebugString";
6457  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6458  swig::SwigVar_PyObject args = PyTuple_New(0);
6459  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6460 #else
6461  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("DebugString");
6462  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6463 #endif
6464  if (!result) {
6465  PyObject *error = PyErr_Occurred();
6466  {
6467  if (error != NULL) {
6469  }
6470  }
6471  }
6472  std::string *swig_optr = 0;
6473  int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr);
6474  if (!SWIG_IsOK(swig_ores) || !swig_optr) {
6475  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'");
6476  }
6477  c_result = *swig_optr;
6478  if (SWIG_IsNewObj(swig_ores)) delete swig_optr;
6479  return (std::string) c_result;
6480 }
6481 
6482 
6485 }
6486 
6487 
6490 }
6491 
6492 
6493 bool SwigDirector_IntVarLocalSearchFilter::Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max) {
6494  bool c_result = SwigValueInit< bool >() ;
6495 
6501  obj2 = SWIG_From_long(static_cast< long >(objective_min));
6503  obj3 = SWIG_From_long(static_cast< long >(objective_max));
6504  if (!swig_get_self()) {
6505  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchFilter.__init__.");
6506  }
6507 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6508  const size_t swig_method_index = 1;
6509  const char *const swig_method_name = "Accept";
6510  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6511  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1,(PyObject *)obj2,(PyObject *)obj3, NULL);
6512 #else
6513  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Accept");
6514  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1,(PyObject *)obj2,(PyObject *)obj3, NULL);
6515 #endif
6516  if (!result) {
6517  PyObject *error = PyErr_Occurred();
6518  {
6519  if (error != NULL) {
6521  }
6522  }
6523  }
6524  bool swig_val;
6525  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6526  if (!SWIG_IsOK(swig_res)) {
6527  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6528  }
6529  c_result = static_cast< bool >(swig_val);
6530  return (bool) c_result;
6531 }
6532 
6533 
6535  bool c_result = SwigValueInit< bool >() ;
6536 
6537  if (!swig_get_self()) {
6538  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchFilter.__init__.");
6539  }
6540 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6541  const size_t swig_method_index = 2;
6542  const char *const swig_method_name = "IsIncremental";
6543  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6544  swig::SwigVar_PyObject args = PyTuple_New(0);
6545  swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL);
6546 #else
6547  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("IsIncremental");
6548  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL);
6549 #endif
6550  if (!result) {
6551  PyObject *error = PyErr_Occurred();
6552  {
6553  if (error != NULL) {
6555  }
6556  }
6557  }
6558  bool swig_val;
6559  int swig_res = SWIG_AsVal_bool(result, &swig_val);
6560  if (!SWIG_IsOK(swig_res)) {
6561  Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
6562  }
6563  c_result = static_cast< bool >(swig_val);
6564  return (bool) c_result;
6565 }
6566 
6567 
6573  if (!swig_get_self()) {
6574  Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IntVarLocalSearchFilter.__init__.");
6575  }
6576 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
6577  const size_t swig_method_index = 3;
6578  const char *const swig_method_name = "Synchronize";
6579  PyObject *method = swig_get_method(swig_method_index, swig_method_name);
6580  swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6581 #else
6582  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("Synchronize");
6583  swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1, NULL);
6584 #endif
6585  if (!result) {
6586  PyObject *error = PyErr_Occurred();
6587  {
6588  if (error != NULL) {
6590  }
6591  }
6592  }
6593 }
6594 
6595 
6598 }
6599 
6600 
6603 }
6604 
6605 
6608 }
6609 
6610 
6613 }
6614 
6615 
6618 }
6619 
6620 
6621 #ifdef __cplusplus
6622 extern "C" {
6623 #endif
6625  PyObject *resultobj = 0;
6628  void *argp1 = 0 ;
6629  int res1 = 0 ;
6630  int val2 ;
6631  int ecode2 = 0 ;
6632  PyObject * obj0 = 0 ;
6633  PyObject * obj1 = 0 ;
6634 
6635  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_var_selection_schema_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6637  if (!SWIG_IsOK(res1)) {
6638  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_var_selection_schema_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6639  }
6640  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6641  ecode2 = SWIG_AsVal_int(obj1, &val2);
6642  if (!SWIG_IsOK(ecode2)) {
6643  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_var_selection_schema_set" "', argument " "2"" of type '" "operations_research::DefaultPhaseParameters::VariableSelection""'");
6644  }
6645  arg2 = static_cast< operations_research::DefaultPhaseParameters::VariableSelection >(val2);
6646  if (arg1) (arg1)->var_selection_schema = arg2;
6647  resultobj = SWIG_Py_Void();
6648  return resultobj;
6649 fail:
6650  return NULL;
6651 }
6652 
6653 
6655  PyObject *resultobj = 0;
6657  void *argp1 = 0 ;
6658  int res1 = 0 ;
6659  PyObject * obj0 = 0 ;
6661 
6662  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_var_selection_schema_get", 1, 1, &obj0)) SWIG_fail;
6664  if (!SWIG_IsOK(res1)) {
6665  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_var_selection_schema_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6666  }
6667  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6668  result = (operations_research::DefaultPhaseParameters::VariableSelection) ((arg1)->var_selection_schema);
6669  resultobj = SWIG_From_int(static_cast< int >(result));
6670  return resultobj;
6671 fail:
6672  return NULL;
6673 }
6674 
6675 
6677  PyObject *resultobj = 0;
6680  void *argp1 = 0 ;
6681  int res1 = 0 ;
6682  int val2 ;
6683  int ecode2 = 0 ;
6684  PyObject * obj0 = 0 ;
6685  PyObject * obj1 = 0 ;
6686 
6687  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_value_selection_schema_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6689  if (!SWIG_IsOK(res1)) {
6690  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_value_selection_schema_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6691  }
6692  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6693  ecode2 = SWIG_AsVal_int(obj1, &val2);
6694  if (!SWIG_IsOK(ecode2)) {
6695  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_value_selection_schema_set" "', argument " "2"" of type '" "operations_research::DefaultPhaseParameters::ValueSelection""'");
6696  }
6697  arg2 = static_cast< operations_research::DefaultPhaseParameters::ValueSelection >(val2);
6698  if (arg1) (arg1)->value_selection_schema = arg2;
6699  resultobj = SWIG_Py_Void();
6700  return resultobj;
6701 fail:
6702  return NULL;
6703 }
6704 
6705 
6707  PyObject *resultobj = 0;
6709  void *argp1 = 0 ;
6710  int res1 = 0 ;
6711  PyObject * obj0 = 0 ;
6713 
6714  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_value_selection_schema_get", 1, 1, &obj0)) SWIG_fail;
6716  if (!SWIG_IsOK(res1)) {
6717  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_value_selection_schema_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6718  }
6719  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6720  result = (operations_research::DefaultPhaseParameters::ValueSelection) ((arg1)->value_selection_schema);
6721  resultobj = SWIG_From_int(static_cast< int >(result));
6722  return resultobj;
6723 fail:
6724  return NULL;
6725 }
6726 
6727 
6729  PyObject *resultobj = 0;
6731  int arg2 ;
6732  void *argp1 = 0 ;
6733  int res1 = 0 ;
6734  int val2 ;
6735  int ecode2 = 0 ;
6736  PyObject * obj0 = 0 ;
6737  PyObject * obj1 = 0 ;
6738 
6739  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_initialization_splits_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6741  if (!SWIG_IsOK(res1)) {
6742  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_initialization_splits_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6743  }
6744  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6745  ecode2 = SWIG_AsVal_int(obj1, &val2);
6746  if (!SWIG_IsOK(ecode2)) {
6747  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_initialization_splits_set" "', argument " "2"" of type '" "int""'");
6748  }
6749  arg2 = static_cast< int >(val2);
6750  if (arg1) (arg1)->initialization_splits = arg2;
6751  resultobj = SWIG_Py_Void();
6752  return resultobj;
6753 fail:
6754  return NULL;
6755 }
6756 
6757 
6759  PyObject *resultobj = 0;
6761  void *argp1 = 0 ;
6762  int res1 = 0 ;
6763  PyObject * obj0 = 0 ;
6764  int result;
6765 
6766  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_initialization_splits_get", 1, 1, &obj0)) SWIG_fail;
6768  if (!SWIG_IsOK(res1)) {
6769  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_initialization_splits_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6770  }
6771  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6772  result = (int) ((arg1)->initialization_splits);
6773  resultobj = SWIG_From_int(static_cast< int >(result));
6774  return resultobj;
6775 fail:
6776  return NULL;
6777 }
6778 
6779 
6781  PyObject *resultobj = 0;
6783  bool arg2 ;
6784  void *argp1 = 0 ;
6785  int res1 = 0 ;
6786  bool val2 ;
6787  int ecode2 = 0 ;
6788  PyObject * obj0 = 0 ;
6789  PyObject * obj1 = 0 ;
6790 
6791  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_run_all_heuristics_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6793  if (!SWIG_IsOK(res1)) {
6794  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_run_all_heuristics_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6795  }
6796  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6797  ecode2 = SWIG_AsVal_bool(obj1, &val2);
6798  if (!SWIG_IsOK(ecode2)) {
6799  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_run_all_heuristics_set" "', argument " "2"" of type '" "bool""'");
6800  }
6801  arg2 = static_cast< bool >(val2);
6802  if (arg1) (arg1)->run_all_heuristics = arg2;
6803  resultobj = SWIG_Py_Void();
6804  return resultobj;
6805 fail:
6806  return NULL;
6807 }
6808 
6809 
6811  PyObject *resultobj = 0;
6813  void *argp1 = 0 ;
6814  int res1 = 0 ;
6815  PyObject * obj0 = 0 ;
6816  bool result;
6817 
6818  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_run_all_heuristics_get", 1, 1, &obj0)) SWIG_fail;
6820  if (!SWIG_IsOK(res1)) {
6821  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_run_all_heuristics_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6822  }
6823  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6824  result = (bool) ((arg1)->run_all_heuristics);
6825  resultobj = SWIG_From_bool(static_cast< bool >(result));
6826  return resultobj;
6827 fail:
6828  return NULL;
6829 }
6830 
6831 
6833  PyObject *resultobj = 0;
6835  int arg2 ;
6836  void *argp1 = 0 ;
6837  int res1 = 0 ;
6838  int val2 ;
6839  int ecode2 = 0 ;
6840  PyObject * obj0 = 0 ;
6841  PyObject * obj1 = 0 ;
6842 
6843  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_heuristic_period_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6845  if (!SWIG_IsOK(res1)) {
6846  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_heuristic_period_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6847  }
6848  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6849  ecode2 = SWIG_AsVal_int(obj1, &val2);
6850  if (!SWIG_IsOK(ecode2)) {
6851  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_heuristic_period_set" "', argument " "2"" of type '" "int""'");
6852  }
6853  arg2 = static_cast< int >(val2);
6854  if (arg1) (arg1)->heuristic_period = arg2;
6855  resultobj = SWIG_Py_Void();
6856  return resultobj;
6857 fail:
6858  return NULL;
6859 }
6860 
6861 
6863  PyObject *resultobj = 0;
6865  void *argp1 = 0 ;
6866  int res1 = 0 ;
6867  PyObject * obj0 = 0 ;
6868  int result;
6869 
6870  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_heuristic_period_get", 1, 1, &obj0)) SWIG_fail;
6872  if (!SWIG_IsOK(res1)) {
6873  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_heuristic_period_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6874  }
6875  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6876  result = (int) ((arg1)->heuristic_period);
6877  resultobj = SWIG_From_int(static_cast< int >(result));
6878  return resultobj;
6879 fail:
6880  return NULL;
6881 }
6882 
6883 
6885  PyObject *resultobj = 0;
6887  int arg2 ;
6888  void *argp1 = 0 ;
6889  int res1 = 0 ;
6890  int val2 ;
6891  int ecode2 = 0 ;
6892  PyObject * obj0 = 0 ;
6893  PyObject * obj1 = 0 ;
6894 
6895  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_heuristic_num_failures_limit_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6897  if (!SWIG_IsOK(res1)) {
6898  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_heuristic_num_failures_limit_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6899  }
6900  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6901  ecode2 = SWIG_AsVal_int(obj1, &val2);
6902  if (!SWIG_IsOK(ecode2)) {
6903  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_heuristic_num_failures_limit_set" "', argument " "2"" of type '" "int""'");
6904  }
6905  arg2 = static_cast< int >(val2);
6906  if (arg1) (arg1)->heuristic_num_failures_limit = arg2;
6907  resultobj = SWIG_Py_Void();
6908  return resultobj;
6909 fail:
6910  return NULL;
6911 }
6912 
6913 
6915  PyObject *resultobj = 0;
6917  void *argp1 = 0 ;
6918  int res1 = 0 ;
6919  PyObject * obj0 = 0 ;
6920  int result;
6921 
6922  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_heuristic_num_failures_limit_get", 1, 1, &obj0)) SWIG_fail;
6924  if (!SWIG_IsOK(res1)) {
6925  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_heuristic_num_failures_limit_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6926  }
6927  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6928  result = (int) ((arg1)->heuristic_num_failures_limit);
6929  resultobj = SWIG_From_int(static_cast< int >(result));
6930  return resultobj;
6931 fail:
6932  return NULL;
6933 }
6934 
6935 
6937  PyObject *resultobj = 0;
6939  bool arg2 ;
6940  void *argp1 = 0 ;
6941  int res1 = 0 ;
6942  bool val2 ;
6943  int ecode2 = 0 ;
6944  PyObject * obj0 = 0 ;
6945  PyObject * obj1 = 0 ;
6946 
6947  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_persistent_impact_set", 2, 2, &obj0, &obj1)) SWIG_fail;
6949  if (!SWIG_IsOK(res1)) {
6950  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_persistent_impact_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6951  }
6952  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6953  ecode2 = SWIG_AsVal_bool(obj1, &val2);
6954  if (!SWIG_IsOK(ecode2)) {
6955  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_persistent_impact_set" "', argument " "2"" of type '" "bool""'");
6956  }
6957  arg2 = static_cast< bool >(val2);
6958  if (arg1) (arg1)->persistent_impact = arg2;
6959  resultobj = SWIG_Py_Void();
6960  return resultobj;
6961 fail:
6962  return NULL;
6963 }
6964 
6965 
6967  PyObject *resultobj = 0;
6969  void *argp1 = 0 ;
6970  int res1 = 0 ;
6971  PyObject * obj0 = 0 ;
6972  bool result;
6973 
6974  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_persistent_impact_get", 1, 1, &obj0)) SWIG_fail;
6976  if (!SWIG_IsOK(res1)) {
6977  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_persistent_impact_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
6978  }
6979  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
6980  result = (bool) ((arg1)->persistent_impact);
6981  resultobj = SWIG_From_bool(static_cast< bool >(result));
6982  return resultobj;
6983 fail:
6984  return NULL;
6985 }
6986 
6987 
6988 SWIGINTERN PyObject *_wrap_DefaultPhaseParameters_random_seed_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
6989  PyObject *resultobj = 0;
6991  int arg2 ;
6992  void *argp1 = 0 ;
6993  int res1 = 0 ;
6994  int val2 ;
6995  int ecode2 = 0 ;
6996  PyObject * obj0 = 0 ;
6997  PyObject * obj1 = 0 ;
6998 
6999  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_random_seed_set", 2, 2, &obj0, &obj1)) SWIG_fail;
7001  if (!SWIG_IsOK(res1)) {
7002  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_random_seed_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7003  }
7004  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7005  ecode2 = SWIG_AsVal_int(obj1, &val2);
7006  if (!SWIG_IsOK(ecode2)) {
7007  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_random_seed_set" "', argument " "2"" of type '" "int""'");
7008  }
7009  arg2 = static_cast< int >(val2);
7010  if (arg1) (arg1)->random_seed = arg2;
7011  resultobj = SWIG_Py_Void();
7012  return resultobj;
7013 fail:
7014  return NULL;
7015 }
7016 
7017 
7018 SWIGINTERN PyObject *_wrap_DefaultPhaseParameters_random_seed_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7019  PyObject *resultobj = 0;
7021  void *argp1 = 0 ;
7022  int res1 = 0 ;
7023  PyObject * obj0 = 0 ;
7024  int result;
7025 
7026  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_random_seed_get", 1, 1, &obj0)) SWIG_fail;
7028  if (!SWIG_IsOK(res1)) {
7029  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_random_seed_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7030  }
7031  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7032  result = (int) ((arg1)->random_seed);
7033  resultobj = SWIG_From_int(static_cast< int >(result));
7034  return resultobj;
7035 fail:
7036  return NULL;
7037 }
7038 
7039 
7041  PyObject *resultobj = 0;
7044  void *argp1 = 0 ;
7045  int res1 = 0 ;
7046  int val2 ;
7047  int ecode2 = 0 ;
7048  PyObject * obj0 = 0 ;
7049  PyObject * obj1 = 0 ;
7050 
7051  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_display_level_set", 2, 2, &obj0, &obj1)) SWIG_fail;
7053  if (!SWIG_IsOK(res1)) {
7054  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_display_level_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7055  }
7056  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7057  ecode2 = SWIG_AsVal_int(obj1, &val2);
7058  if (!SWIG_IsOK(ecode2)) {
7059  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DefaultPhaseParameters_display_level_set" "', argument " "2"" of type '" "operations_research::DefaultPhaseParameters::DisplayLevel""'");
7060  }
7061  arg2 = static_cast< operations_research::DefaultPhaseParameters::DisplayLevel >(val2);
7062  if (arg1) (arg1)->display_level = arg2;
7063  resultobj = SWIG_Py_Void();
7064  return resultobj;
7065 fail:
7066  return NULL;
7067 }
7068 
7069 
7071  PyObject *resultobj = 0;
7073  void *argp1 = 0 ;
7074  int res1 = 0 ;
7075  PyObject * obj0 = 0 ;
7077 
7078  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_display_level_get", 1, 1, &obj0)) SWIG_fail;
7080  if (!SWIG_IsOK(res1)) {
7081  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_display_level_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7082  }
7083  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7084  result = (operations_research::DefaultPhaseParameters::DisplayLevel) ((arg1)->display_level);
7085  resultobj = SWIG_From_int(static_cast< int >(result));
7086  return resultobj;
7087 fail:
7088  return NULL;
7089 }
7090 
7091 
7093  PyObject *resultobj = 0;
7096  void *argp1 = 0 ;
7097  int res1 = 0 ;
7098  void *argp2 = 0 ;
7099  int res2 = 0 ;
7100  PyObject * obj0 = 0 ;
7101  PyObject * obj1 = 0 ;
7102 
7103  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_decision_builder_set", 2, 2, &obj0, &obj1)) SWIG_fail;
7105  if (!SWIG_IsOK(res1)) {
7106  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_decision_builder_set" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7107  }
7108  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7110  if (!SWIG_IsOK(res2)) {
7111  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DefaultPhaseParameters_decision_builder_set" "', argument " "2"" of type '" "operations_research::DecisionBuilder *""'");
7112  }
7113  arg2 = reinterpret_cast< operations_research::DecisionBuilder * >(argp2);
7114  if (arg1) (arg1)->decision_builder = arg2;
7115  resultobj = SWIG_Py_Void();
7116  return resultobj;
7117 fail:
7118  return NULL;
7119 }
7120 
7121 
7123  PyObject *resultobj = 0;
7125  void *argp1 = 0 ;
7126  int res1 = 0 ;
7127  PyObject * obj0 = 0 ;
7129 
7130  if (!PyArg_UnpackTuple(args, "DefaultPhaseParameters_decision_builder_get", 1, 1, &obj0)) SWIG_fail;
7132  if (!SWIG_IsOK(res1)) {
7133  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DefaultPhaseParameters_decision_builder_get" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7134  }
7135  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7136  result = (operations_research::DecisionBuilder *) ((arg1)->decision_builder);
7138  return resultobj;
7139 fail:
7140  return NULL;
7141 }
7142 
7143 
7144 SWIGINTERN PyObject *_wrap_new_DefaultPhaseParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7145  PyObject *resultobj = 0;
7147 
7148  if (!PyArg_UnpackTuple(args, "new_DefaultPhaseParameters", 0, 0)) SWIG_fail;
7149  {
7150  try {
7152  }
7153  catch (Swig::DirectorException &e) {
7154  SWIG_fail;
7155  }
7156  }
7158  return resultobj;
7159 fail:
7160  return NULL;
7161 }
7162 
7163 
7164 SWIGINTERN PyObject *_wrap_delete_DefaultPhaseParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7165  PyObject *resultobj = 0;
7167  void *argp1 = 0 ;
7168  int res1 = 0 ;
7169  PyObject * obj0 = 0 ;
7170 
7171  if (!PyArg_UnpackTuple(args, "delete_DefaultPhaseParameters", 1, 1, &obj0)) SWIG_fail;
7173  if (!SWIG_IsOK(res1)) {
7174  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DefaultPhaseParameters" "', argument " "1"" of type '" "operations_research::DefaultPhaseParameters *""'");
7175  }
7176  arg1 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp1);
7177  {
7178  try {
7179  delete arg1;
7180  }
7181  catch (Swig::DirectorException &e) {
7182  SWIG_fail;
7183  }
7184  }
7185  resultobj = SWIG_Py_Void();
7186  return resultobj;
7187 fail:
7188  return NULL;
7189 }
7190 
7191 
7192 SWIGINTERN PyObject *DefaultPhaseParameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7193  PyObject *obj;
7194  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
7196  return SWIG_Py_Void();
7197 }
7198 
7199 SWIGINTERN PyObject *DefaultPhaseParameters_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7200  return SWIG_Python_InitShadowInstance(args);
7201 }
7202 
7203 SWIGINTERN PyObject *_wrap_new_Solver__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7204  PyObject *resultobj = 0;
7205  std::string *arg1 = 0 ;
7206  int res1 = SWIG_OLDOBJ ;
7207  PyObject * obj0 = 0 ;
7208  operations_research::Solver *result = 0 ;
7209 
7210  if (!PyArg_UnpackTuple(args, "new_Solver", 1, 1, &obj0)) SWIG_fail;
7211  {
7212  std::string *ptr = (std::string *)0;
7213  res1 = SWIG_AsPtr_std_string(obj0, &ptr);
7214  if (!SWIG_IsOK(res1)) {
7215  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Solver" "', argument " "1"" of type '" "std::string const &""'");
7216  }
7217  if (!ptr) {
7218  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Solver" "', argument " "1"" of type '" "std::string const &""'");
7219  }
7220  arg1 = ptr;
7221  }
7222  {
7223  try {
7224  result = (operations_research::Solver *)new operations_research::Solver((std::string const &)*arg1);
7225  }
7226  catch (Swig::DirectorException &e) {
7227  SWIG_fail;
7228  }
7229  }
7231  if (SWIG_IsNewObj(res1)) delete arg1;
7232  return resultobj;
7233 fail:
7234  if (SWIG_IsNewObj(res1)) delete arg1;
7235  return NULL;
7236 }
7237 
7238 
7239 SWIGINTERN PyObject *_wrap_new_Solver__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7240  PyObject *resultobj = 0;
7241  std::string *arg1 = 0 ;
7243  int res1 = SWIG_OLDOBJ ;
7244  PyObject * obj0 = 0 ;
7245  PyObject * obj1 = 0 ;
7246  operations_research::Solver *result = 0 ;
7247 
7248  if (!PyArg_UnpackTuple(args, "new_Solver", 2, 2, &obj0, &obj1)) SWIG_fail;
7249  {
7250  std::string *ptr = (std::string *)0;
7251  res1 = SWIG_AsPtr_std_string(obj0, &ptr);
7252  if (!SWIG_IsOK(res1)) {
7253  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Solver" "', argument " "1"" of type '" "std::string const &""'");
7254  }
7255  if (!ptr) {
7256  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Solver" "', argument " "1"" of type '" "std::string const &""'");
7257  }
7258  arg1 = ptr;
7259  }
7260  {
7262  PyObject* const pyresult = PyObject_CallMethod(
7263  obj1, const_cast<char*>("SerializeToString"), nullptr);
7264  if (pyresult != nullptr) {
7265  char* buffer = nullptr;
7266  Py_ssize_t length = 0;
7267  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7268  if (buffer != nullptr) {
7269  arg2->ParseFromArray(buffer, length);
7270  }
7271  Py_DECREF(pyresult);
7272  }
7273  }
7274  {
7275  try {
7276  result = (operations_research::Solver *)new operations_research::Solver((std::string const &)*arg1,(operations_research::ConstraintSolverParameters const &)*arg2);
7277  }
7278  catch (Swig::DirectorException &e) {
7279  SWIG_fail;
7280  }
7281  }
7283  if (SWIG_IsNewObj(res1)) delete arg1;
7284  {
7285  delete arg2;
7286  }
7287  return resultobj;
7288 fail:
7289  if (SWIG_IsNewObj(res1)) delete arg1;
7290  {
7291  delete arg2;
7292  }
7293  return NULL;
7294 }
7295 
7296 
7297 SWIGINTERN PyObject *_wrap_new_Solver(PyObject *self, PyObject *args) {
7298  Py_ssize_t argc;
7299  PyObject *argv[3] = {
7300  0
7301  };
7302  Py_ssize_t ii;
7303 
7304  if (!PyTuple_Check(args)) SWIG_fail;
7305  argc = PyObject_Length(args);
7306  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
7307  argv[ii] = PyTuple_GET_ITEM(args,ii);
7308  }
7309  if (argc == 1) {
7310  int _v;
7311  int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
7312  _v = SWIG_CheckState(res);
7313  if (_v) {
7314  return _wrap_new_Solver__SWIG_0(self, args);
7315  }
7316  }
7317  if (argc == 2) {
7318  int _v;
7319  int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
7320  _v = SWIG_CheckState(res);
7321  if (_v) {
7322  {
7323  bool ok = false;
7324  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.solver_parameters_pb2");
7325  if (module != nullptr) {
7326  PyObject* const dict = PyModule_GetDict(module);
7327  if (dict != nullptr) {
7328  PyObject* const clss = PyDict_GetItemString(dict, "ConstraintSolverParameters");
7329  if (clss != nullptr) {
7330  if (PyObject_IsInstance(argv[1], clss)) {
7331  ok = true;
7332  }
7333  }
7334  }
7335  Py_DECREF(module);
7336  }
7337  _v = ok ? 1 : 0;
7338  }
7339  if (_v) {
7340  return _wrap_new_Solver__SWIG_1(self, args);
7341  }
7342  }
7343  }
7344 
7345 fail:
7346  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Solver'.\n"
7347  " Possible C/C++ prototypes are:\n"
7348  " operations_research::Solver::Solver(std::string const &)\n"
7349  " operations_research::Solver::Solver(std::string const &,operations_research::ConstraintSolverParameters const &)\n");
7350  return 0;
7351 }
7352 
7353 
7354 SWIGINTERN PyObject *_wrap_delete_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7355  PyObject *resultobj = 0;
7357  void *argp1 = 0 ;
7358  int res1 = 0 ;
7359  PyObject * obj0 = 0 ;
7360 
7361  if (!PyArg_UnpackTuple(args, "delete_Solver", 1, 1, &obj0)) SWIG_fail;
7363  if (!SWIG_IsOK(res1)) {
7364  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Solver" "', argument " "1"" of type '" "operations_research::Solver *""'");
7365  }
7366  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7367  {
7368  try {
7369  delete arg1;
7370  }
7371  catch (Swig::DirectorException &e) {
7372  SWIG_fail;
7373  }
7374  }
7375  resultobj = SWIG_Py_Void();
7376  return resultobj;
7377 fail:
7378  return NULL;
7379 }
7380 
7381 
7382 SWIGINTERN PyObject *_wrap_Solver_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7383  PyObject *resultobj = 0;
7385  void *argp1 = 0 ;
7386  int res1 = 0 ;
7387  PyObject * obj0 = 0 ;
7389 
7390  if (!PyArg_UnpackTuple(args, "Solver_Parameters", 1, 1, &obj0)) SWIG_fail;
7391  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7392  if (!SWIG_IsOK(res1)) {
7393  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Parameters" "', argument " "1"" of type '" "operations_research::Solver const *""'");
7394  }
7395  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7396  {
7397  try {
7398  result = ((operations_research::Solver const *)arg1)->parameters();
7399  }
7400  catch (Swig::DirectorException &e) {
7401  SWIG_fail;
7402  }
7403  }
7404  {
7405  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.solver_parameters_pb2");
7406  if (module != nullptr) {
7407  PyObject* const dict = PyModule_GetDict(module);
7408  if (dict != nullptr) {
7409  PyObject* const clss = PyDict_GetItemString(dict, "ConstraintSolverParameters");
7410  if (clss != nullptr) {
7411  std::string encoded_protobuf;
7412  (&result)->SerializeToString(&encoded_protobuf);
7413 
7414  PyObject* const python_encoded_protobuf = PyBytes_FromStringAndSize(
7415  encoded_protobuf.c_str(), encoded_protobuf.size());
7416 
7417 
7418 
7419 
7420  PyObject* const result = PyObject_CallMethod(
7421  clss, const_cast<char*>("FromString"),
7422  const_cast<char*>("(O)"),
7423  python_encoded_protobuf);
7424  Py_DECREF(python_encoded_protobuf);
7425  resultobj = result;
7426  }
7427  }
7428  Py_DECREF(module);
7429  }
7430  }
7431  return resultobj;
7432 fail:
7433  return NULL;
7434 }
7435 
7436 
7437 SWIGINTERN PyObject *_wrap_Solver_DefaultSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7438  PyObject *resultobj = 0;
7440 
7441  if (!PyArg_UnpackTuple(args, "Solver_DefaultSolverParameters", 0, 0)) SWIG_fail;
7442  {
7443  try {
7445  }
7446  catch (Swig::DirectorException &e) {
7447  SWIG_fail;
7448  }
7449  }
7450  {
7451  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.solver_parameters_pb2");
7452  if (module != nullptr) {
7453  PyObject* const dict = PyModule_GetDict(module);
7454  if (dict != nullptr) {
7455  PyObject* const clss = PyDict_GetItemString(dict, "ConstraintSolverParameters");
7456  if (clss != nullptr) {
7457  std::string encoded_protobuf;
7458  (&result)->SerializeToString(&encoded_protobuf);
7459 
7460  PyObject* const python_encoded_protobuf = PyBytes_FromStringAndSize(
7461  encoded_protobuf.c_str(), encoded_protobuf.size());
7462 
7463 
7464 
7465 
7466  PyObject* const result = PyObject_CallMethod(
7467  clss, const_cast<char*>("FromString"),
7468  const_cast<char*>("(O)"),
7469  python_encoded_protobuf);
7470  Py_DECREF(python_encoded_protobuf);
7471  resultobj = result;
7472  }
7473  }
7474  Py_DECREF(module);
7475  }
7476  }
7477  return resultobj;
7478 fail:
7479  return NULL;
7480 }
7481 
7482 
7483 SWIGINTERN PyObject *_wrap_Solver_AddConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7484  PyObject *resultobj = 0;
7487  void *argp1 = 0 ;
7488  int res1 = 0 ;
7489  void *argp2 = 0 ;
7490  int res2 = 0 ;
7491  PyObject * obj0 = 0 ;
7492  PyObject * obj1 = 0 ;
7493 
7494  if (!PyArg_UnpackTuple(args, "Solver_AddConstraint", 2, 2, &obj0, &obj1)) SWIG_fail;
7495  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7496  if (!SWIG_IsOK(res1)) {
7497  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AddConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
7498  }
7499  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7500  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
7501  if (!SWIG_IsOK(res2)) {
7502  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_AddConstraint" "', argument " "2"" of type '" "operations_research::Constraint *const""'");
7503  }
7504  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
7505  {
7506  operations_research::Solver* const solver = arg1;
7507  FailureProtect protect;
7508  solver->set_fail_intercept([&protect]() {
7509  protect.JumpBack();
7510  });
7511  if (setjmp(protect.exception_buffer) == 0) {
7512  (arg1)->AddConstraint(arg2);
7513  solver->clear_fail_intercept();
7514  } else {
7515  solver->clear_fail_intercept();
7516  // IMPORTANT: the type and message of the exception raised matter,
7517  // because they are caught by the python overrides of some CP classes.
7518  // See the occurrences of the "PyExc_Exception" string below.
7519  PyErr_SetString(PyExc_Exception, "CP Solver fail");
7520  SWIG_fail;
7521  }
7522  }
7523  resultobj = SWIG_Py_Void();
7524  return resultobj;
7525 fail:
7526  return NULL;
7527 }
7528 
7529 
7530 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7531  PyObject *resultobj = 0;
7534  std::vector< operations_research::SearchMonitor * > *arg3 = 0 ;
7535  void *argp1 = 0 ;
7536  int res1 = 0 ;
7537  std::vector< operations_research::SearchMonitor * > temp3 ;
7538  PyObject * obj0 = 0 ;
7539  PyObject * obj1 = 0 ;
7540  PyObject * obj2 = 0 ;
7541  bool result;
7542 
7543  if (!PyArg_UnpackTuple(args, "Solver_Solve", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
7544  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7545  if (!SWIG_IsOK(res1)) {
7546  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7547  }
7548  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7549  {
7550  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7551  }
7552  {
7553  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::SearchMonitor*>)) {
7554  if (!PyErr_Occurred())
7555  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SearchMonitor*) expected");
7556  return NULL;
7557  }
7558  arg3 = &temp3;
7559  }
7560  {
7561  try {
7562  result = (bool)(arg1)->Solve(arg2,(std::vector< operations_research::SearchMonitor * > const &)*arg3);
7563  }
7564  catch (Swig::DirectorException &e) {
7565  SWIG_fail;
7566  }
7567  }
7568  resultobj = SWIG_From_bool(static_cast< bool >(result));
7569  return resultobj;
7570 fail:
7571  return NULL;
7572 }
7573 
7574 
7575 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7576  PyObject *resultobj = 0;
7579  void *argp1 = 0 ;
7580  int res1 = 0 ;
7581  PyObject * obj0 = 0 ;
7582  PyObject * obj1 = 0 ;
7583  bool result;
7584 
7585  if (!PyArg_UnpackTuple(args, "Solver_Solve", 2, 2, &obj0, &obj1)) SWIG_fail;
7586  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7587  if (!SWIG_IsOK(res1)) {
7588  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7589  }
7590  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7591  {
7592  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7593  }
7594  {
7595  try {
7596  result = (bool)(arg1)->Solve(arg2);
7597  }
7598  catch (Swig::DirectorException &e) {
7599  SWIG_fail;
7600  }
7601  }
7602  resultobj = SWIG_From_bool(static_cast< bool >(result));
7603  return resultobj;
7604 fail:
7605  return NULL;
7606 }
7607 
7608 
7609 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7610  PyObject *resultobj = 0;
7614  void *argp1 = 0 ;
7615  int res1 = 0 ;
7616  PyObject * obj0 = 0 ;
7617  PyObject * obj1 = 0 ;
7618  PyObject * obj2 = 0 ;
7619  bool result;
7620 
7621  if (!PyArg_UnpackTuple(args, "Solver_Solve", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
7622  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7623  if (!SWIG_IsOK(res1)) {
7624  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7625  }
7626  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7627  {
7628  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7629  }
7630  {
7631  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
7632  }
7633  {
7634  try {
7635  result = (bool)(arg1)->Solve(arg2,arg3);
7636  }
7637  catch (Swig::DirectorException &e) {
7638  SWIG_fail;
7639  }
7640  }
7641  resultobj = SWIG_From_bool(static_cast< bool >(result));
7642  return resultobj;
7643 fail:
7644  return NULL;
7645 }
7646 
7647 
7648 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7649  PyObject *resultobj = 0;
7654  void *argp1 = 0 ;
7655  int res1 = 0 ;
7656  PyObject * obj0 = 0 ;
7657  PyObject * obj1 = 0 ;
7658  PyObject * obj2 = 0 ;
7659  PyObject * obj3 = 0 ;
7660  bool result;
7661 
7662  if (!PyArg_UnpackTuple(args, "Solver_Solve", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
7663  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7664  if (!SWIG_IsOK(res1)) {
7665  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7666  }
7667  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7668  {
7669  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7670  }
7671  {
7672  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
7673  }
7674  {
7675  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
7676  }
7677  {
7678  try {
7679  result = (bool)(arg1)->Solve(arg2,arg3,arg4);
7680  }
7681  catch (Swig::DirectorException &e) {
7682  SWIG_fail;
7683  }
7684  }
7685  resultobj = SWIG_From_bool(static_cast< bool >(result));
7686  return resultobj;
7687 fail:
7688  return NULL;
7689 }
7690 
7691 
7692 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7693  PyObject *resultobj = 0;
7699  void *argp1 = 0 ;
7700  int res1 = 0 ;
7701  PyObject * obj0 = 0 ;
7702  PyObject * obj1 = 0 ;
7703  PyObject * obj2 = 0 ;
7704  PyObject * obj3 = 0 ;
7705  PyObject * obj4 = 0 ;
7706  bool result;
7707 
7708  if (!PyArg_UnpackTuple(args, "Solver_Solve", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
7709  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7710  if (!SWIG_IsOK(res1)) {
7711  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7712  }
7713  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7714  {
7715  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7716  }
7717  {
7718  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
7719  }
7720  {
7721  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
7722  }
7723  {
7724  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
7725  }
7726  {
7727  try {
7728  result = (bool)(arg1)->Solve(arg2,arg3,arg4,arg5);
7729  }
7730  catch (Swig::DirectorException &e) {
7731  SWIG_fail;
7732  }
7733  }
7734  resultobj = SWIG_From_bool(static_cast< bool >(result));
7735  return resultobj;
7736 fail:
7737  return NULL;
7738 }
7739 
7740 
7741 SWIGINTERN PyObject *_wrap_Solver_Solve__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7742  PyObject *resultobj = 0;
7749  void *argp1 = 0 ;
7750  int res1 = 0 ;
7751  PyObject * obj0 = 0 ;
7752  PyObject * obj1 = 0 ;
7753  PyObject * obj2 = 0 ;
7754  PyObject * obj3 = 0 ;
7755  PyObject * obj4 = 0 ;
7756  PyObject * obj5 = 0 ;
7757  bool result;
7758 
7759  if (!PyArg_UnpackTuple(args, "Solver_Solve", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
7760  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
7761  if (!SWIG_IsOK(res1)) {
7762  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solve" "', argument " "1"" of type '" "operations_research::Solver *""'");
7763  }
7764  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
7765  {
7766  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
7767  }
7768  {
7769  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
7770  }
7771  {
7772  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
7773  }
7774  {
7775  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
7776  }
7777  {
7778  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
7779  }
7780  {
7781  try {
7782  result = (bool)(arg1)->Solve(arg2,arg3,arg4,arg5,arg6);
7783  }
7784  catch (Swig::DirectorException &e) {
7785  SWIG_fail;
7786  }
7787  }
7788  resultobj = SWIG_From_bool(static_cast< bool >(result));
7789  return resultobj;
7790 fail:
7791  return NULL;
7792 }
7793 
7794 
7795 SWIGINTERN PyObject *_wrap_Solver_Solve(PyObject *self, PyObject *args) {
7796  Py_ssize_t argc;
7797  PyObject *argv[7] = {
7798  0
7799  };
7800  Py_ssize_t ii;
7801 
7802  if (!PyTuple_Check(args)) SWIG_fail;
7803  argc = PyObject_Length(args);
7804  for (ii = 0; (ii < 6) && (ii < argc); ii++) {
7805  argv[ii] = PyTuple_GET_ITEM(args,ii);
7806  }
7807  if (argc == 2) {
7808  int _v;
7809  void *vptr = 0;
7810  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7811  _v = SWIG_CheckState(res);
7812  if (_v) {
7813  {
7814  _v = CanConvertToDecisionBuilder(argv[1]);
7815  if (_v == 0) PyErr_Clear();
7816  }
7817  if (_v) {
7818  return _wrap_Solver_Solve__SWIG_1(self, args);
7819  }
7820  }
7821  }
7822  if (argc == 3) {
7823  int _v;
7824  void *vptr = 0;
7825  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7826  _v = SWIG_CheckState(res);
7827  if (_v) {
7828  {
7829  _v = CanConvertToDecisionBuilder(argv[1]);
7830  if (_v == 0) PyErr_Clear();
7831  }
7832  if (_v) {
7833  {
7834  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
7835  _v = 0;
7836  } else {
7837  const bool is_tuple = PyTuple_Check(argv[2]);
7838  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
7839  size_t i = 0;
7840  while (i < size && CanConvertToSearchMonitor(is_tuple ? PyTuple_GetItem(argv[2], i)
7841  :PyList_GetItem(argv[2], i))) {
7842  ++i;
7843  }
7844  _v = i == size;
7845  }
7846  }
7847  if (_v) {
7848  return _wrap_Solver_Solve__SWIG_0(self, args);
7849  }
7850  }
7851  }
7852  }
7853  if (argc == 3) {
7854  int _v;
7855  void *vptr = 0;
7856  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7857  _v = SWIG_CheckState(res);
7858  if (_v) {
7859  {
7860  _v = CanConvertToDecisionBuilder(argv[1]);
7861  if (_v == 0) PyErr_Clear();
7862  }
7863  if (_v) {
7864  {
7865  _v = CanConvertToSearchMonitor(argv[2]);
7866  if (_v == 0) PyErr_Clear();
7867  }
7868  if (_v) {
7869  return _wrap_Solver_Solve__SWIG_2(self, args);
7870  }
7871  }
7872  }
7873  }
7874  if (argc == 4) {
7875  int _v;
7876  void *vptr = 0;
7877  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7878  _v = SWIG_CheckState(res);
7879  if (_v) {
7880  {
7881  _v = CanConvertToDecisionBuilder(argv[1]);
7882  if (_v == 0) PyErr_Clear();
7883  }
7884  if (_v) {
7885  {
7886  _v = CanConvertToSearchMonitor(argv[2]);
7887  if (_v == 0) PyErr_Clear();
7888  }
7889  if (_v) {
7890  {
7891  _v = CanConvertToSearchMonitor(argv[3]);
7892  if (_v == 0) PyErr_Clear();
7893  }
7894  if (_v) {
7895  return _wrap_Solver_Solve__SWIG_3(self, args);
7896  }
7897  }
7898  }
7899  }
7900  }
7901  if (argc == 5) {
7902  int _v;
7903  void *vptr = 0;
7904  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7905  _v = SWIG_CheckState(res);
7906  if (_v) {
7907  {
7908  _v = CanConvertToDecisionBuilder(argv[1]);
7909  if (_v == 0) PyErr_Clear();
7910  }
7911  if (_v) {
7912  {
7913  _v = CanConvertToSearchMonitor(argv[2]);
7914  if (_v == 0) PyErr_Clear();
7915  }
7916  if (_v) {
7917  {
7918  _v = CanConvertToSearchMonitor(argv[3]);
7919  if (_v == 0) PyErr_Clear();
7920  }
7921  if (_v) {
7922  {
7923  _v = CanConvertToSearchMonitor(argv[4]);
7924  if (_v == 0) PyErr_Clear();
7925  }
7926  if (_v) {
7927  return _wrap_Solver_Solve__SWIG_4(self, args);
7928  }
7929  }
7930  }
7931  }
7932  }
7933  }
7934  if (argc == 6) {
7935  int _v;
7936  void *vptr = 0;
7937  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
7938  _v = SWIG_CheckState(res);
7939  if (_v) {
7940  {
7941  _v = CanConvertToDecisionBuilder(argv[1]);
7942  if (_v == 0) PyErr_Clear();
7943  }
7944  if (_v) {
7945  {
7946  _v = CanConvertToSearchMonitor(argv[2]);
7947  if (_v == 0) PyErr_Clear();
7948  }
7949  if (_v) {
7950  {
7951  _v = CanConvertToSearchMonitor(argv[3]);
7952  if (_v == 0) PyErr_Clear();
7953  }
7954  if (_v) {
7955  {
7956  _v = CanConvertToSearchMonitor(argv[4]);
7957  if (_v == 0) PyErr_Clear();
7958  }
7959  if (_v) {
7960  {
7961  _v = CanConvertToSearchMonitor(argv[5]);
7962  if (_v == 0) PyErr_Clear();
7963  }
7964  if (_v) {
7965  return _wrap_Solver_Solve__SWIG_5(self, args);
7966  }
7967  }
7968  }
7969  }
7970  }
7971  }
7972  }
7973 
7974 fail:
7975  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Solve'.\n"
7976  " Possible C/C++ prototypes are:\n"
7977  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const,std::vector< operations_research::SearchMonitor * > const &)\n"
7978  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const)\n"
7979  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const)\n"
7980  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
7981  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
7982  " operations_research::Solver::Solve(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n");
7983  return 0;
7984 }
7985 
7986 
7987 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
7988  PyObject *resultobj = 0;
7991  std::vector< operations_research::SearchMonitor * > *arg3 = 0 ;
7992  void *argp1 = 0 ;
7993  int res1 = 0 ;
7994  std::vector< operations_research::SearchMonitor * > temp3 ;
7995  PyObject * obj0 = 0 ;
7996  PyObject * obj1 = 0 ;
7997  PyObject * obj2 = 0 ;
7998 
7999  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
8000  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8001  if (!SWIG_IsOK(res1)) {
8002  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8003  }
8004  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8005  {
8006  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8007  }
8008  {
8009  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::SearchMonitor*>)) {
8010  if (!PyErr_Occurred())
8011  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SearchMonitor*) expected");
8012  return NULL;
8013  }
8014  arg3 = &temp3;
8015  }
8016  {
8017  try {
8018  (arg1)->NewSearch(arg2,(std::vector< operations_research::SearchMonitor * > const &)*arg3);
8019  }
8020  catch (Swig::DirectorException &e) {
8021  SWIG_fail;
8022  }
8023  }
8024  resultobj = SWIG_Py_Void();
8025  return resultobj;
8026 fail:
8027  return NULL;
8028 }
8029 
8030 
8031 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8032  PyObject *resultobj = 0;
8035  void *argp1 = 0 ;
8036  int res1 = 0 ;
8037  PyObject * obj0 = 0 ;
8038  PyObject * obj1 = 0 ;
8039 
8040  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 2, 2, &obj0, &obj1)) SWIG_fail;
8041  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8042  if (!SWIG_IsOK(res1)) {
8043  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8044  }
8045  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8046  {
8047  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8048  }
8049  {
8050  try {
8051  (arg1)->NewSearch(arg2);
8052  }
8053  catch (Swig::DirectorException &e) {
8054  SWIG_fail;
8055  }
8056  }
8057  resultobj = SWIG_Py_Void();
8058  return resultobj;
8059 fail:
8060  return NULL;
8061 }
8062 
8063 
8064 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8065  PyObject *resultobj = 0;
8069  void *argp1 = 0 ;
8070  int res1 = 0 ;
8071  PyObject * obj0 = 0 ;
8072  PyObject * obj1 = 0 ;
8073  PyObject * obj2 = 0 ;
8074 
8075  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
8076  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8077  if (!SWIG_IsOK(res1)) {
8078  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8079  }
8080  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8081  {
8082  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8083  }
8084  {
8085  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8086  }
8087  {
8088  try {
8089  (arg1)->NewSearch(arg2,arg3);
8090  }
8091  catch (Swig::DirectorException &e) {
8092  SWIG_fail;
8093  }
8094  }
8095  resultobj = SWIG_Py_Void();
8096  return resultobj;
8097 fail:
8098  return NULL;
8099 }
8100 
8101 
8102 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8103  PyObject *resultobj = 0;
8108  void *argp1 = 0 ;
8109  int res1 = 0 ;
8110  PyObject * obj0 = 0 ;
8111  PyObject * obj1 = 0 ;
8112  PyObject * obj2 = 0 ;
8113  PyObject * obj3 = 0 ;
8114 
8115  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
8116  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8117  if (!SWIG_IsOK(res1)) {
8118  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8119  }
8120  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8121  {
8122  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8123  }
8124  {
8125  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8126  }
8127  {
8128  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
8129  }
8130  {
8131  try {
8132  (arg1)->NewSearch(arg2,arg3,arg4);
8133  }
8134  catch (Swig::DirectorException &e) {
8135  SWIG_fail;
8136  }
8137  }
8138  resultobj = SWIG_Py_Void();
8139  return resultobj;
8140 fail:
8141  return NULL;
8142 }
8143 
8144 
8145 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8146  PyObject *resultobj = 0;
8152  void *argp1 = 0 ;
8153  int res1 = 0 ;
8154  PyObject * obj0 = 0 ;
8155  PyObject * obj1 = 0 ;
8156  PyObject * obj2 = 0 ;
8157  PyObject * obj3 = 0 ;
8158  PyObject * obj4 = 0 ;
8159 
8160  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
8161  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8162  if (!SWIG_IsOK(res1)) {
8163  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8164  }
8165  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8166  {
8167  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8168  }
8169  {
8170  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8171  }
8172  {
8173  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
8174  }
8175  {
8176  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
8177  }
8178  {
8179  try {
8180  (arg1)->NewSearch(arg2,arg3,arg4,arg5);
8181  }
8182  catch (Swig::DirectorException &e) {
8183  SWIG_fail;
8184  }
8185  }
8186  resultobj = SWIG_Py_Void();
8187  return resultobj;
8188 fail:
8189  return NULL;
8190 }
8191 
8192 
8193 SWIGINTERN PyObject *_wrap_Solver_NewSearch__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8194  PyObject *resultobj = 0;
8201  void *argp1 = 0 ;
8202  int res1 = 0 ;
8203  PyObject * obj0 = 0 ;
8204  PyObject * obj1 = 0 ;
8205  PyObject * obj2 = 0 ;
8206  PyObject * obj3 = 0 ;
8207  PyObject * obj4 = 0 ;
8208  PyObject * obj5 = 0 ;
8209 
8210  if (!PyArg_UnpackTuple(args, "Solver_NewSearch", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
8211  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8212  if (!SWIG_IsOK(res1)) {
8213  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NewSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8214  }
8215  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8216  {
8217  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8218  }
8219  {
8220  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8221  }
8222  {
8223  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
8224  }
8225  {
8226  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
8227  }
8228  {
8229  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
8230  }
8231  {
8232  try {
8233  (arg1)->NewSearch(arg2,arg3,arg4,arg5,arg6);
8234  }
8235  catch (Swig::DirectorException &e) {
8236  SWIG_fail;
8237  }
8238  }
8239  resultobj = SWIG_Py_Void();
8240  return resultobj;
8241 fail:
8242  return NULL;
8243 }
8244 
8245 
8246 SWIGINTERN PyObject *_wrap_Solver_NewSearch(PyObject *self, PyObject *args) {
8247  Py_ssize_t argc;
8248  PyObject *argv[7] = {
8249  0
8250  };
8251  Py_ssize_t ii;
8252 
8253  if (!PyTuple_Check(args)) SWIG_fail;
8254  argc = PyObject_Length(args);
8255  for (ii = 0; (ii < 6) && (ii < argc); ii++) {
8256  argv[ii] = PyTuple_GET_ITEM(args,ii);
8257  }
8258  if (argc == 2) {
8259  int _v;
8260  void *vptr = 0;
8261  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8262  _v = SWIG_CheckState(res);
8263  if (_v) {
8264  {
8265  _v = CanConvertToDecisionBuilder(argv[1]);
8266  if (_v == 0) PyErr_Clear();
8267  }
8268  if (_v) {
8269  return _wrap_Solver_NewSearch__SWIG_1(self, args);
8270  }
8271  }
8272  }
8273  if (argc == 3) {
8274  int _v;
8275  void *vptr = 0;
8276  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8277  _v = SWIG_CheckState(res);
8278  if (_v) {
8279  {
8280  _v = CanConvertToDecisionBuilder(argv[1]);
8281  if (_v == 0) PyErr_Clear();
8282  }
8283  if (_v) {
8284  {
8285  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
8286  _v = 0;
8287  } else {
8288  const bool is_tuple = PyTuple_Check(argv[2]);
8289  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
8290  size_t i = 0;
8291  while (i < size && CanConvertToSearchMonitor(is_tuple ? PyTuple_GetItem(argv[2], i)
8292  :PyList_GetItem(argv[2], i))) {
8293  ++i;
8294  }
8295  _v = i == size;
8296  }
8297  }
8298  if (_v) {
8299  return _wrap_Solver_NewSearch__SWIG_0(self, args);
8300  }
8301  }
8302  }
8303  }
8304  if (argc == 3) {
8305  int _v;
8306  void *vptr = 0;
8307  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8308  _v = SWIG_CheckState(res);
8309  if (_v) {
8310  {
8311  _v = CanConvertToDecisionBuilder(argv[1]);
8312  if (_v == 0) PyErr_Clear();
8313  }
8314  if (_v) {
8315  {
8316  _v = CanConvertToSearchMonitor(argv[2]);
8317  if (_v == 0) PyErr_Clear();
8318  }
8319  if (_v) {
8320  return _wrap_Solver_NewSearch__SWIG_2(self, args);
8321  }
8322  }
8323  }
8324  }
8325  if (argc == 4) {
8326  int _v;
8327  void *vptr = 0;
8328  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8329  _v = SWIG_CheckState(res);
8330  if (_v) {
8331  {
8332  _v = CanConvertToDecisionBuilder(argv[1]);
8333  if (_v == 0) PyErr_Clear();
8334  }
8335  if (_v) {
8336  {
8337  _v = CanConvertToSearchMonitor(argv[2]);
8338  if (_v == 0) PyErr_Clear();
8339  }
8340  if (_v) {
8341  {
8342  _v = CanConvertToSearchMonitor(argv[3]);
8343  if (_v == 0) PyErr_Clear();
8344  }
8345  if (_v) {
8346  return _wrap_Solver_NewSearch__SWIG_3(self, args);
8347  }
8348  }
8349  }
8350  }
8351  }
8352  if (argc == 5) {
8353  int _v;
8354  void *vptr = 0;
8355  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8356  _v = SWIG_CheckState(res);
8357  if (_v) {
8358  {
8359  _v = CanConvertToDecisionBuilder(argv[1]);
8360  if (_v == 0) PyErr_Clear();
8361  }
8362  if (_v) {
8363  {
8364  _v = CanConvertToSearchMonitor(argv[2]);
8365  if (_v == 0) PyErr_Clear();
8366  }
8367  if (_v) {
8368  {
8369  _v = CanConvertToSearchMonitor(argv[3]);
8370  if (_v == 0) PyErr_Clear();
8371  }
8372  if (_v) {
8373  {
8374  _v = CanConvertToSearchMonitor(argv[4]);
8375  if (_v == 0) PyErr_Clear();
8376  }
8377  if (_v) {
8378  return _wrap_Solver_NewSearch__SWIG_4(self, args);
8379  }
8380  }
8381  }
8382  }
8383  }
8384  }
8385  if (argc == 6) {
8386  int _v;
8387  void *vptr = 0;
8388  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8389  _v = SWIG_CheckState(res);
8390  if (_v) {
8391  {
8392  _v = CanConvertToDecisionBuilder(argv[1]);
8393  if (_v == 0) PyErr_Clear();
8394  }
8395  if (_v) {
8396  {
8397  _v = CanConvertToSearchMonitor(argv[2]);
8398  if (_v == 0) PyErr_Clear();
8399  }
8400  if (_v) {
8401  {
8402  _v = CanConvertToSearchMonitor(argv[3]);
8403  if (_v == 0) PyErr_Clear();
8404  }
8405  if (_v) {
8406  {
8407  _v = CanConvertToSearchMonitor(argv[4]);
8408  if (_v == 0) PyErr_Clear();
8409  }
8410  if (_v) {
8411  {
8412  _v = CanConvertToSearchMonitor(argv[5]);
8413  if (_v == 0) PyErr_Clear();
8414  }
8415  if (_v) {
8416  return _wrap_Solver_NewSearch__SWIG_5(self, args);
8417  }
8418  }
8419  }
8420  }
8421  }
8422  }
8423  }
8424 
8425 fail:
8426  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_NewSearch'.\n"
8427  " Possible C/C++ prototypes are:\n"
8428  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const,std::vector< operations_research::SearchMonitor * > const &)\n"
8429  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const)\n"
8430  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const)\n"
8431  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
8432  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
8433  " operations_research::Solver::NewSearch(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n");
8434  return 0;
8435 }
8436 
8437 
8438 SWIGINTERN PyObject *_wrap_Solver_NextSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8439  PyObject *resultobj = 0;
8441  void *argp1 = 0 ;
8442  int res1 = 0 ;
8443  PyObject * obj0 = 0 ;
8444  bool result;
8445 
8446  if (!PyArg_UnpackTuple(args, "Solver_NextSolution", 1, 1, &obj0)) SWIG_fail;
8447  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8448  if (!SWIG_IsOK(res1)) {
8449  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NextSolution" "', argument " "1"" of type '" "operations_research::Solver *""'");
8450  }
8451  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8452  {
8453  try {
8454  result = (bool)(arg1)->NextSolution();
8455  }
8456  catch (Swig::DirectorException &e) {
8457  SWIG_fail;
8458  }
8459  }
8460  resultobj = SWIG_From_bool(static_cast< bool >(result));
8461  return resultobj;
8462 fail:
8463  return NULL;
8464 }
8465 
8466 
8467 SWIGINTERN PyObject *_wrap_Solver_RestartSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8468  PyObject *resultobj = 0;
8470  void *argp1 = 0 ;
8471  int res1 = 0 ;
8472  PyObject * obj0 = 0 ;
8473 
8474  if (!PyArg_UnpackTuple(args, "Solver_RestartSearch", 1, 1, &obj0)) SWIG_fail;
8475  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8476  if (!SWIG_IsOK(res1)) {
8477  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RestartSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8478  }
8479  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8480  {
8481  try {
8482  (arg1)->RestartSearch();
8483  }
8484  catch (Swig::DirectorException &e) {
8485  SWIG_fail;
8486  }
8487  }
8488  resultobj = SWIG_Py_Void();
8489  return resultobj;
8490 fail:
8491  return NULL;
8492 }
8493 
8494 
8495 SWIGINTERN PyObject *_wrap_Solver_EndSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8496  PyObject *resultobj = 0;
8498  void *argp1 = 0 ;
8499  int res1 = 0 ;
8500  PyObject * obj0 = 0 ;
8501 
8502  if (!PyArg_UnpackTuple(args, "Solver_EndSearch", 1, 1, &obj0)) SWIG_fail;
8503  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8504  if (!SWIG_IsOK(res1)) {
8505  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_EndSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
8506  }
8507  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8508  {
8509  try {
8510  (arg1)->EndSearch();
8511  }
8512  catch (Swig::DirectorException &e) {
8513  SWIG_fail;
8514  }
8515  }
8516  resultobj = SWIG_Py_Void();
8517  return resultobj;
8518 fail:
8519  return NULL;
8520 }
8521 
8522 
8523 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8524  PyObject *resultobj = 0;
8527  std::vector< operations_research::SearchMonitor * > *arg3 = 0 ;
8528  void *argp1 = 0 ;
8529  int res1 = 0 ;
8530  std::vector< operations_research::SearchMonitor * > temp3 ;
8531  PyObject * obj0 = 0 ;
8532  PyObject * obj1 = 0 ;
8533  PyObject * obj2 = 0 ;
8534  bool result;
8535 
8536  if (!PyArg_UnpackTuple(args, "Solver_SolveAndCommit", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
8537  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8538  if (!SWIG_IsOK(res1)) {
8539  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveAndCommit" "', argument " "1"" of type '" "operations_research::Solver *""'");
8540  }
8541  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8542  {
8543  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8544  }
8545  {
8546  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::SearchMonitor*>)) {
8547  if (!PyErr_Occurred())
8548  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SearchMonitor*) expected");
8549  return NULL;
8550  }
8551  arg3 = &temp3;
8552  }
8553  {
8554  try {
8555  result = (bool)(arg1)->SolveAndCommit(arg2,(std::vector< operations_research::SearchMonitor * > const &)*arg3);
8556  }
8557  catch (Swig::DirectorException &e) {
8558  SWIG_fail;
8559  }
8560  }
8561  resultobj = SWIG_From_bool(static_cast< bool >(result));
8562  return resultobj;
8563 fail:
8564  return NULL;
8565 }
8566 
8567 
8568 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8569  PyObject *resultobj = 0;
8572  void *argp1 = 0 ;
8573  int res1 = 0 ;
8574  PyObject * obj0 = 0 ;
8575  PyObject * obj1 = 0 ;
8576  bool result;
8577 
8578  if (!PyArg_UnpackTuple(args, "Solver_SolveAndCommit", 2, 2, &obj0, &obj1)) SWIG_fail;
8579  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8580  if (!SWIG_IsOK(res1)) {
8581  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveAndCommit" "', argument " "1"" of type '" "operations_research::Solver *""'");
8582  }
8583  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8584  {
8585  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8586  }
8587  {
8588  try {
8589  result = (bool)(arg1)->SolveAndCommit(arg2);
8590  }
8591  catch (Swig::DirectorException &e) {
8592  SWIG_fail;
8593  }
8594  }
8595  resultobj = SWIG_From_bool(static_cast< bool >(result));
8596  return resultobj;
8597 fail:
8598  return NULL;
8599 }
8600 
8601 
8602 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8603  PyObject *resultobj = 0;
8607  void *argp1 = 0 ;
8608  int res1 = 0 ;
8609  PyObject * obj0 = 0 ;
8610  PyObject * obj1 = 0 ;
8611  PyObject * obj2 = 0 ;
8612  bool result;
8613 
8614  if (!PyArg_UnpackTuple(args, "Solver_SolveAndCommit", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
8615  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8616  if (!SWIG_IsOK(res1)) {
8617  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveAndCommit" "', argument " "1"" of type '" "operations_research::Solver *""'");
8618  }
8619  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8620  {
8621  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8622  }
8623  {
8624  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8625  }
8626  {
8627  try {
8628  result = (bool)(arg1)->SolveAndCommit(arg2,arg3);
8629  }
8630  catch (Swig::DirectorException &e) {
8631  SWIG_fail;
8632  }
8633  }
8634  resultobj = SWIG_From_bool(static_cast< bool >(result));
8635  return resultobj;
8636 fail:
8637  return NULL;
8638 }
8639 
8640 
8641 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8642  PyObject *resultobj = 0;
8647  void *argp1 = 0 ;
8648  int res1 = 0 ;
8649  PyObject * obj0 = 0 ;
8650  PyObject * obj1 = 0 ;
8651  PyObject * obj2 = 0 ;
8652  PyObject * obj3 = 0 ;
8653  bool result;
8654 
8655  if (!PyArg_UnpackTuple(args, "Solver_SolveAndCommit", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
8656  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8657  if (!SWIG_IsOK(res1)) {
8658  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveAndCommit" "', argument " "1"" of type '" "operations_research::Solver *""'");
8659  }
8660  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8661  {
8662  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8663  }
8664  {
8665  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8666  }
8667  {
8668  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
8669  }
8670  {
8671  try {
8672  result = (bool)(arg1)->SolveAndCommit(arg2,arg3,arg4);
8673  }
8674  catch (Swig::DirectorException &e) {
8675  SWIG_fail;
8676  }
8677  }
8678  resultobj = SWIG_From_bool(static_cast< bool >(result));
8679  return resultobj;
8680 fail:
8681  return NULL;
8682 }
8683 
8684 
8685 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8686  PyObject *resultobj = 0;
8692  void *argp1 = 0 ;
8693  int res1 = 0 ;
8694  PyObject * obj0 = 0 ;
8695  PyObject * obj1 = 0 ;
8696  PyObject * obj2 = 0 ;
8697  PyObject * obj3 = 0 ;
8698  PyObject * obj4 = 0 ;
8699  bool result;
8700 
8701  if (!PyArg_UnpackTuple(args, "Solver_SolveAndCommit", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
8702  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8703  if (!SWIG_IsOK(res1)) {
8704  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveAndCommit" "', argument " "1"" of type '" "operations_research::Solver *""'");
8705  }
8706  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8707  {
8708  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
8709  }
8710  {
8711  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
8712  }
8713  {
8714  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
8715  }
8716  {
8717  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
8718  }
8719  {
8720  try {
8721  result = (bool)(arg1)->SolveAndCommit(arg2,arg3,arg4,arg5);
8722  }
8723  catch (Swig::DirectorException &e) {
8724  SWIG_fail;
8725  }
8726  }
8727  resultobj = SWIG_From_bool(static_cast< bool >(result));
8728  return resultobj;
8729 fail:
8730  return NULL;
8731 }
8732 
8733 
8734 SWIGINTERN PyObject *_wrap_Solver_SolveAndCommit(PyObject *self, PyObject *args) {
8735  Py_ssize_t argc;
8736  PyObject *argv[6] = {
8737  0
8738  };
8739  Py_ssize_t ii;
8740 
8741  if (!PyTuple_Check(args)) SWIG_fail;
8742  argc = PyObject_Length(args);
8743  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
8744  argv[ii] = PyTuple_GET_ITEM(args,ii);
8745  }
8746  if (argc == 2) {
8747  int _v;
8748  void *vptr = 0;
8749  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8750  _v = SWIG_CheckState(res);
8751  if (_v) {
8752  {
8753  _v = CanConvertToDecisionBuilder(argv[1]);
8754  if (_v == 0) PyErr_Clear();
8755  }
8756  if (_v) {
8757  return _wrap_Solver_SolveAndCommit__SWIG_1(self, args);
8758  }
8759  }
8760  }
8761  if (argc == 3) {
8762  int _v;
8763  void *vptr = 0;
8764  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8765  _v = SWIG_CheckState(res);
8766  if (_v) {
8767  {
8768  _v = CanConvertToDecisionBuilder(argv[1]);
8769  if (_v == 0) PyErr_Clear();
8770  }
8771  if (_v) {
8772  {
8773  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
8774  _v = 0;
8775  } else {
8776  const bool is_tuple = PyTuple_Check(argv[2]);
8777  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
8778  size_t i = 0;
8779  while (i < size && CanConvertToSearchMonitor(is_tuple ? PyTuple_GetItem(argv[2], i)
8780  :PyList_GetItem(argv[2], i))) {
8781  ++i;
8782  }
8783  _v = i == size;
8784  }
8785  }
8786  if (_v) {
8787  return _wrap_Solver_SolveAndCommit__SWIG_0(self, args);
8788  }
8789  }
8790  }
8791  }
8792  if (argc == 3) {
8793  int _v;
8794  void *vptr = 0;
8795  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8796  _v = SWIG_CheckState(res);
8797  if (_v) {
8798  {
8799  _v = CanConvertToDecisionBuilder(argv[1]);
8800  if (_v == 0) PyErr_Clear();
8801  }
8802  if (_v) {
8803  {
8804  _v = CanConvertToSearchMonitor(argv[2]);
8805  if (_v == 0) PyErr_Clear();
8806  }
8807  if (_v) {
8808  return _wrap_Solver_SolveAndCommit__SWIG_2(self, args);
8809  }
8810  }
8811  }
8812  }
8813  if (argc == 4) {
8814  int _v;
8815  void *vptr = 0;
8816  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8817  _v = SWIG_CheckState(res);
8818  if (_v) {
8819  {
8820  _v = CanConvertToDecisionBuilder(argv[1]);
8821  if (_v == 0) PyErr_Clear();
8822  }
8823  if (_v) {
8824  {
8825  _v = CanConvertToSearchMonitor(argv[2]);
8826  if (_v == 0) PyErr_Clear();
8827  }
8828  if (_v) {
8829  {
8830  _v = CanConvertToSearchMonitor(argv[3]);
8831  if (_v == 0) PyErr_Clear();
8832  }
8833  if (_v) {
8834  return _wrap_Solver_SolveAndCommit__SWIG_3(self, args);
8835  }
8836  }
8837  }
8838  }
8839  }
8840  if (argc == 5) {
8841  int _v;
8842  void *vptr = 0;
8843  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
8844  _v = SWIG_CheckState(res);
8845  if (_v) {
8846  {
8847  _v = CanConvertToDecisionBuilder(argv[1]);
8848  if (_v == 0) PyErr_Clear();
8849  }
8850  if (_v) {
8851  {
8852  _v = CanConvertToSearchMonitor(argv[2]);
8853  if (_v == 0) PyErr_Clear();
8854  }
8855  if (_v) {
8856  {
8857  _v = CanConvertToSearchMonitor(argv[3]);
8858  if (_v == 0) PyErr_Clear();
8859  }
8860  if (_v) {
8861  {
8862  _v = CanConvertToSearchMonitor(argv[4]);
8863  if (_v == 0) PyErr_Clear();
8864  }
8865  if (_v) {
8866  return _wrap_Solver_SolveAndCommit__SWIG_4(self, args);
8867  }
8868  }
8869  }
8870  }
8871  }
8872  }
8873 
8874 fail:
8875  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_SolveAndCommit'.\n"
8876  " Possible C/C++ prototypes are:\n"
8877  " operations_research::Solver::SolveAndCommit(operations_research::DecisionBuilder *const,std::vector< operations_research::SearchMonitor * > const &)\n"
8878  " operations_research::Solver::SolveAndCommit(operations_research::DecisionBuilder *const)\n"
8879  " operations_research::Solver::SolveAndCommit(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const)\n"
8880  " operations_research::Solver::SolveAndCommit(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
8881  " operations_research::Solver::SolveAndCommit(operations_research::DecisionBuilder *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n");
8882  return 0;
8883 }
8884 
8885 
8886 SWIGINTERN PyObject *_wrap_Solver_CheckAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8887  PyObject *resultobj = 0;
8890  void *argp1 = 0 ;
8891  int res1 = 0 ;
8892  void *argp2 = 0 ;
8893  int res2 = 0 ;
8894  PyObject * obj0 = 0 ;
8895  PyObject * obj1 = 0 ;
8896  bool result;
8897 
8898  if (!PyArg_UnpackTuple(args, "Solver_CheckAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
8899  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8900  if (!SWIG_IsOK(res1)) {
8901  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_CheckAssignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
8902  }
8903  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8904  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
8905  if (!SWIG_IsOK(res2)) {
8906  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_CheckAssignment" "', argument " "2"" of type '" "operations_research::Assignment *const""'");
8907  }
8908  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
8909  {
8910  try {
8911  result = (bool)(arg1)->CheckAssignment(arg2);
8912  }
8913  catch (Swig::DirectorException &e) {
8914  SWIG_fail;
8915  }
8916  }
8917  resultobj = SWIG_From_bool(static_cast< bool >(result));
8918  return resultobj;
8919 fail:
8920  return NULL;
8921 }
8922 
8923 
8924 SWIGINTERN PyObject *_wrap_Solver_CheckConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8925  PyObject *resultobj = 0;
8928  void *argp1 = 0 ;
8929  int res1 = 0 ;
8930  void *argp2 = 0 ;
8931  int res2 = 0 ;
8932  PyObject * obj0 = 0 ;
8933  PyObject * obj1 = 0 ;
8934  bool result;
8935 
8936  if (!PyArg_UnpackTuple(args, "Solver_CheckConstraint", 2, 2, &obj0, &obj1)) SWIG_fail;
8937  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8938  if (!SWIG_IsOK(res1)) {
8939  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_CheckConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
8940  }
8941  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8942  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
8943  if (!SWIG_IsOK(res2)) {
8944  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_CheckConstraint" "', argument " "2"" of type '" "operations_research::Constraint *const""'");
8945  }
8946  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
8947  {
8948  try {
8949  result = (bool)(arg1)->CheckConstraint(arg2);
8950  }
8951  catch (Swig::DirectorException &e) {
8952  SWIG_fail;
8953  }
8954  }
8955  resultobj = SWIG_From_bool(static_cast< bool >(result));
8956  return resultobj;
8957 fail:
8958  return NULL;
8959 }
8960 
8961 
8962 SWIGINTERN PyObject *_wrap_Solver_Fail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
8963  PyObject *resultobj = 0;
8965  void *argp1 = 0 ;
8966  int res1 = 0 ;
8967  PyObject * obj0 = 0 ;
8968 
8969  if (!PyArg_UnpackTuple(args, "Solver_Fail", 1, 1, &obj0)) SWIG_fail;
8970  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
8971  if (!SWIG_IsOK(res1)) {
8972  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Fail" "', argument " "1"" of type '" "operations_research::Solver *""'");
8973  }
8974  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
8975  {
8976  operations_research::Solver* const solver = arg1;
8977  FailureProtect protect;
8978  solver->set_fail_intercept([&protect]() {
8979  protect.JumpBack();
8980  });
8981  if (setjmp(protect.exception_buffer) == 0) {
8982  (arg1)->Fail();
8983  solver->clear_fail_intercept();
8984  } else {
8985  solver->clear_fail_intercept();
8986  // IMPORTANT: the type and message of the exception raised matter,
8987  // because they are caught by the python overrides of some CP classes.
8988  // See the occurrences of the "PyExc_Exception" string below.
8989  PyErr_SetString(PyExc_Exception, "CP Solver fail");
8990  SWIG_fail;
8991  }
8992  }
8993  resultobj = SWIG_Py_Void();
8994  return resultobj;
8995 fail:
8996  return NULL;
8997 }
8998 
8999 
9000 SWIGINTERN PyObject *_wrap_Solver_MemoryUsage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9001  PyObject *resultobj = 0;
9002  int64_t result;
9003 
9004  if (!PyArg_UnpackTuple(args, "Solver_MemoryUsage", 0, 0)) SWIG_fail;
9005  {
9006  try {
9007  result = (int64_t)operations_research::Solver::MemoryUsage();
9008  }
9009  catch (Swig::DirectorException &e) {
9010  SWIG_fail;
9011  }
9012  }
9013  resultobj = SWIG_From_long(static_cast< long >(result));
9014  return resultobj;
9015 fail:
9016  return NULL;
9017 }
9018 
9019 
9020 SWIGINTERN PyObject *_wrap_Solver_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9021  PyObject *resultobj = 0;
9023  void *argp1 = 0 ;
9024  int res1 = 0 ;
9025  PyObject * obj0 = 0 ;
9026  int64_t result;
9027 
9028  if (!PyArg_UnpackTuple(args, "Solver_WallTime", 1, 1, &obj0)) SWIG_fail;
9029  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9030  if (!SWIG_IsOK(res1)) {
9031  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WallTime" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9032  }
9033  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9034  {
9035  try {
9036  result = (int64_t)((operations_research::Solver const *)arg1)->wall_time();
9037  }
9038  catch (Swig::DirectorException &e) {
9039  SWIG_fail;
9040  }
9041  }
9042  resultobj = SWIG_From_long(static_cast< long >(result));
9043  return resultobj;
9044 fail:
9045  return NULL;
9046 }
9047 
9048 
9049 SWIGINTERN PyObject *_wrap_Solver_Branches(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9050  PyObject *resultobj = 0;
9052  void *argp1 = 0 ;
9053  int res1 = 0 ;
9054  PyObject * obj0 = 0 ;
9055  int64_t result;
9056 
9057  if (!PyArg_UnpackTuple(args, "Solver_Branches", 1, 1, &obj0)) SWIG_fail;
9058  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9059  if (!SWIG_IsOK(res1)) {
9060  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Branches" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9061  }
9062  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9063  {
9064  try {
9065  result = (int64_t)((operations_research::Solver const *)arg1)->branches();
9066  }
9067  catch (Swig::DirectorException &e) {
9068  SWIG_fail;
9069  }
9070  }
9071  resultobj = SWIG_From_long(static_cast< long >(result));
9072  return resultobj;
9073 fail:
9074  return NULL;
9075 }
9076 
9077 
9078 SWIGINTERN PyObject *_wrap_Solver_Solutions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9079  PyObject *resultobj = 0;
9081  void *argp1 = 0 ;
9082  int res1 = 0 ;
9083  PyObject * obj0 = 0 ;
9084  int64_t result;
9085 
9086  if (!PyArg_UnpackTuple(args, "Solver_Solutions", 1, 1, &obj0)) SWIG_fail;
9087  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9088  if (!SWIG_IsOK(res1)) {
9089  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Solutions" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9090  }
9091  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9092  {
9093  try {
9094  result = (int64_t)((operations_research::Solver const *)arg1)->solutions();
9095  }
9096  catch (Swig::DirectorException &e) {
9097  SWIG_fail;
9098  }
9099  }
9100  resultobj = SWIG_From_long(static_cast< long >(result));
9101  return resultobj;
9102 fail:
9103  return NULL;
9104 }
9105 
9106 
9107 SWIGINTERN PyObject *_wrap_Solver_Failures(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9108  PyObject *resultobj = 0;
9110  void *argp1 = 0 ;
9111  int res1 = 0 ;
9112  PyObject * obj0 = 0 ;
9113  int64_t result;
9114 
9115  if (!PyArg_UnpackTuple(args, "Solver_Failures", 1, 1, &obj0)) SWIG_fail;
9116  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9117  if (!SWIG_IsOK(res1)) {
9118  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Failures" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9119  }
9120  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9121  {
9122  try {
9123  result = (int64_t)((operations_research::Solver const *)arg1)->failures();
9124  }
9125  catch (Swig::DirectorException &e) {
9126  SWIG_fail;
9127  }
9128  }
9129  resultobj = SWIG_From_long(static_cast< long >(result));
9130  return resultobj;
9131 fail:
9132  return NULL;
9133 }
9134 
9135 
9136 SWIGINTERN PyObject *_wrap_Solver_AcceptedNeighbors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9137  PyObject *resultobj = 0;
9139  void *argp1 = 0 ;
9140  int res1 = 0 ;
9141  PyObject * obj0 = 0 ;
9142  int64_t result;
9143 
9144  if (!PyArg_UnpackTuple(args, "Solver_AcceptedNeighbors", 1, 1, &obj0)) SWIG_fail;
9145  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9146  if (!SWIG_IsOK(res1)) {
9147  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AcceptedNeighbors" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9148  }
9149  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9150  {
9151  try {
9152  result = (int64_t)((operations_research::Solver const *)arg1)->accepted_neighbors();
9153  }
9154  catch (Swig::DirectorException &e) {
9155  SWIG_fail;
9156  }
9157  }
9158  resultobj = SWIG_From_long(static_cast< long >(result));
9159  return resultobj;
9160 fail:
9161  return NULL;
9162 }
9163 
9164 
9165 SWIGINTERN PyObject *_wrap_Solver_Stamp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9166  PyObject *resultobj = 0;
9168  void *argp1 = 0 ;
9169  int res1 = 0 ;
9170  PyObject * obj0 = 0 ;
9171  uint64_t result;
9172 
9173  if (!PyArg_UnpackTuple(args, "Solver_Stamp", 1, 1, &obj0)) SWIG_fail;
9174  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9175  if (!SWIG_IsOK(res1)) {
9176  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Stamp" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9177  }
9178  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9179  {
9180  try {
9181  result = (uint64_t)((operations_research::Solver const *)arg1)->stamp();
9182  }
9183  catch (Swig::DirectorException &e) {
9184  SWIG_fail;
9185  }
9186  }
9187  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
9188  return resultobj;
9189 fail:
9190  return NULL;
9191 }
9192 
9193 
9194 SWIGINTERN PyObject *_wrap_Solver_FailStamp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9195  PyObject *resultobj = 0;
9197  void *argp1 = 0 ;
9198  int res1 = 0 ;
9199  PyObject * obj0 = 0 ;
9200  uint64_t result;
9201 
9202  if (!PyArg_UnpackTuple(args, "Solver_FailStamp", 1, 1, &obj0)) SWIG_fail;
9203  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9204  if (!SWIG_IsOK(res1)) {
9205  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FailStamp" "', argument " "1"" of type '" "operations_research::Solver const *""'");
9206  }
9207  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9208  {
9209  try {
9210  result = (uint64_t)((operations_research::Solver const *)arg1)->fail_stamp();
9211  }
9212  catch (Swig::DirectorException &e) {
9213  SWIG_fail;
9214  }
9215  }
9216  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
9217  return resultobj;
9218 fail:
9219  return NULL;
9220 }
9221 
9222 
9223 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9224  PyObject *resultobj = 0;
9226  int64_t arg2 ;
9227  int64_t arg3 ;
9228  std::string *arg4 = 0 ;
9229  void *argp1 = 0 ;
9230  int res1 = 0 ;
9231  long val2 ;
9232  int ecode2 = 0 ;
9233  long val3 ;
9234  int ecode3 = 0 ;
9235  int res4 = SWIG_OLDOBJ ;
9236  PyObject * obj0 = 0 ;
9237  PyObject * obj1 = 0 ;
9238  PyObject * obj2 = 0 ;
9239  PyObject * obj3 = 0 ;
9240  operations_research::IntVar *result = 0 ;
9241 
9242  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
9243  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9244  if (!SWIG_IsOK(res1)) {
9245  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9246  }
9247  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9248  ecode2 = SWIG_AsVal_long(obj1, &val2);
9249  if (!SWIG_IsOK(ecode2)) {
9250  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_IntVar" "', argument " "2"" of type '" "int64_t""'");
9251  }
9252  arg2 = static_cast< int64_t >(val2);
9253  ecode3 = SWIG_AsVal_long(obj2, &val3);
9254  if (!SWIG_IsOK(ecode3)) {
9255  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IntVar" "', argument " "3"" of type '" "int64_t""'");
9256  }
9257  arg3 = static_cast< int64_t >(val3);
9258  {
9259  std::string *ptr = (std::string *)0;
9260  res4 = SWIG_AsPtr_std_string(obj3, &ptr);
9261  if (!SWIG_IsOK(res4)) {
9262  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_IntVar" "', argument " "4"" of type '" "std::string const &""'");
9263  }
9264  if (!ptr) {
9265  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_IntVar" "', argument " "4"" of type '" "std::string const &""'");
9266  }
9267  arg4 = ptr;
9268  }
9269  {
9270  try {
9271  result = (operations_research::IntVar *)(arg1)->MakeIntVar(arg2,arg3,(std::string const &)*arg4);
9272  }
9273  catch (Swig::DirectorException &e) {
9274  SWIG_fail;
9275  }
9276  }
9278  if (SWIG_IsNewObj(res4)) delete arg4;
9279  return resultobj;
9280 fail:
9281  if (SWIG_IsNewObj(res4)) delete arg4;
9282  return NULL;
9283 }
9284 
9285 
9286 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9287  PyObject *resultobj = 0;
9289  std::vector< int64_t > *arg2 = 0 ;
9290  std::string *arg3 = 0 ;
9291  void *argp1 = 0 ;
9292  int res1 = 0 ;
9293  std::vector< int64_t > temp2 ;
9294  int res3 = SWIG_OLDOBJ ;
9295  PyObject * obj0 = 0 ;
9296  PyObject * obj1 = 0 ;
9297  PyObject * obj2 = 0 ;
9298  operations_research::IntVar *result = 0 ;
9299 
9300  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
9301  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9302  if (!SWIG_IsOK(res1)) {
9303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9304  }
9305  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9306  {
9307  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
9308  if (!PyErr_Occurred())
9309  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
9310  return NULL;
9311  }
9312  arg2 = &temp2;
9313  }
9314  {
9315  std::string *ptr = (std::string *)0;
9316  res3 = SWIG_AsPtr_std_string(obj2, &ptr);
9317  if (!SWIG_IsOK(res3)) {
9318  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_IntVar" "', argument " "3"" of type '" "std::string const &""'");
9319  }
9320  if (!ptr) {
9321  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_IntVar" "', argument " "3"" of type '" "std::string const &""'");
9322  }
9323  arg3 = ptr;
9324  }
9325  {
9326  try {
9327  result = (operations_research::IntVar *)(arg1)->MakeIntVar((std::vector< int64_t > const &)*arg2,(std::string const &)*arg3);
9328  }
9329  catch (Swig::DirectorException &e) {
9330  SWIG_fail;
9331  }
9332  }
9334  if (SWIG_IsNewObj(res3)) delete arg3;
9335  return resultobj;
9336 fail:
9337  if (SWIG_IsNewObj(res3)) delete arg3;
9338  return NULL;
9339 }
9340 
9341 
9342 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9343  PyObject *resultobj = 0;
9345  std::vector< int > *arg2 = 0 ;
9346  std::string *arg3 = 0 ;
9347  void *argp1 = 0 ;
9348  int res1 = 0 ;
9349  std::vector< int > temp2 ;
9350  int res3 = SWIG_OLDOBJ ;
9351  PyObject * obj0 = 0 ;
9352  PyObject * obj1 = 0 ;
9353  PyObject * obj2 = 0 ;
9354  operations_research::IntVar *result = 0 ;
9355 
9356  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
9357  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9358  if (!SWIG_IsOK(res1)) {
9359  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9360  }
9361  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9362  {
9363  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
9364  if (!PyErr_Occurred())
9365  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
9366  return NULL;
9367  }
9368  arg2 = &temp2;
9369  }
9370  {
9371  std::string *ptr = (std::string *)0;
9372  res3 = SWIG_AsPtr_std_string(obj2, &ptr);
9373  if (!SWIG_IsOK(res3)) {
9374  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_IntVar" "', argument " "3"" of type '" "std::string const &""'");
9375  }
9376  if (!ptr) {
9377  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_IntVar" "', argument " "3"" of type '" "std::string const &""'");
9378  }
9379  arg3 = ptr;
9380  }
9381  {
9382  try {
9383  result = (operations_research::IntVar *)(arg1)->MakeIntVar((std::vector< int > const &)*arg2,(std::string const &)*arg3);
9384  }
9385  catch (Swig::DirectorException &e) {
9386  SWIG_fail;
9387  }
9388  }
9390  if (SWIG_IsNewObj(res3)) delete arg3;
9391  return resultobj;
9392 fail:
9393  if (SWIG_IsNewObj(res3)) delete arg3;
9394  return NULL;
9395 }
9396 
9397 
9398 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9399  PyObject *resultobj = 0;
9401  int64_t arg2 ;
9402  int64_t arg3 ;
9403  void *argp1 = 0 ;
9404  int res1 = 0 ;
9405  long val2 ;
9406  int ecode2 = 0 ;
9407  long val3 ;
9408  int ecode3 = 0 ;
9409  PyObject * obj0 = 0 ;
9410  PyObject * obj1 = 0 ;
9411  PyObject * obj2 = 0 ;
9412  operations_research::IntVar *result = 0 ;
9413 
9414  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
9415  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9416  if (!SWIG_IsOK(res1)) {
9417  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9418  }
9419  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9420  ecode2 = SWIG_AsVal_long(obj1, &val2);
9421  if (!SWIG_IsOK(ecode2)) {
9422  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_IntVar" "', argument " "2"" of type '" "int64_t""'");
9423  }
9424  arg2 = static_cast< int64_t >(val2);
9425  ecode3 = SWIG_AsVal_long(obj2, &val3);
9426  if (!SWIG_IsOK(ecode3)) {
9427  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IntVar" "', argument " "3"" of type '" "int64_t""'");
9428  }
9429  arg3 = static_cast< int64_t >(val3);
9430  {
9431  try {
9432  result = (operations_research::IntVar *)(arg1)->MakeIntVar(arg2,arg3);
9433  }
9434  catch (Swig::DirectorException &e) {
9435  SWIG_fail;
9436  }
9437  }
9439  return resultobj;
9440 fail:
9441  return NULL;
9442 }
9443 
9444 
9445 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9446  PyObject *resultobj = 0;
9448  std::vector< int64_t > *arg2 = 0 ;
9449  void *argp1 = 0 ;
9450  int res1 = 0 ;
9451  std::vector< int64_t > temp2 ;
9452  PyObject * obj0 = 0 ;
9453  PyObject * obj1 = 0 ;
9454  operations_research::IntVar *result = 0 ;
9455 
9456  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 2, 2, &obj0, &obj1)) SWIG_fail;
9457  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9458  if (!SWIG_IsOK(res1)) {
9459  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9460  }
9461  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9462  {
9463  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
9464  if (!PyErr_Occurred())
9465  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
9466  return NULL;
9467  }
9468  arg2 = &temp2;
9469  }
9470  {
9471  try {
9472  result = (operations_research::IntVar *)(arg1)->MakeIntVar((std::vector< int64_t > const &)*arg2);
9473  }
9474  catch (Swig::DirectorException &e) {
9475  SWIG_fail;
9476  }
9477  }
9479  return resultobj;
9480 fail:
9481  return NULL;
9482 }
9483 
9484 
9485 SWIGINTERN PyObject *_wrap_Solver_IntVar__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9486  PyObject *resultobj = 0;
9488  std::vector< int > *arg2 = 0 ;
9489  void *argp1 = 0 ;
9490  int res1 = 0 ;
9491  std::vector< int > temp2 ;
9492  PyObject * obj0 = 0 ;
9493  PyObject * obj1 = 0 ;
9494  operations_research::IntVar *result = 0 ;
9495 
9496  if (!PyArg_UnpackTuple(args, "Solver_IntVar", 2, 2, &obj0, &obj1)) SWIG_fail;
9497  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9498  if (!SWIG_IsOK(res1)) {
9499  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9500  }
9501  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9502  {
9503  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
9504  if (!PyErr_Occurred())
9505  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
9506  return NULL;
9507  }
9508  arg2 = &temp2;
9509  }
9510  {
9511  try {
9512  result = (operations_research::IntVar *)(arg1)->MakeIntVar((std::vector< int > const &)*arg2);
9513  }
9514  catch (Swig::DirectorException &e) {
9515  SWIG_fail;
9516  }
9517  }
9519  return resultobj;
9520 fail:
9521  return NULL;
9522 }
9523 
9524 
9525 SWIGINTERN PyObject *_wrap_Solver_IntVar(PyObject *self, PyObject *args) {
9526  Py_ssize_t argc;
9527  PyObject *argv[5] = {
9528  0
9529  };
9530  Py_ssize_t ii;
9531 
9532  if (!PyTuple_Check(args)) SWIG_fail;
9533  argc = PyObject_Length(args);
9534  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
9535  argv[ii] = PyTuple_GET_ITEM(args,ii);
9536  }
9537  if (argc == 2) {
9538  int _v;
9539  void *vptr = 0;
9540  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9541  _v = SWIG_CheckState(res);
9542  if (_v) {
9543  {
9544  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
9545  _v = 0;
9546  } else {
9547  const bool is_tuple = PyTuple_Check(argv[1]);
9548  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
9549  size_t i = 0;
9550  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
9551  :PyList_GetItem(argv[1], i))) {
9552  ++i;
9553  }
9554  _v = i == size;
9555  }
9556  }
9557  if (_v) {
9558  return _wrap_Solver_IntVar__SWIG_4(self, args);
9559  }
9560  }
9561  }
9562  if (argc == 2) {
9563  int _v;
9564  void *vptr = 0;
9565  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9566  _v = SWIG_CheckState(res);
9567  if (_v) {
9568  {
9569  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
9570  _v = 0;
9571  } else {
9572  const bool is_tuple = PyTuple_Check(argv[1]);
9573  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
9574  size_t i = 0;
9575  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
9576  :PyList_GetItem(argv[1], i))) {
9577  ++i;
9578  }
9579  _v = i == size;
9580  }
9581  }
9582  if (_v) {
9583  return _wrap_Solver_IntVar__SWIG_5(self, args);
9584  }
9585  }
9586  }
9587  if (argc == 3) {
9588  int _v;
9589  void *vptr = 0;
9590  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9591  _v = SWIG_CheckState(res);
9592  if (_v) {
9593  {
9594  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
9595  _v = 0;
9596  } else {
9597  const bool is_tuple = PyTuple_Check(argv[1]);
9598  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
9599  size_t i = 0;
9600  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
9601  :PyList_GetItem(argv[1], i))) {
9602  ++i;
9603  }
9604  _v = i == size;
9605  }
9606  }
9607  if (_v) {
9608  int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
9609  _v = SWIG_CheckState(res);
9610  if (_v) {
9611  return _wrap_Solver_IntVar__SWIG_1(self, args);
9612  }
9613  }
9614  }
9615  }
9616  if (argc == 3) {
9617  int _v;
9618  void *vptr = 0;
9619  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9620  _v = SWIG_CheckState(res);
9621  if (_v) {
9622  {
9623  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
9624  _v = 0;
9625  } else {
9626  const bool is_tuple = PyTuple_Check(argv[1]);
9627  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
9628  size_t i = 0;
9629  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
9630  :PyList_GetItem(argv[1], i))) {
9631  ++i;
9632  }
9633  _v = i == size;
9634  }
9635  }
9636  if (_v) {
9637  int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
9638  _v = SWIG_CheckState(res);
9639  if (_v) {
9640  return _wrap_Solver_IntVar__SWIG_2(self, args);
9641  }
9642  }
9643  }
9644  }
9645  if (argc == 3) {
9646  int _v;
9647  void *vptr = 0;
9648  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9649  _v = SWIG_CheckState(res);
9650  if (_v) {
9651  {
9652  int res = SWIG_AsVal_long(argv[1], NULL);
9653  _v = SWIG_CheckState(res);
9654  }
9655  if (_v) {
9656  {
9657  int res = SWIG_AsVal_long(argv[2], NULL);
9658  _v = SWIG_CheckState(res);
9659  }
9660  if (_v) {
9661  return _wrap_Solver_IntVar__SWIG_3(self, args);
9662  }
9663  }
9664  }
9665  }
9666  if (argc == 4) {
9667  int _v;
9668  void *vptr = 0;
9669  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9670  _v = SWIG_CheckState(res);
9671  if (_v) {
9672  {
9673  int res = SWIG_AsVal_long(argv[1], NULL);
9674  _v = SWIG_CheckState(res);
9675  }
9676  if (_v) {
9677  {
9678  int res = SWIG_AsVal_long(argv[2], NULL);
9679  _v = SWIG_CheckState(res);
9680  }
9681  if (_v) {
9682  int res = SWIG_AsPtr_std_string(argv[3], (std::string**)(0));
9683  _v = SWIG_CheckState(res);
9684  if (_v) {
9685  return _wrap_Solver_IntVar__SWIG_0(self, args);
9686  }
9687  }
9688  }
9689  }
9690  }
9691 
9692 fail:
9693  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_IntVar'.\n"
9694  " Possible C/C++ prototypes are:\n"
9695  " operations_research::Solver::MakeIntVar(int64_t,int64_t,std::string const &)\n"
9696  " operations_research::Solver::MakeIntVar(std::vector< int64_t > const &,std::string const &)\n"
9697  " operations_research::Solver::MakeIntVar(std::vector< int > const &,std::string const &)\n"
9698  " operations_research::Solver::MakeIntVar(int64_t,int64_t)\n"
9699  " operations_research::Solver::MakeIntVar(std::vector< int64_t > const &)\n"
9700  " operations_research::Solver::MakeIntVar(std::vector< int > const &)\n");
9701  return 0;
9702 }
9703 
9704 
9705 SWIGINTERN PyObject *_wrap_Solver_BoolVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9706  PyObject *resultobj = 0;
9708  std::string *arg2 = 0 ;
9709  void *argp1 = 0 ;
9710  int res1 = 0 ;
9711  int res2 = SWIG_OLDOBJ ;
9712  PyObject * obj0 = 0 ;
9713  PyObject * obj1 = 0 ;
9714  operations_research::IntVar *result = 0 ;
9715 
9716  if (!PyArg_UnpackTuple(args, "Solver_BoolVar", 2, 2, &obj0, &obj1)) SWIG_fail;
9717  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9718  if (!SWIG_IsOK(res1)) {
9719  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BoolVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9720  }
9721  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9722  {
9723  std::string *ptr = (std::string *)0;
9724  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
9725  if (!SWIG_IsOK(res2)) {
9726  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_BoolVar" "', argument " "2"" of type '" "std::string const &""'");
9727  }
9728  if (!ptr) {
9729  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_BoolVar" "', argument " "2"" of type '" "std::string const &""'");
9730  }
9731  arg2 = ptr;
9732  }
9733  {
9734  try {
9735  result = (operations_research::IntVar *)(arg1)->MakeBoolVar((std::string const &)*arg2);
9736  }
9737  catch (Swig::DirectorException &e) {
9738  SWIG_fail;
9739  }
9740  }
9742  if (SWIG_IsNewObj(res2)) delete arg2;
9743  return resultobj;
9744 fail:
9745  if (SWIG_IsNewObj(res2)) delete arg2;
9746  return NULL;
9747 }
9748 
9749 
9750 SWIGINTERN PyObject *_wrap_Solver_BoolVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9751  PyObject *resultobj = 0;
9753  void *argp1 = 0 ;
9754  int res1 = 0 ;
9755  PyObject * obj0 = 0 ;
9756  operations_research::IntVar *result = 0 ;
9757 
9758  if (!PyArg_UnpackTuple(args, "Solver_BoolVar", 1, 1, &obj0)) SWIG_fail;
9759  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9760  if (!SWIG_IsOK(res1)) {
9761  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BoolVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
9762  }
9763  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9764  {
9765  try {
9766  result = (operations_research::IntVar *)(arg1)->MakeBoolVar();
9767  }
9768  catch (Swig::DirectorException &e) {
9769  SWIG_fail;
9770  }
9771  }
9773  return resultobj;
9774 fail:
9775  return NULL;
9776 }
9777 
9778 
9779 SWIGINTERN PyObject *_wrap_Solver_BoolVar(PyObject *self, PyObject *args) {
9780  Py_ssize_t argc;
9781  PyObject *argv[3] = {
9782  0
9783  };
9784  Py_ssize_t ii;
9785 
9786  if (!PyTuple_Check(args)) SWIG_fail;
9787  argc = PyObject_Length(args);
9788  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
9789  argv[ii] = PyTuple_GET_ITEM(args,ii);
9790  }
9791  if (argc == 1) {
9792  int _v;
9793  void *vptr = 0;
9794  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9795  _v = SWIG_CheckState(res);
9796  if (_v) {
9797  return _wrap_Solver_BoolVar__SWIG_1(self, args);
9798  }
9799  }
9800  if (argc == 2) {
9801  int _v;
9802  void *vptr = 0;
9803  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9804  _v = SWIG_CheckState(res);
9805  if (_v) {
9806  int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
9807  _v = SWIG_CheckState(res);
9808  if (_v) {
9809  return _wrap_Solver_BoolVar__SWIG_0(self, args);
9810  }
9811  }
9812  }
9813 
9814 fail:
9815  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_BoolVar'.\n"
9816  " Possible C/C++ prototypes are:\n"
9817  " operations_research::Solver::MakeBoolVar(std::string const &)\n"
9818  " operations_research::Solver::MakeBoolVar()\n");
9819  return 0;
9820 }
9821 
9822 
9823 SWIGINTERN PyObject *_wrap_Solver_IntConst__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9824  PyObject *resultobj = 0;
9826  int64_t arg2 ;
9827  std::string *arg3 = 0 ;
9828  void *argp1 = 0 ;
9829  int res1 = 0 ;
9830  long val2 ;
9831  int ecode2 = 0 ;
9832  int res3 = SWIG_OLDOBJ ;
9833  PyObject * obj0 = 0 ;
9834  PyObject * obj1 = 0 ;
9835  PyObject * obj2 = 0 ;
9836  operations_research::IntVar *result = 0 ;
9837 
9838  if (!PyArg_UnpackTuple(args, "Solver_IntConst", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
9839  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9840  if (!SWIG_IsOK(res1)) {
9841  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntConst" "', argument " "1"" of type '" "operations_research::Solver *""'");
9842  }
9843  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9844  ecode2 = SWIG_AsVal_long(obj1, &val2);
9845  if (!SWIG_IsOK(ecode2)) {
9846  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_IntConst" "', argument " "2"" of type '" "int64_t""'");
9847  }
9848  arg2 = static_cast< int64_t >(val2);
9849  {
9850  std::string *ptr = (std::string *)0;
9851  res3 = SWIG_AsPtr_std_string(obj2, &ptr);
9852  if (!SWIG_IsOK(res3)) {
9853  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_IntConst" "', argument " "3"" of type '" "std::string const &""'");
9854  }
9855  if (!ptr) {
9856  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_IntConst" "', argument " "3"" of type '" "std::string const &""'");
9857  }
9858  arg3 = ptr;
9859  }
9860  {
9861  try {
9862  result = (operations_research::IntVar *)(arg1)->MakeIntConst(arg2,(std::string const &)*arg3);
9863  }
9864  catch (Swig::DirectorException &e) {
9865  SWIG_fail;
9866  }
9867  }
9869  if (SWIG_IsNewObj(res3)) delete arg3;
9870  return resultobj;
9871 fail:
9872  if (SWIG_IsNewObj(res3)) delete arg3;
9873  return NULL;
9874 }
9875 
9876 
9877 SWIGINTERN PyObject *_wrap_Solver_IntConst__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9878  PyObject *resultobj = 0;
9880  int64_t arg2 ;
9881  void *argp1 = 0 ;
9882  int res1 = 0 ;
9883  long val2 ;
9884  int ecode2 = 0 ;
9885  PyObject * obj0 = 0 ;
9886  PyObject * obj1 = 0 ;
9887  operations_research::IntVar *result = 0 ;
9888 
9889  if (!PyArg_UnpackTuple(args, "Solver_IntConst", 2, 2, &obj0, &obj1)) SWIG_fail;
9890  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9891  if (!SWIG_IsOK(res1)) {
9892  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntConst" "', argument " "1"" of type '" "operations_research::Solver *""'");
9893  }
9894  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9895  ecode2 = SWIG_AsVal_long(obj1, &val2);
9896  if (!SWIG_IsOK(ecode2)) {
9897  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_IntConst" "', argument " "2"" of type '" "int64_t""'");
9898  }
9899  arg2 = static_cast< int64_t >(val2);
9900  {
9901  try {
9902  result = (operations_research::IntVar *)(arg1)->MakeIntConst(arg2);
9903  }
9904  catch (Swig::DirectorException &e) {
9905  SWIG_fail;
9906  }
9907  }
9909  return resultobj;
9910 fail:
9911  return NULL;
9912 }
9913 
9914 
9915 SWIGINTERN PyObject *_wrap_Solver_IntConst(PyObject *self, PyObject *args) {
9916  Py_ssize_t argc;
9917  PyObject *argv[4] = {
9918  0
9919  };
9920  Py_ssize_t ii;
9921 
9922  if (!PyTuple_Check(args)) SWIG_fail;
9923  argc = PyObject_Length(args);
9924  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
9925  argv[ii] = PyTuple_GET_ITEM(args,ii);
9926  }
9927  if (argc == 2) {
9928  int _v;
9929  void *vptr = 0;
9930  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9931  _v = SWIG_CheckState(res);
9932  if (_v) {
9933  {
9934  int res = SWIG_AsVal_long(argv[1], NULL);
9935  _v = SWIG_CheckState(res);
9936  }
9937  if (_v) {
9938  return _wrap_Solver_IntConst__SWIG_1(self, args);
9939  }
9940  }
9941  }
9942  if (argc == 3) {
9943  int _v;
9944  void *vptr = 0;
9945  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
9946  _v = SWIG_CheckState(res);
9947  if (_v) {
9948  {
9949  int res = SWIG_AsVal_long(argv[1], NULL);
9950  _v = SWIG_CheckState(res);
9951  }
9952  if (_v) {
9953  int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
9954  _v = SWIG_CheckState(res);
9955  if (_v) {
9956  return _wrap_Solver_IntConst__SWIG_0(self, args);
9957  }
9958  }
9959  }
9960  }
9961 
9962 fail:
9963  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_IntConst'.\n"
9964  " Possible C/C++ prototypes are:\n"
9965  " operations_research::Solver::MakeIntConst(int64_t,std::string const &)\n"
9966  " operations_research::Solver::MakeIntConst(int64_t)\n");
9967  return 0;
9968 }
9969 
9970 
9971 SWIGINTERN PyObject *_wrap_Solver_Sum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
9972  PyObject *resultobj = 0;
9974  std::vector< operations_research::IntVar * > *arg2 = 0 ;
9975  void *argp1 = 0 ;
9976  int res1 = 0 ;
9977  std::vector< operations_research::IntVar * > temp2 ;
9978  PyObject * obj0 = 0 ;
9979  PyObject * obj1 = 0 ;
9980  operations_research::IntExpr *result = 0 ;
9981 
9982  if (!PyArg_UnpackTuple(args, "Solver_Sum", 2, 2, &obj0, &obj1)) SWIG_fail;
9983  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
9984  if (!SWIG_IsOK(res1)) {
9985  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Sum" "', argument " "1"" of type '" "operations_research::Solver *""'");
9986  }
9987  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
9988  {
9989  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
9990  if (!PyErr_Occurred())
9991  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
9992  return NULL;
9993  }
9994  arg2 = &temp2;
9995  }
9996  {
9997  try {
9998  result = (operations_research::IntExpr *)(arg1)->MakeSum((std::vector< operations_research::IntVar * > const &)*arg2);
9999  }
10000  catch (Swig::DirectorException &e) {
10001  SWIG_fail;
10002  }
10003  }
10005  return resultobj;
10006 fail:
10007  return NULL;
10008 }
10009 
10010 
10011 SWIGINTERN PyObject *_wrap_Solver_ScalProd__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10012  PyObject *resultobj = 0;
10014  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10015  std::vector< int64_t > *arg3 = 0 ;
10016  void *argp1 = 0 ;
10017  int res1 = 0 ;
10018  std::vector< operations_research::IntVar * > temp2 ;
10019  std::vector< int64_t > temp3 ;
10020  PyObject * obj0 = 0 ;
10021  PyObject * obj1 = 0 ;
10022  PyObject * obj2 = 0 ;
10023  operations_research::IntExpr *result = 0 ;
10024 
10025  if (!PyArg_UnpackTuple(args, "Solver_ScalProd", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10026  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10027  if (!SWIG_IsOK(res1)) {
10028  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProd" "', argument " "1"" of type '" "operations_research::Solver *""'");
10029  }
10030  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10031  {
10032  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
10033  if (!PyErr_Occurred())
10034  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
10035  return NULL;
10036  }
10037  arg2 = &temp2;
10038  }
10039  {
10040  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
10041  if (!PyErr_Occurred())
10042  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
10043  return NULL;
10044  }
10045  arg3 = &temp3;
10046  }
10047  {
10048  try {
10049  result = (operations_research::IntExpr *)(arg1)->MakeScalProd((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3);
10050  }
10051  catch (Swig::DirectorException &e) {
10052  SWIG_fail;
10053  }
10054  }
10056  return resultobj;
10057 fail:
10058  return NULL;
10059 }
10060 
10061 
10062 SWIGINTERN PyObject *_wrap_Solver_ScalProd__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10063  PyObject *resultobj = 0;
10065  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10066  std::vector< int > *arg3 = 0 ;
10067  void *argp1 = 0 ;
10068  int res1 = 0 ;
10069  std::vector< operations_research::IntVar * > temp2 ;
10070  std::vector< int > temp3 ;
10071  PyObject * obj0 = 0 ;
10072  PyObject * obj1 = 0 ;
10073  PyObject * obj2 = 0 ;
10074  operations_research::IntExpr *result = 0 ;
10075 
10076  if (!PyArg_UnpackTuple(args, "Solver_ScalProd", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10077  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10078  if (!SWIG_IsOK(res1)) {
10079  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProd" "', argument " "1"" of type '" "operations_research::Solver *""'");
10080  }
10081  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10082  {
10083  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
10084  if (!PyErr_Occurred())
10085  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
10086  return NULL;
10087  }
10088  arg2 = &temp2;
10089  }
10090  {
10091  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
10092  if (!PyErr_Occurred())
10093  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
10094  return NULL;
10095  }
10096  arg3 = &temp3;
10097  }
10098  {
10099  try {
10100  result = (operations_research::IntExpr *)(arg1)->MakeScalProd((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3);
10101  }
10102  catch (Swig::DirectorException &e) {
10103  SWIG_fail;
10104  }
10105  }
10107  return resultobj;
10108 fail:
10109  return NULL;
10110 }
10111 
10112 
10113 SWIGINTERN PyObject *_wrap_Solver_ScalProd(PyObject *self, PyObject *args) {
10114  Py_ssize_t argc;
10115  PyObject *argv[4] = {
10116  0
10117  };
10118  Py_ssize_t ii;
10119 
10120  if (!PyTuple_Check(args)) SWIG_fail;
10121  argc = PyObject_Length(args);
10122  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
10123  argv[ii] = PyTuple_GET_ITEM(args,ii);
10124  }
10125  if (argc == 3) {
10126  int _v;
10127  void *vptr = 0;
10128  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10129  _v = SWIG_CheckState(res);
10130  if (_v) {
10131  {
10132  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10133  _v = 0;
10134  } else {
10135  const bool is_tuple = PyTuple_Check(argv[1]);
10136  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10137  size_t i = 0;
10138  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
10139  :PyList_GetItem(argv[1], i))) {
10140  ++i;
10141  }
10142  _v = i == size;
10143  }
10144  }
10145  if (_v) {
10146  {
10147  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
10148  _v = 0;
10149  } else {
10150  const bool is_tuple = PyTuple_Check(argv[2]);
10151  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
10152  size_t i = 0;
10153  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
10154  :PyList_GetItem(argv[2], i))) {
10155  ++i;
10156  }
10157  _v = i == size;
10158  }
10159  }
10160  if (_v) {
10161  return _wrap_Solver_ScalProd__SWIG_0(self, args);
10162  }
10163  }
10164  }
10165  }
10166  if (argc == 3) {
10167  int _v;
10168  void *vptr = 0;
10169  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10170  _v = SWIG_CheckState(res);
10171  if (_v) {
10172  {
10173  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10174  _v = 0;
10175  } else {
10176  const bool is_tuple = PyTuple_Check(argv[1]);
10177  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10178  size_t i = 0;
10179  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
10180  :PyList_GetItem(argv[1], i))) {
10181  ++i;
10182  }
10183  _v = i == size;
10184  }
10185  }
10186  if (_v) {
10187  {
10188  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
10189  _v = 0;
10190  } else {
10191  const bool is_tuple = PyTuple_Check(argv[2]);
10192  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
10193  size_t i = 0;
10194  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
10195  :PyList_GetItem(argv[2], i))) {
10196  ++i;
10197  }
10198  _v = i == size;
10199  }
10200  }
10201  if (_v) {
10202  return _wrap_Solver_ScalProd__SWIG_1(self, args);
10203  }
10204  }
10205  }
10206  }
10207 
10208 fail:
10209  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ScalProd'.\n"
10210  " Possible C/C++ prototypes are:\n"
10211  " operations_research::Solver::MakeScalProd(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &)\n"
10212  " operations_research::Solver::MakeScalProd(std::vector< operations_research::IntVar * > const &,std::vector< int > const &)\n");
10213  return 0;
10214 }
10215 
10216 
10217 SWIGINTERN PyObject *_wrap_Solver_Element__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10218  PyObject *resultobj = 0;
10220  std::vector< int64_t > *arg2 = 0 ;
10222  void *argp1 = 0 ;
10223  int res1 = 0 ;
10224  std::vector< int64_t > temp2 ;
10225  PyObject * obj0 = 0 ;
10226  PyObject * obj1 = 0 ;
10227  PyObject * obj2 = 0 ;
10228  operations_research::IntExpr *result = 0 ;
10229 
10230  if (!PyArg_UnpackTuple(args, "Solver_Element", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10231  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10232  if (!SWIG_IsOK(res1)) {
10233  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Element" "', argument " "1"" of type '" "operations_research::Solver *""'");
10234  }
10235  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10236  {
10237  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
10238  if (!PyErr_Occurred())
10239  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
10240  return NULL;
10241  }
10242  arg2 = &temp2;
10243  }
10244  {
10245  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10246  }
10247  {
10248  try {
10249  result = (operations_research::IntExpr *)(arg1)->MakeElement((std::vector< int64_t > const &)*arg2,arg3);
10250  }
10251  catch (Swig::DirectorException &e) {
10252  SWIG_fail;
10253  }
10254  }
10256  return resultobj;
10257 fail:
10258  return NULL;
10259 }
10260 
10261 
10262 SWIGINTERN PyObject *_wrap_Solver_Element__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10263  PyObject *resultobj = 0;
10265  std::vector< int > *arg2 = 0 ;
10267  void *argp1 = 0 ;
10268  int res1 = 0 ;
10269  std::vector< int > temp2 ;
10270  PyObject * obj0 = 0 ;
10271  PyObject * obj1 = 0 ;
10272  PyObject * obj2 = 0 ;
10273  operations_research::IntExpr *result = 0 ;
10274 
10275  if (!PyArg_UnpackTuple(args, "Solver_Element", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10276  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10277  if (!SWIG_IsOK(res1)) {
10278  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Element" "', argument " "1"" of type '" "operations_research::Solver *""'");
10279  }
10280  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10281  {
10282  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
10283  if (!PyErr_Occurred())
10284  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
10285  return NULL;
10286  }
10287  arg2 = &temp2;
10288  }
10289  {
10290  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10291  }
10292  {
10293  try {
10294  result = (operations_research::IntExpr *)(arg1)->MakeElement((std::vector< int > const &)*arg2,arg3);
10295  }
10296  catch (Swig::DirectorException &e) {
10297  SWIG_fail;
10298  }
10299  }
10301  return resultobj;
10302 fail:
10303  return NULL;
10304 }
10305 
10306 
10307 SWIGINTERN PyObject *_wrap_Solver_Element__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10308  PyObject *resultobj = 0;
10312  void *argp1 = 0 ;
10313  int res1 = 0 ;
10314  PyObject * obj0 = 0 ;
10315  PyObject * obj1 = 0 ;
10316  PyObject * obj2 = 0 ;
10317  operations_research::IntExpr *result = 0 ;
10318 
10319  if (!PyArg_UnpackTuple(args, "Solver_Element", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10320  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10321  if (!SWIG_IsOK(res1)) {
10322  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Element" "', argument " "1"" of type '" "operations_research::Solver *""'");
10323  }
10324  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10325  {
10326  SharedPyPtr input(obj1);
10327  arg2 = [input](int64_t index) {
10328  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
10329  };
10330  }
10331  {
10332  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10333  }
10334  {
10335  try {
10336  result = (operations_research::IntExpr *)(arg1)->MakeElement(arg2,arg3);
10337  }
10338  catch (Swig::DirectorException &e) {
10339  SWIG_fail;
10340  }
10341  }
10343  return resultobj;
10344 fail:
10345  return NULL;
10346 }
10347 
10348 
10349 SWIGINTERN PyObject *_wrap_Solver_MonotonicElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10350  PyObject *resultobj = 0;
10353  bool arg3 ;
10355  void *argp1 = 0 ;
10356  int res1 = 0 ;
10357  bool val3 ;
10358  int ecode3 = 0 ;
10359  PyObject * obj0 = 0 ;
10360  PyObject * obj1 = 0 ;
10361  PyObject * obj2 = 0 ;
10362  PyObject * obj3 = 0 ;
10363  operations_research::IntExpr *result = 0 ;
10364 
10365  if (!PyArg_UnpackTuple(args, "Solver_MonotonicElement", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
10366  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10367  if (!SWIG_IsOK(res1)) {
10368  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MonotonicElement" "', argument " "1"" of type '" "operations_research::Solver *""'");
10369  }
10370  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10371  {
10372  SharedPyPtr input(obj1);
10373  arg2 = [input](int64_t index) {
10374  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
10375  };
10376  }
10377  ecode3 = SWIG_AsVal_bool(obj2, &val3);
10378  if (!SWIG_IsOK(ecode3)) {
10379  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_MonotonicElement" "', argument " "3"" of type '" "bool""'");
10380  }
10381  arg3 = static_cast< bool >(val3);
10382  {
10383  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
10384  }
10385  {
10386  try {
10387  result = (operations_research::IntExpr *)(arg1)->MakeMonotonicElement(arg2,arg3,arg4);
10388  }
10389  catch (Swig::DirectorException &e) {
10390  SWIG_fail;
10391  }
10392  }
10394  return resultobj;
10395 fail:
10396  return NULL;
10397 }
10398 
10399 
10400 SWIGINTERN PyObject *_wrap_Solver_Element__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10401  PyObject *resultobj = 0;
10406  void *argp1 = 0 ;
10407  int res1 = 0 ;
10408  PyObject * obj0 = 0 ;
10409  PyObject * obj1 = 0 ;
10410  PyObject * obj2 = 0 ;
10411  PyObject * obj3 = 0 ;
10412  operations_research::IntExpr *result = 0 ;
10413 
10414  if (!PyArg_UnpackTuple(args, "Solver_Element", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
10415  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10416  if (!SWIG_IsOK(res1)) {
10417  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Element" "', argument " "1"" of type '" "operations_research::Solver *""'");
10418  }
10419  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10420  {
10421  SharedPyPtr input(obj1);
10422  arg2 = [input](int64_t i, int64_t j) {
10423  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
10424  };
10425  }
10426  {
10427  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10428  }
10429  {
10430  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
10431  }
10432  {
10433  try {
10434  result = (operations_research::IntExpr *)(arg1)->MakeElement(arg2,arg3,arg4);
10435  }
10436  catch (Swig::DirectorException &e) {
10437  SWIG_fail;
10438  }
10439  }
10441  return resultobj;
10442 fail:
10443  return NULL;
10444 }
10445 
10446 
10447 SWIGINTERN PyObject *_wrap_Solver_Element__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10448  PyObject *resultobj = 0;
10450  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10452  void *argp1 = 0 ;
10453  int res1 = 0 ;
10454  std::vector< operations_research::IntVar * > temp2 ;
10455  PyObject * obj0 = 0 ;
10456  PyObject * obj1 = 0 ;
10457  PyObject * obj2 = 0 ;
10458  operations_research::IntExpr *result = 0 ;
10459 
10460  if (!PyArg_UnpackTuple(args, "Solver_Element", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10461  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10462  if (!SWIG_IsOK(res1)) {
10463  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Element" "', argument " "1"" of type '" "operations_research::Solver *""'");
10464  }
10465  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10466  {
10467  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
10468  if (!PyErr_Occurred())
10469  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
10470  return NULL;
10471  }
10472  arg2 = &temp2;
10473  }
10474  {
10475  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10476  }
10477  {
10478  try {
10479  result = (operations_research::IntExpr *)(arg1)->MakeElement((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
10480  }
10481  catch (Swig::DirectorException &e) {
10482  SWIG_fail;
10483  }
10484  }
10486  return resultobj;
10487 fail:
10488  return NULL;
10489 }
10490 
10491 
10492 SWIGINTERN PyObject *_wrap_Solver_Element(PyObject *self, PyObject *args) {
10493  Py_ssize_t argc;
10494  PyObject *argv[5] = {
10495  0
10496  };
10497  Py_ssize_t ii;
10498 
10499  if (!PyTuple_Check(args)) SWIG_fail;
10500  argc = PyObject_Length(args);
10501  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
10502  argv[ii] = PyTuple_GET_ITEM(args,ii);
10503  }
10504  if (argc == 3) {
10505  int _v;
10506  void *vptr = 0;
10507  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10508  _v = SWIG_CheckState(res);
10509  if (_v) {
10510  {
10511  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10512  _v = 0;
10513  } else {
10514  const bool is_tuple = PyTuple_Check(argv[1]);
10515  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10516  size_t i = 0;
10517  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
10518  :PyList_GetItem(argv[1], i))) {
10519  ++i;
10520  }
10521  _v = i == size;
10522  }
10523  }
10524  if (_v) {
10525  {
10526  _v = CanConvertToIntVar(argv[2]);
10527  if (_v == 0) PyErr_Clear();
10528  }
10529  if (_v) {
10530  return _wrap_Solver_Element__SWIG_0(self, args);
10531  }
10532  }
10533  }
10534  }
10535  if (argc == 3) {
10536  int _v;
10537  void *vptr = 0;
10538  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10539  _v = SWIG_CheckState(res);
10540  if (_v) {
10541  {
10542  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10543  _v = 0;
10544  } else {
10545  const bool is_tuple = PyTuple_Check(argv[1]);
10546  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10547  size_t i = 0;
10548  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
10549  :PyList_GetItem(argv[1], i))) {
10550  ++i;
10551  }
10552  _v = i == size;
10553  }
10554  }
10555  if (_v) {
10556  {
10557  _v = CanConvertToIntVar(argv[2]);
10558  if (_v == 0) PyErr_Clear();
10559  }
10560  if (_v) {
10561  return _wrap_Solver_Element__SWIG_1(self, args);
10562  }
10563  }
10564  }
10565  }
10566  if (argc == 3) {
10567  int _v;
10568  void *vptr = 0;
10569  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10570  _v = SWIG_CheckState(res);
10571  if (_v) {
10572  {
10573  _v = PyCallable_Check(argv[1]);
10574  }
10575  if (_v) {
10576  {
10577  _v = CanConvertToIntVar(argv[2]);
10578  if (_v == 0) PyErr_Clear();
10579  }
10580  if (_v) {
10581  return _wrap_Solver_Element__SWIG_2(self, args);
10582  }
10583  }
10584  }
10585  }
10586  if (argc == 3) {
10587  int _v;
10588  void *vptr = 0;
10589  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10590  _v = SWIG_CheckState(res);
10591  if (_v) {
10592  {
10593  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10594  _v = 0;
10595  } else {
10596  const bool is_tuple = PyTuple_Check(argv[1]);
10597  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10598  size_t i = 0;
10599  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
10600  :PyList_GetItem(argv[1], i))) {
10601  ++i;
10602  }
10603  _v = i == size;
10604  }
10605  }
10606  if (_v) {
10607  {
10608  _v = CanConvertToIntVar(argv[2]);
10609  if (_v == 0) PyErr_Clear();
10610  }
10611  if (_v) {
10612  return _wrap_Solver_Element__SWIG_4(self, args);
10613  }
10614  }
10615  }
10616  }
10617  if (argc == 4) {
10618  int _v;
10619  void *vptr = 0;
10620  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10621  _v = SWIG_CheckState(res);
10622  if (_v) {
10623  {
10624  _v = PyCallable_Check(argv[1]);
10625  }
10626  if (_v) {
10627  {
10628  _v = CanConvertToIntVar(argv[2]);
10629  if (_v == 0) PyErr_Clear();
10630  }
10631  if (_v) {
10632  {
10633  _v = CanConvertToIntVar(argv[3]);
10634  if (_v == 0) PyErr_Clear();
10635  }
10636  if (_v) {
10637  return _wrap_Solver_Element__SWIG_3(self, args);
10638  }
10639  }
10640  }
10641  }
10642  }
10643 
10644 fail:
10645  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Element'.\n"
10646  " Possible C/C++ prototypes are:\n"
10647  " operations_research::Solver::MakeElement(std::vector< int64_t > const &,operations_research::IntVar *const)\n"
10648  " operations_research::Solver::MakeElement(std::vector< int > const &,operations_research::IntVar *const)\n"
10649  " operations_research::Solver::MakeElement(operations_research::Solver::IndexEvaluator1,operations_research::IntVar *const)\n"
10650  " operations_research::Solver::MakeElement(operations_research::Solver::IndexEvaluator2,operations_research::IntVar *const,operations_research::IntVar *const)\n"
10651  " operations_research::Solver::MakeElement(std::vector< operations_research::IntVar * > const &,operations_research::IntVar *const)\n");
10652  return 0;
10653 }
10654 
10655 
10656 SWIGINTERN PyObject *_wrap_Solver_IndexExpression(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10657  PyObject *resultobj = 0;
10659  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10660  int64_t arg3 ;
10661  void *argp1 = 0 ;
10662  int res1 = 0 ;
10663  std::vector< operations_research::IntVar * > temp2 ;
10664  long val3 ;
10665  int ecode3 = 0 ;
10666  PyObject * obj0 = 0 ;
10667  PyObject * obj1 = 0 ;
10668  PyObject * obj2 = 0 ;
10669  operations_research::IntExpr *result = 0 ;
10670 
10671  if (!PyArg_UnpackTuple(args, "Solver_IndexExpression", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10672  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10673  if (!SWIG_IsOK(res1)) {
10674  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IndexExpression" "', argument " "1"" of type '" "operations_research::Solver *""'");
10675  }
10676  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10677  {
10678  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
10679  if (!PyErr_Occurred())
10680  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
10681  return NULL;
10682  }
10683  arg2 = &temp2;
10684  }
10685  ecode3 = SWIG_AsVal_long(obj2, &val3);
10686  if (!SWIG_IsOK(ecode3)) {
10687  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IndexExpression" "', argument " "3"" of type '" "int64_t""'");
10688  }
10689  arg3 = static_cast< int64_t >(val3);
10690  {
10691  try {
10692  result = (operations_research::IntExpr *)(arg1)->MakeIndexExpression((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
10693  }
10694  catch (Swig::DirectorException &e) {
10695  SWIG_fail;
10696  }
10697  }
10699  return resultobj;
10700 fail:
10701  return NULL;
10702 }
10703 
10704 
10705 SWIGINTERN PyObject *_wrap_Solver_Min__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10706  PyObject *resultobj = 0;
10708  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10709  void *argp1 = 0 ;
10710  int res1 = 0 ;
10711  std::vector< operations_research::IntVar * > temp2 ;
10712  PyObject * obj0 = 0 ;
10713  PyObject * obj1 = 0 ;
10714  operations_research::IntExpr *result = 0 ;
10715 
10716  if (!PyArg_UnpackTuple(args, "Solver_Min", 2, 2, &obj0, &obj1)) SWIG_fail;
10717  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10718  if (!SWIG_IsOK(res1)) {
10719  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Min" "', argument " "1"" of type '" "operations_research::Solver *""'");
10720  }
10721  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10722  {
10723  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
10724  if (!PyErr_Occurred())
10725  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
10726  return NULL;
10727  }
10728  arg2 = &temp2;
10729  }
10730  {
10731  try {
10732  result = (operations_research::IntExpr *)(arg1)->MakeMin((std::vector< operations_research::IntVar * > const &)*arg2);
10733  }
10734  catch (Swig::DirectorException &e) {
10735  SWIG_fail;
10736  }
10737  }
10739  return resultobj;
10740 fail:
10741  return NULL;
10742 }
10743 
10744 
10745 SWIGINTERN PyObject *_wrap_Solver_Min__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10746  PyObject *resultobj = 0;
10750  void *argp1 = 0 ;
10751  int res1 = 0 ;
10752  PyObject * obj0 = 0 ;
10753  PyObject * obj1 = 0 ;
10754  PyObject * obj2 = 0 ;
10755  operations_research::IntExpr *result = 0 ;
10756 
10757  if (!PyArg_UnpackTuple(args, "Solver_Min", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10758  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10759  if (!SWIG_IsOK(res1)) {
10760  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Min" "', argument " "1"" of type '" "operations_research::Solver *""'");
10761  }
10762  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10763  {
10764  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
10765  }
10766  {
10767  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
10768  }
10769  {
10770  try {
10771  result = (operations_research::IntExpr *)(arg1)->MakeMin(arg2,arg3);
10772  }
10773  catch (Swig::DirectorException &e) {
10774  SWIG_fail;
10775  }
10776  }
10778  return resultobj;
10779 fail:
10780  return NULL;
10781 }
10782 
10783 
10784 SWIGINTERN PyObject *_wrap_Solver_Min__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10785  PyObject *resultobj = 0;
10788  int64_t arg3 ;
10789  void *argp1 = 0 ;
10790  int res1 = 0 ;
10791  long val3 ;
10792  int ecode3 = 0 ;
10793  PyObject * obj0 = 0 ;
10794  PyObject * obj1 = 0 ;
10795  PyObject * obj2 = 0 ;
10796  operations_research::IntExpr *result = 0 ;
10797 
10798  if (!PyArg_UnpackTuple(args, "Solver_Min", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10799  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10800  if (!SWIG_IsOK(res1)) {
10801  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Min" "', argument " "1"" of type '" "operations_research::Solver *""'");
10802  }
10803  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10804  {
10805  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
10806  }
10807  ecode3 = SWIG_AsVal_long(obj2, &val3);
10808  if (!SWIG_IsOK(ecode3)) {
10809  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Min" "', argument " "3"" of type '" "int64_t""'");
10810  }
10811  arg3 = static_cast< int64_t >(val3);
10812  {
10813  try {
10814  result = (operations_research::IntExpr *)(arg1)->MakeMin(arg2,arg3);
10815  }
10816  catch (Swig::DirectorException &e) {
10817  SWIG_fail;
10818  }
10819  }
10821  return resultobj;
10822 fail:
10823  return NULL;
10824 }
10825 
10826 
10827 SWIGINTERN PyObject *_wrap_Solver_Min__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10828  PyObject *resultobj = 0;
10831  int arg3 ;
10832  void *argp1 = 0 ;
10833  int res1 = 0 ;
10834  int val3 ;
10835  int ecode3 = 0 ;
10836  PyObject * obj0 = 0 ;
10837  PyObject * obj1 = 0 ;
10838  PyObject * obj2 = 0 ;
10839  operations_research::IntExpr *result = 0 ;
10840 
10841  if (!PyArg_UnpackTuple(args, "Solver_Min", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
10842  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10843  if (!SWIG_IsOK(res1)) {
10844  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Min" "', argument " "1"" of type '" "operations_research::Solver *""'");
10845  }
10846  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10847  {
10848  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
10849  }
10850  ecode3 = SWIG_AsVal_int(obj2, &val3);
10851  if (!SWIG_IsOK(ecode3)) {
10852  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Min" "', argument " "3"" of type '" "int""'");
10853  }
10854  arg3 = static_cast< int >(val3);
10855  {
10856  try {
10857  result = (operations_research::IntExpr *)(arg1)->MakeMin(arg2,arg3);
10858  }
10859  catch (Swig::DirectorException &e) {
10860  SWIG_fail;
10861  }
10862  }
10864  return resultobj;
10865 fail:
10866  return NULL;
10867 }
10868 
10869 
10870 SWIGINTERN PyObject *_wrap_Solver_Min(PyObject *self, PyObject *args) {
10871  Py_ssize_t argc;
10872  PyObject *argv[4] = {
10873  0
10874  };
10875  Py_ssize_t ii;
10876 
10877  if (!PyTuple_Check(args)) SWIG_fail;
10878  argc = PyObject_Length(args);
10879  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
10880  argv[ii] = PyTuple_GET_ITEM(args,ii);
10881  }
10882  if (argc == 2) {
10883  int _v;
10884  void *vptr = 0;
10885  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10886  _v = SWIG_CheckState(res);
10887  if (_v) {
10888  {
10889  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
10890  _v = 0;
10891  } else {
10892  const bool is_tuple = PyTuple_Check(argv[1]);
10893  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
10894  size_t i = 0;
10895  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
10896  :PyList_GetItem(argv[1], i))) {
10897  ++i;
10898  }
10899  _v = i == size;
10900  }
10901  }
10902  if (_v) {
10903  return _wrap_Solver_Min__SWIG_0(self, args);
10904  }
10905  }
10906  }
10907  if (argc == 3) {
10908  int _v;
10909  void *vptr = 0;
10910  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10911  _v = SWIG_CheckState(res);
10912  if (_v) {
10913  {
10914  _v = CanConvertToIntExpr(argv[1]);
10915  if (_v == 0) PyErr_Clear();
10916  }
10917  if (_v) {
10918  {
10919  _v = CanConvertToIntExpr(argv[2]);
10920  if (_v == 0) PyErr_Clear();
10921  }
10922  if (_v) {
10923  return _wrap_Solver_Min__SWIG_1(self, args);
10924  }
10925  }
10926  }
10927  }
10928  if (argc == 3) {
10929  int _v;
10930  void *vptr = 0;
10931  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10932  _v = SWIG_CheckState(res);
10933  if (_v) {
10934  {
10935  _v = CanConvertToIntExpr(argv[1]);
10936  if (_v == 0) PyErr_Clear();
10937  }
10938  if (_v) {
10939  {
10940  int res = SWIG_AsVal_int(argv[2], NULL);
10941  _v = SWIG_CheckState(res);
10942  }
10943  if (_v) {
10944  return _wrap_Solver_Min__SWIG_3(self, args);
10945  }
10946  }
10947  }
10948  }
10949  if (argc == 3) {
10950  int _v;
10951  void *vptr = 0;
10952  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
10953  _v = SWIG_CheckState(res);
10954  if (_v) {
10955  {
10956  _v = CanConvertToIntExpr(argv[1]);
10957  if (_v == 0) PyErr_Clear();
10958  }
10959  if (_v) {
10960  {
10961  int res = SWIG_AsVal_long(argv[2], NULL);
10962  _v = SWIG_CheckState(res);
10963  }
10964  if (_v) {
10965  return _wrap_Solver_Min__SWIG_2(self, args);
10966  }
10967  }
10968  }
10969  }
10970 
10971 fail:
10972  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Min'.\n"
10973  " Possible C/C++ prototypes are:\n"
10974  " operations_research::Solver::MakeMin(std::vector< operations_research::IntVar * > const &)\n"
10975  " operations_research::Solver::MakeMin(operations_research::IntExpr *const,operations_research::IntExpr *const)\n"
10976  " operations_research::Solver::MakeMin(operations_research::IntExpr *const,int64_t)\n"
10977  " operations_research::Solver::MakeMin(operations_research::IntExpr *const,int)\n");
10978  return 0;
10979 }
10980 
10981 
10982 SWIGINTERN PyObject *_wrap_Solver_Max__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
10983  PyObject *resultobj = 0;
10985  std::vector< operations_research::IntVar * > *arg2 = 0 ;
10986  void *argp1 = 0 ;
10987  int res1 = 0 ;
10988  std::vector< operations_research::IntVar * > temp2 ;
10989  PyObject * obj0 = 0 ;
10990  PyObject * obj1 = 0 ;
10991  operations_research::IntExpr *result = 0 ;
10992 
10993  if (!PyArg_UnpackTuple(args, "Solver_Max", 2, 2, &obj0, &obj1)) SWIG_fail;
10994  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
10995  if (!SWIG_IsOK(res1)) {
10996  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Max" "', argument " "1"" of type '" "operations_research::Solver *""'");
10997  }
10998  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
10999  {
11000  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
11001  if (!PyErr_Occurred())
11002  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
11003  return NULL;
11004  }
11005  arg2 = &temp2;
11006  }
11007  {
11008  try {
11009  result = (operations_research::IntExpr *)(arg1)->MakeMax((std::vector< operations_research::IntVar * > const &)*arg2);
11010  }
11011  catch (Swig::DirectorException &e) {
11012  SWIG_fail;
11013  }
11014  }
11016  return resultobj;
11017 fail:
11018  return NULL;
11019 }
11020 
11021 
11022 SWIGINTERN PyObject *_wrap_Solver_Max__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11023  PyObject *resultobj = 0;
11027  void *argp1 = 0 ;
11028  int res1 = 0 ;
11029  PyObject * obj0 = 0 ;
11030  PyObject * obj1 = 0 ;
11031  PyObject * obj2 = 0 ;
11032  operations_research::IntExpr *result = 0 ;
11033 
11034  if (!PyArg_UnpackTuple(args, "Solver_Max", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11035  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11036  if (!SWIG_IsOK(res1)) {
11037  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Max" "', argument " "1"" of type '" "operations_research::Solver *""'");
11038  }
11039  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11040  {
11041  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11042  }
11043  {
11044  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
11045  }
11046  {
11047  try {
11048  result = (operations_research::IntExpr *)(arg1)->MakeMax(arg2,arg3);
11049  }
11050  catch (Swig::DirectorException &e) {
11051  SWIG_fail;
11052  }
11053  }
11055  return resultobj;
11056 fail:
11057  return NULL;
11058 }
11059 
11060 
11061 SWIGINTERN PyObject *_wrap_Solver_Max__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11062  PyObject *resultobj = 0;
11065  int64_t arg3 ;
11066  void *argp1 = 0 ;
11067  int res1 = 0 ;
11068  long val3 ;
11069  int ecode3 = 0 ;
11070  PyObject * obj0 = 0 ;
11071  PyObject * obj1 = 0 ;
11072  PyObject * obj2 = 0 ;
11073  operations_research::IntExpr *result = 0 ;
11074 
11075  if (!PyArg_UnpackTuple(args, "Solver_Max", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11076  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11077  if (!SWIG_IsOK(res1)) {
11078  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Max" "', argument " "1"" of type '" "operations_research::Solver *""'");
11079  }
11080  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11081  {
11082  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11083  }
11084  ecode3 = SWIG_AsVal_long(obj2, &val3);
11085  if (!SWIG_IsOK(ecode3)) {
11086  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Max" "', argument " "3"" of type '" "int64_t""'");
11087  }
11088  arg3 = static_cast< int64_t >(val3);
11089  {
11090  try {
11091  result = (operations_research::IntExpr *)(arg1)->MakeMax(arg2,arg3);
11092  }
11093  catch (Swig::DirectorException &e) {
11094  SWIG_fail;
11095  }
11096  }
11098  return resultobj;
11099 fail:
11100  return NULL;
11101 }
11102 
11103 
11104 SWIGINTERN PyObject *_wrap_Solver_Max__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11105  PyObject *resultobj = 0;
11108  int arg3 ;
11109  void *argp1 = 0 ;
11110  int res1 = 0 ;
11111  int val3 ;
11112  int ecode3 = 0 ;
11113  PyObject * obj0 = 0 ;
11114  PyObject * obj1 = 0 ;
11115  PyObject * obj2 = 0 ;
11116  operations_research::IntExpr *result = 0 ;
11117 
11118  if (!PyArg_UnpackTuple(args, "Solver_Max", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11119  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11120  if (!SWIG_IsOK(res1)) {
11121  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Max" "', argument " "1"" of type '" "operations_research::Solver *""'");
11122  }
11123  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11124  {
11125  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11126  }
11127  ecode3 = SWIG_AsVal_int(obj2, &val3);
11128  if (!SWIG_IsOK(ecode3)) {
11129  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Max" "', argument " "3"" of type '" "int""'");
11130  }
11131  arg3 = static_cast< int >(val3);
11132  {
11133  try {
11134  result = (operations_research::IntExpr *)(arg1)->MakeMax(arg2,arg3);
11135  }
11136  catch (Swig::DirectorException &e) {
11137  SWIG_fail;
11138  }
11139  }
11141  return resultobj;
11142 fail:
11143  return NULL;
11144 }
11145 
11146 
11147 SWIGINTERN PyObject *_wrap_Solver_Max(PyObject *self, PyObject *args) {
11148  Py_ssize_t argc;
11149  PyObject *argv[4] = {
11150  0
11151  };
11152  Py_ssize_t ii;
11153 
11154  if (!PyTuple_Check(args)) SWIG_fail;
11155  argc = PyObject_Length(args);
11156  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
11157  argv[ii] = PyTuple_GET_ITEM(args,ii);
11158  }
11159  if (argc == 2) {
11160  int _v;
11161  void *vptr = 0;
11162  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11163  _v = SWIG_CheckState(res);
11164  if (_v) {
11165  {
11166  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
11167  _v = 0;
11168  } else {
11169  const bool is_tuple = PyTuple_Check(argv[1]);
11170  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
11171  size_t i = 0;
11172  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
11173  :PyList_GetItem(argv[1], i))) {
11174  ++i;
11175  }
11176  _v = i == size;
11177  }
11178  }
11179  if (_v) {
11180  return _wrap_Solver_Max__SWIG_0(self, args);
11181  }
11182  }
11183  }
11184  if (argc == 3) {
11185  int _v;
11186  void *vptr = 0;
11187  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11188  _v = SWIG_CheckState(res);
11189  if (_v) {
11190  {
11191  _v = CanConvertToIntExpr(argv[1]);
11192  if (_v == 0) PyErr_Clear();
11193  }
11194  if (_v) {
11195  {
11196  _v = CanConvertToIntExpr(argv[2]);
11197  if (_v == 0) PyErr_Clear();
11198  }
11199  if (_v) {
11200  return _wrap_Solver_Max__SWIG_1(self, args);
11201  }
11202  }
11203  }
11204  }
11205  if (argc == 3) {
11206  int _v;
11207  void *vptr = 0;
11208  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11209  _v = SWIG_CheckState(res);
11210  if (_v) {
11211  {
11212  _v = CanConvertToIntExpr(argv[1]);
11213  if (_v == 0) PyErr_Clear();
11214  }
11215  if (_v) {
11216  {
11217  int res = SWIG_AsVal_int(argv[2], NULL);
11218  _v = SWIG_CheckState(res);
11219  }
11220  if (_v) {
11221  return _wrap_Solver_Max__SWIG_3(self, args);
11222  }
11223  }
11224  }
11225  }
11226  if (argc == 3) {
11227  int _v;
11228  void *vptr = 0;
11229  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11230  _v = SWIG_CheckState(res);
11231  if (_v) {
11232  {
11233  _v = CanConvertToIntExpr(argv[1]);
11234  if (_v == 0) PyErr_Clear();
11235  }
11236  if (_v) {
11237  {
11238  int res = SWIG_AsVal_long(argv[2], NULL);
11239  _v = SWIG_CheckState(res);
11240  }
11241  if (_v) {
11242  return _wrap_Solver_Max__SWIG_2(self, args);
11243  }
11244  }
11245  }
11246  }
11247 
11248 fail:
11249  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Max'.\n"
11250  " Possible C/C++ prototypes are:\n"
11251  " operations_research::Solver::MakeMax(std::vector< operations_research::IntVar * > const &)\n"
11252  " operations_research::Solver::MakeMax(operations_research::IntExpr *const,operations_research::IntExpr *const)\n"
11253  " operations_research::Solver::MakeMax(operations_research::IntExpr *const,int64_t)\n"
11254  " operations_research::Solver::MakeMax(operations_research::IntExpr *const,int)\n");
11255  return 0;
11256 }
11257 
11258 
11259 SWIGINTERN PyObject *_wrap_Solver_ConvexPiecewiseExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11260  PyObject *resultobj = 0;
11263  int64_t arg3 ;
11264  int64_t arg4 ;
11265  int64_t arg5 ;
11266  int64_t arg6 ;
11267  void *argp1 = 0 ;
11268  int res1 = 0 ;
11269  void *argp2 = 0 ;
11270  int res2 = 0 ;
11271  long val3 ;
11272  int ecode3 = 0 ;
11273  long val4 ;
11274  int ecode4 = 0 ;
11275  long val5 ;
11276  int ecode5 = 0 ;
11277  long val6 ;
11278  int ecode6 = 0 ;
11279  PyObject * obj0 = 0 ;
11280  PyObject * obj1 = 0 ;
11281  PyObject * obj2 = 0 ;
11282  PyObject * obj3 = 0 ;
11283  PyObject * obj4 = 0 ;
11284  PyObject * obj5 = 0 ;
11285  operations_research::IntExpr *result = 0 ;
11286 
11287  if (!PyArg_UnpackTuple(args, "Solver_ConvexPiecewiseExpr", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
11288  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11289  if (!SWIG_IsOK(res1)) {
11290  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "1"" of type '" "operations_research::Solver *""'");
11291  }
11292  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11293  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
11294  if (!SWIG_IsOK(res2)) {
11295  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
11296  }
11297  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
11298  ecode3 = SWIG_AsVal_long(obj2, &val3);
11299  if (!SWIG_IsOK(ecode3)) {
11300  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "3"" of type '" "int64_t""'");
11301  }
11302  arg3 = static_cast< int64_t >(val3);
11303  ecode4 = SWIG_AsVal_long(obj3, &val4);
11304  if (!SWIG_IsOK(ecode4)) {
11305  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "4"" of type '" "int64_t""'");
11306  }
11307  arg4 = static_cast< int64_t >(val4);
11308  ecode5 = SWIG_AsVal_long(obj4, &val5);
11309  if (!SWIG_IsOK(ecode5)) {
11310  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "5"" of type '" "int64_t""'");
11311  }
11312  arg5 = static_cast< int64_t >(val5);
11313  ecode6 = SWIG_AsVal_long(obj5, &val6);
11314  if (!SWIG_IsOK(ecode6)) {
11315  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_ConvexPiecewiseExpr" "', argument " "6"" of type '" "int64_t""'");
11316  }
11317  arg6 = static_cast< int64_t >(val6);
11318  {
11319  try {
11320  result = (operations_research::IntExpr *)(arg1)->MakeConvexPiecewiseExpr(arg2,arg3,arg4,arg5,arg6);
11321  }
11322  catch (Swig::DirectorException &e) {
11323  SWIG_fail;
11324  }
11325  }
11327  return resultobj;
11328 fail:
11329  return NULL;
11330 }
11331 
11332 
11333 SWIGINTERN PyObject *_wrap_Solver_SemiContinuousExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11334  PyObject *resultobj = 0;
11337  int64_t arg3 ;
11338  int64_t arg4 ;
11339  void *argp1 = 0 ;
11340  int res1 = 0 ;
11341  long val3 ;
11342  int ecode3 = 0 ;
11343  long val4 ;
11344  int ecode4 = 0 ;
11345  PyObject * obj0 = 0 ;
11346  PyObject * obj1 = 0 ;
11347  PyObject * obj2 = 0 ;
11348  PyObject * obj3 = 0 ;
11349  operations_research::IntExpr *result = 0 ;
11350 
11351  if (!PyArg_UnpackTuple(args, "Solver_SemiContinuousExpr", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11352  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11353  if (!SWIG_IsOK(res1)) {
11354  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SemiContinuousExpr" "', argument " "1"" of type '" "operations_research::Solver *""'");
11355  }
11356  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11357  {
11358  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11359  }
11360  ecode3 = SWIG_AsVal_long(obj2, &val3);
11361  if (!SWIG_IsOK(ecode3)) {
11362  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_SemiContinuousExpr" "', argument " "3"" of type '" "int64_t""'");
11363  }
11364  arg3 = static_cast< int64_t >(val3);
11365  ecode4 = SWIG_AsVal_long(obj3, &val4);
11366  if (!SWIG_IsOK(ecode4)) {
11367  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_SemiContinuousExpr" "', argument " "4"" of type '" "int64_t""'");
11368  }
11369  arg4 = static_cast< int64_t >(val4);
11370  {
11371  try {
11372  result = (operations_research::IntExpr *)(arg1)->MakeSemiContinuousExpr(arg2,arg3,arg4);
11373  }
11374  catch (Swig::DirectorException &e) {
11375  SWIG_fail;
11376  }
11377  }
11379  return resultobj;
11380 fail:
11381  return NULL;
11382 }
11383 
11384 
11385 SWIGINTERN PyObject *_wrap_Solver_ConditionalExpression(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11386  PyObject *resultobj = 0;
11390  int64_t arg4 ;
11391  void *argp1 = 0 ;
11392  int res1 = 0 ;
11393  long val4 ;
11394  int ecode4 = 0 ;
11395  PyObject * obj0 = 0 ;
11396  PyObject * obj1 = 0 ;
11397  PyObject * obj2 = 0 ;
11398  PyObject * obj3 = 0 ;
11399  operations_research::IntExpr *result = 0 ;
11400 
11401  if (!PyArg_UnpackTuple(args, "Solver_ConditionalExpression", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11402  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11403  if (!SWIG_IsOK(res1)) {
11404  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConditionalExpression" "', argument " "1"" of type '" "operations_research::Solver *""'");
11405  }
11406  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11407  {
11408  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11409  }
11410  {
11411  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
11412  }
11413  ecode4 = SWIG_AsVal_long(obj3, &val4);
11414  if (!SWIG_IsOK(ecode4)) {
11415  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ConditionalExpression" "', argument " "4"" of type '" "int64_t""'");
11416  }
11417  arg4 = static_cast< int64_t >(val4);
11418  {
11419  try {
11420  result = (operations_research::IntExpr *)(arg1)->MakeConditionalExpression(arg2,arg3,arg4);
11421  }
11422  catch (Swig::DirectorException &e) {
11423  SWIG_fail;
11424  }
11425  }
11427  return resultobj;
11428 fail:
11429  return NULL;
11430 }
11431 
11432 
11433 SWIGINTERN PyObject *_wrap_Solver_TrueConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11434  PyObject *resultobj = 0;
11436  void *argp1 = 0 ;
11437  int res1 = 0 ;
11438  PyObject * obj0 = 0 ;
11439  operations_research::Constraint *result = 0 ;
11440 
11441  if (!PyArg_UnpackTuple(args, "Solver_TrueConstraint", 1, 1, &obj0)) SWIG_fail;
11442  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11443  if (!SWIG_IsOK(res1)) {
11444  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TrueConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
11445  }
11446  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11447  {
11448  try {
11449  result = (operations_research::Constraint *)(arg1)->MakeTrueConstraint();
11450  }
11451  catch (Swig::DirectorException &e) {
11452  SWIG_fail;
11453  }
11454  }
11456  return resultobj;
11457 fail:
11458  return NULL;
11459 }
11460 
11461 
11462 SWIGINTERN PyObject *_wrap_Solver_FalseConstraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11463  PyObject *resultobj = 0;
11465  void *argp1 = 0 ;
11466  int res1 = 0 ;
11467  PyObject * obj0 = 0 ;
11468  operations_research::Constraint *result = 0 ;
11469 
11470  if (!PyArg_UnpackTuple(args, "Solver_FalseConstraint", 1, 1, &obj0)) SWIG_fail;
11471  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11472  if (!SWIG_IsOK(res1)) {
11473  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FalseConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
11474  }
11475  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11476  {
11477  try {
11478  result = (operations_research::Constraint *)(arg1)->MakeFalseConstraint();
11479  }
11480  catch (Swig::DirectorException &e) {
11481  SWIG_fail;
11482  }
11483  }
11485  return resultobj;
11486 fail:
11487  return NULL;
11488 }
11489 
11490 
11491 SWIGINTERN PyObject *_wrap_Solver_FalseConstraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11492  PyObject *resultobj = 0;
11494  std::string *arg2 = 0 ;
11495  void *argp1 = 0 ;
11496  int res1 = 0 ;
11497  int res2 = SWIG_OLDOBJ ;
11498  PyObject * obj0 = 0 ;
11499  PyObject * obj1 = 0 ;
11500  operations_research::Constraint *result = 0 ;
11501 
11502  if (!PyArg_UnpackTuple(args, "Solver_FalseConstraint", 2, 2, &obj0, &obj1)) SWIG_fail;
11503  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11504  if (!SWIG_IsOK(res1)) {
11505  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FalseConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
11506  }
11507  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11508  {
11509  std::string *ptr = (std::string *)0;
11510  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
11511  if (!SWIG_IsOK(res2)) {
11512  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_FalseConstraint" "', argument " "2"" of type '" "std::string const &""'");
11513  }
11514  if (!ptr) {
11515  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_FalseConstraint" "', argument " "2"" of type '" "std::string const &""'");
11516  }
11517  arg2 = ptr;
11518  }
11519  {
11520  try {
11521  result = (operations_research::Constraint *)(arg1)->MakeFalseConstraint((std::string const &)*arg2);
11522  }
11523  catch (Swig::DirectorException &e) {
11524  SWIG_fail;
11525  }
11526  }
11528  if (SWIG_IsNewObj(res2)) delete arg2;
11529  return resultobj;
11530 fail:
11531  if (SWIG_IsNewObj(res2)) delete arg2;
11532  return NULL;
11533 }
11534 
11535 
11536 SWIGINTERN PyObject *_wrap_Solver_FalseConstraint(PyObject *self, PyObject *args) {
11537  Py_ssize_t argc;
11538  PyObject *argv[3] = {
11539  0
11540  };
11541  Py_ssize_t ii;
11542 
11543  if (!PyTuple_Check(args)) SWIG_fail;
11544  argc = PyObject_Length(args);
11545  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
11546  argv[ii] = PyTuple_GET_ITEM(args,ii);
11547  }
11548  if (argc == 1) {
11549  int _v;
11550  void *vptr = 0;
11551  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11552  _v = SWIG_CheckState(res);
11553  if (_v) {
11554  return _wrap_Solver_FalseConstraint__SWIG_0(self, args);
11555  }
11556  }
11557  if (argc == 2) {
11558  int _v;
11559  void *vptr = 0;
11560  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
11561  _v = SWIG_CheckState(res);
11562  if (_v) {
11563  int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
11564  _v = SWIG_CheckState(res);
11565  if (_v) {
11566  return _wrap_Solver_FalseConstraint__SWIG_1(self, args);
11567  }
11568  }
11569  }
11570 
11571 fail:
11572  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_FalseConstraint'.\n"
11573  " Possible C/C++ prototypes are:\n"
11574  " operations_research::Solver::MakeFalseConstraint()\n"
11575  " operations_research::Solver::MakeFalseConstraint(std::string const &)\n");
11576  return 0;
11577 }
11578 
11579 
11580 SWIGINTERN PyObject *_wrap_Solver_IsEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11581  PyObject *resultobj = 0;
11584  int64_t arg3 ;
11586  void *argp1 = 0 ;
11587  int res1 = 0 ;
11588  long val3 ;
11589  int ecode3 = 0 ;
11590  PyObject * obj0 = 0 ;
11591  PyObject * obj1 = 0 ;
11592  PyObject * obj2 = 0 ;
11593  PyObject * obj3 = 0 ;
11594  operations_research::Constraint *result = 0 ;
11595 
11596  if (!PyArg_UnpackTuple(args, "Solver_IsEqualCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11597  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11598  if (!SWIG_IsOK(res1)) {
11599  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsEqualCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
11600  }
11601  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11602  {
11603  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11604  }
11605  ecode3 = SWIG_AsVal_long(obj2, &val3);
11606  if (!SWIG_IsOK(ecode3)) {
11607  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsEqualCstCt" "', argument " "3"" of type '" "int64_t""'");
11608  }
11609  arg3 = static_cast< int64_t >(val3);
11610  {
11611  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
11612  }
11613  {
11614  try {
11615  result = (operations_research::Constraint *)(arg1)->MakeIsEqualCstCt(arg2,arg3,arg4);
11616  }
11617  catch (Swig::DirectorException &e) {
11618  SWIG_fail;
11619  }
11620  }
11622  return resultobj;
11623 fail:
11624  return NULL;
11625 }
11626 
11627 
11628 SWIGINTERN PyObject *_wrap_Solver_IsEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11629  PyObject *resultobj = 0;
11632  int64_t arg3 ;
11633  void *argp1 = 0 ;
11634  int res1 = 0 ;
11635  long val3 ;
11636  int ecode3 = 0 ;
11637  PyObject * obj0 = 0 ;
11638  PyObject * obj1 = 0 ;
11639  PyObject * obj2 = 0 ;
11640  operations_research::IntVar *result = 0 ;
11641 
11642  if (!PyArg_UnpackTuple(args, "Solver_IsEqualCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11643  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11644  if (!SWIG_IsOK(res1)) {
11645  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsEqualCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
11646  }
11647  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11648  {
11649  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11650  }
11651  ecode3 = SWIG_AsVal_long(obj2, &val3);
11652  if (!SWIG_IsOK(ecode3)) {
11653  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsEqualCstVar" "', argument " "3"" of type '" "int64_t""'");
11654  }
11655  arg3 = static_cast< int64_t >(val3);
11656  {
11657  try {
11658  result = (operations_research::IntVar *)(arg1)->MakeIsEqualCstVar(arg2,arg3);
11659  }
11660  catch (Swig::DirectorException &e) {
11661  SWIG_fail;
11662  }
11663  }
11665  return resultobj;
11666 fail:
11667  return NULL;
11668 }
11669 
11670 
11671 SWIGINTERN PyObject *_wrap_Solver_IsEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11672  PyObject *resultobj = 0;
11677  void *argp1 = 0 ;
11678  int res1 = 0 ;
11679  void *argp3 = 0 ;
11680  int res3 = 0 ;
11681  PyObject * obj0 = 0 ;
11682  PyObject * obj1 = 0 ;
11683  PyObject * obj2 = 0 ;
11684  PyObject * obj3 = 0 ;
11685  operations_research::Constraint *result = 0 ;
11686 
11687  if (!PyArg_UnpackTuple(args, "Solver_IsEqualCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11688  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11689  if (!SWIG_IsOK(res1)) {
11690  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsEqualCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
11691  }
11692  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11693  {
11694  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11695  }
11696  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
11697  if (!SWIG_IsOK(res3)) {
11698  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_IsEqualCt" "', argument " "3"" of type '" "operations_research::IntExpr *""'");
11699  }
11700  arg3 = reinterpret_cast< operations_research::IntExpr * >(argp3);
11701  {
11702  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
11703  }
11704  {
11705  try {
11706  result = (operations_research::Constraint *)(arg1)->MakeIsEqualCt(arg2,arg3,arg4);
11707  }
11708  catch (Swig::DirectorException &e) {
11709  SWIG_fail;
11710  }
11711  }
11713  return resultobj;
11714 fail:
11715  return NULL;
11716 }
11717 
11718 
11719 SWIGINTERN PyObject *_wrap_Solver_IsEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11720  PyObject *resultobj = 0;
11724  void *argp1 = 0 ;
11725  int res1 = 0 ;
11726  void *argp3 = 0 ;
11727  int res3 = 0 ;
11728  PyObject * obj0 = 0 ;
11729  PyObject * obj1 = 0 ;
11730  PyObject * obj2 = 0 ;
11731  operations_research::IntVar *result = 0 ;
11732 
11733  if (!PyArg_UnpackTuple(args, "Solver_IsEqualVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11734  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11735  if (!SWIG_IsOK(res1)) {
11736  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsEqualVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
11737  }
11738  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11739  {
11740  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11741  }
11742  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
11743  if (!SWIG_IsOK(res3)) {
11744  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_IsEqualVar" "', argument " "3"" of type '" "operations_research::IntExpr *""'");
11745  }
11746  arg3 = reinterpret_cast< operations_research::IntExpr * >(argp3);
11747  {
11748  try {
11749  result = (operations_research::IntVar *)(arg1)->MakeIsEqualVar(arg2,arg3);
11750  }
11751  catch (Swig::DirectorException &e) {
11752  SWIG_fail;
11753  }
11754  }
11756  return resultobj;
11757 fail:
11758  return NULL;
11759 }
11760 
11761 
11762 SWIGINTERN PyObject *_wrap_Solver_IsDifferentCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11763  PyObject *resultobj = 0;
11766  int64_t arg3 ;
11768  void *argp1 = 0 ;
11769  int res1 = 0 ;
11770  long val3 ;
11771  int ecode3 = 0 ;
11772  PyObject * obj0 = 0 ;
11773  PyObject * obj1 = 0 ;
11774  PyObject * obj2 = 0 ;
11775  PyObject * obj3 = 0 ;
11776  operations_research::Constraint *result = 0 ;
11777 
11778  if (!PyArg_UnpackTuple(args, "Solver_IsDifferentCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11779  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11780  if (!SWIG_IsOK(res1)) {
11781  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsDifferentCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
11782  }
11783  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11784  {
11785  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11786  }
11787  ecode3 = SWIG_AsVal_long(obj2, &val3);
11788  if (!SWIG_IsOK(ecode3)) {
11789  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsDifferentCstCt" "', argument " "3"" of type '" "int64_t""'");
11790  }
11791  arg3 = static_cast< int64_t >(val3);
11792  {
11793  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
11794  }
11795  {
11796  try {
11797  result = (operations_research::Constraint *)(arg1)->MakeIsDifferentCstCt(arg2,arg3,arg4);
11798  }
11799  catch (Swig::DirectorException &e) {
11800  SWIG_fail;
11801  }
11802  }
11804  return resultobj;
11805 fail:
11806  return NULL;
11807 }
11808 
11809 
11810 SWIGINTERN PyObject *_wrap_Solver_IsDifferentCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11811  PyObject *resultobj = 0;
11814  int64_t arg3 ;
11815  void *argp1 = 0 ;
11816  int res1 = 0 ;
11817  long val3 ;
11818  int ecode3 = 0 ;
11819  PyObject * obj0 = 0 ;
11820  PyObject * obj1 = 0 ;
11821  PyObject * obj2 = 0 ;
11822  operations_research::IntVar *result = 0 ;
11823 
11824  if (!PyArg_UnpackTuple(args, "Solver_IsDifferentCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11825  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11826  if (!SWIG_IsOK(res1)) {
11827  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsDifferentCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
11828  }
11829  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11830  {
11831  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11832  }
11833  ecode3 = SWIG_AsVal_long(obj2, &val3);
11834  if (!SWIG_IsOK(ecode3)) {
11835  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsDifferentCstVar" "', argument " "3"" of type '" "int64_t""'");
11836  }
11837  arg3 = static_cast< int64_t >(val3);
11838  {
11839  try {
11840  result = (operations_research::IntVar *)(arg1)->MakeIsDifferentCstVar(arg2,arg3);
11841  }
11842  catch (Swig::DirectorException &e) {
11843  SWIG_fail;
11844  }
11845  }
11847  return resultobj;
11848 fail:
11849  return NULL;
11850 }
11851 
11852 
11853 SWIGINTERN PyObject *_wrap_Solver_IsDifferentVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11854  PyObject *resultobj = 0;
11858  void *argp1 = 0 ;
11859  int res1 = 0 ;
11860  PyObject * obj0 = 0 ;
11861  PyObject * obj1 = 0 ;
11862  PyObject * obj2 = 0 ;
11863  operations_research::IntVar *result = 0 ;
11864 
11865  if (!PyArg_UnpackTuple(args, "Solver_IsDifferentVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11866  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11867  if (!SWIG_IsOK(res1)) {
11868  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsDifferentVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
11869  }
11870  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11871  {
11872  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11873  }
11874  {
11875  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
11876  }
11877  {
11878  try {
11879  result = (operations_research::IntVar *)(arg1)->MakeIsDifferentVar(arg2,arg3);
11880  }
11881  catch (Swig::DirectorException &e) {
11882  SWIG_fail;
11883  }
11884  }
11886  return resultobj;
11887 fail:
11888  return NULL;
11889 }
11890 
11891 
11892 SWIGINTERN PyObject *_wrap_Solver_IsDifferentCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11893  PyObject *resultobj = 0;
11898  void *argp1 = 0 ;
11899  int res1 = 0 ;
11900  PyObject * obj0 = 0 ;
11901  PyObject * obj1 = 0 ;
11902  PyObject * obj2 = 0 ;
11903  PyObject * obj3 = 0 ;
11904  operations_research::Constraint *result = 0 ;
11905 
11906  if (!PyArg_UnpackTuple(args, "Solver_IsDifferentCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11907  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11908  if (!SWIG_IsOK(res1)) {
11909  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsDifferentCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
11910  }
11911  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11912  {
11913  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11914  }
11915  {
11916  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
11917  }
11918  {
11919  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
11920  }
11921  {
11922  try {
11923  result = (operations_research::Constraint *)(arg1)->MakeIsDifferentCt(arg2,arg3,arg4);
11924  }
11925  catch (Swig::DirectorException &e) {
11926  SWIG_fail;
11927  }
11928  }
11930  return resultobj;
11931 fail:
11932  return NULL;
11933 }
11934 
11935 
11936 SWIGINTERN PyObject *_wrap_Solver_IsLessOrEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11937  PyObject *resultobj = 0;
11940  int64_t arg3 ;
11942  void *argp1 = 0 ;
11943  int res1 = 0 ;
11944  long val3 ;
11945  int ecode3 = 0 ;
11946  PyObject * obj0 = 0 ;
11947  PyObject * obj1 = 0 ;
11948  PyObject * obj2 = 0 ;
11949  PyObject * obj3 = 0 ;
11950  operations_research::Constraint *result = 0 ;
11951 
11952  if (!PyArg_UnpackTuple(args, "Solver_IsLessOrEqualCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
11953  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
11954  if (!SWIG_IsOK(res1)) {
11955  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessOrEqualCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
11956  }
11957  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
11958  {
11959  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
11960  }
11961  ecode3 = SWIG_AsVal_long(obj2, &val3);
11962  if (!SWIG_IsOK(ecode3)) {
11963  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsLessOrEqualCstCt" "', argument " "3"" of type '" "int64_t""'");
11964  }
11965  arg3 = static_cast< int64_t >(val3);
11966  {
11967  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
11968  }
11969  {
11970  try {
11971  result = (operations_research::Constraint *)(arg1)->MakeIsLessOrEqualCstCt(arg2,arg3,arg4);
11972  }
11973  catch (Swig::DirectorException &e) {
11974  SWIG_fail;
11975  }
11976  }
11978  return resultobj;
11979 fail:
11980  return NULL;
11981 }
11982 
11983 
11984 SWIGINTERN PyObject *_wrap_Solver_IsLessOrEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
11985  PyObject *resultobj = 0;
11988  int64_t arg3 ;
11989  void *argp1 = 0 ;
11990  int res1 = 0 ;
11991  long val3 ;
11992  int ecode3 = 0 ;
11993  PyObject * obj0 = 0 ;
11994  PyObject * obj1 = 0 ;
11995  PyObject * obj2 = 0 ;
11996  operations_research::IntVar *result = 0 ;
11997 
11998  if (!PyArg_UnpackTuple(args, "Solver_IsLessOrEqualCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
11999  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12000  if (!SWIG_IsOK(res1)) {
12001  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessOrEqualCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12002  }
12003  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12004  {
12005  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12006  }
12007  ecode3 = SWIG_AsVal_long(obj2, &val3);
12008  if (!SWIG_IsOK(ecode3)) {
12009  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsLessOrEqualCstVar" "', argument " "3"" of type '" "int64_t""'");
12010  }
12011  arg3 = static_cast< int64_t >(val3);
12012  {
12013  try {
12014  result = (operations_research::IntVar *)(arg1)->MakeIsLessOrEqualCstVar(arg2,arg3);
12015  }
12016  catch (Swig::DirectorException &e) {
12017  SWIG_fail;
12018  }
12019  }
12021  return resultobj;
12022 fail:
12023  return NULL;
12024 }
12025 
12026 
12027 SWIGINTERN PyObject *_wrap_Solver_IsLessOrEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12028  PyObject *resultobj = 0;
12032  void *argp1 = 0 ;
12033  int res1 = 0 ;
12034  PyObject * obj0 = 0 ;
12035  PyObject * obj1 = 0 ;
12036  PyObject * obj2 = 0 ;
12037  operations_research::IntVar *result = 0 ;
12038 
12039  if (!PyArg_UnpackTuple(args, "Solver_IsLessOrEqualVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12040  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12041  if (!SWIG_IsOK(res1)) {
12042  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessOrEqualVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12043  }
12044  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12045  {
12046  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12047  }
12048  {
12049  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12050  }
12051  {
12052  try {
12053  result = (operations_research::IntVar *)(arg1)->MakeIsLessOrEqualVar(arg2,arg3);
12054  }
12055  catch (Swig::DirectorException &e) {
12056  SWIG_fail;
12057  }
12058  }
12060  return resultobj;
12061 fail:
12062  return NULL;
12063 }
12064 
12065 
12066 SWIGINTERN PyObject *_wrap_Solver_IsLessOrEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12067  PyObject *resultobj = 0;
12072  void *argp1 = 0 ;
12073  int res1 = 0 ;
12074  PyObject * obj0 = 0 ;
12075  PyObject * obj1 = 0 ;
12076  PyObject * obj2 = 0 ;
12077  PyObject * obj3 = 0 ;
12078  operations_research::Constraint *result = 0 ;
12079 
12080  if (!PyArg_UnpackTuple(args, "Solver_IsLessOrEqualCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12081  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12082  if (!SWIG_IsOK(res1)) {
12083  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessOrEqualCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12084  }
12085  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12086  {
12087  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12088  }
12089  {
12090  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12091  }
12092  {
12093  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12094  }
12095  {
12096  try {
12097  result = (operations_research::Constraint *)(arg1)->MakeIsLessOrEqualCt(arg2,arg3,arg4);
12098  }
12099  catch (Swig::DirectorException &e) {
12100  SWIG_fail;
12101  }
12102  }
12104  return resultobj;
12105 fail:
12106  return NULL;
12107 }
12108 
12109 
12110 SWIGINTERN PyObject *_wrap_Solver_IsGreaterOrEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12111  PyObject *resultobj = 0;
12114  int64_t arg3 ;
12116  void *argp1 = 0 ;
12117  int res1 = 0 ;
12118  long val3 ;
12119  int ecode3 = 0 ;
12120  PyObject * obj0 = 0 ;
12121  PyObject * obj1 = 0 ;
12122  PyObject * obj2 = 0 ;
12123  PyObject * obj3 = 0 ;
12124  operations_research::Constraint *result = 0 ;
12125 
12126  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterOrEqualCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12127  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12128  if (!SWIG_IsOK(res1)) {
12129  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterOrEqualCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12130  }
12131  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12132  {
12133  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12134  }
12135  ecode3 = SWIG_AsVal_long(obj2, &val3);
12136  if (!SWIG_IsOK(ecode3)) {
12137  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsGreaterOrEqualCstCt" "', argument " "3"" of type '" "int64_t""'");
12138  }
12139  arg3 = static_cast< int64_t >(val3);
12140  {
12141  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12142  }
12143  {
12144  try {
12145  result = (operations_research::Constraint *)(arg1)->MakeIsGreaterOrEqualCstCt(arg2,arg3,arg4);
12146  }
12147  catch (Swig::DirectorException &e) {
12148  SWIG_fail;
12149  }
12150  }
12152  return resultobj;
12153 fail:
12154  return NULL;
12155 }
12156 
12157 
12158 SWIGINTERN PyObject *_wrap_Solver_IsGreaterOrEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12159  PyObject *resultobj = 0;
12162  int64_t arg3 ;
12163  void *argp1 = 0 ;
12164  int res1 = 0 ;
12165  long val3 ;
12166  int ecode3 = 0 ;
12167  PyObject * obj0 = 0 ;
12168  PyObject * obj1 = 0 ;
12169  PyObject * obj2 = 0 ;
12170  operations_research::IntVar *result = 0 ;
12171 
12172  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterOrEqualCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12173  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12174  if (!SWIG_IsOK(res1)) {
12175  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterOrEqualCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12176  }
12177  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12178  {
12179  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12180  }
12181  ecode3 = SWIG_AsVal_long(obj2, &val3);
12182  if (!SWIG_IsOK(ecode3)) {
12183  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsGreaterOrEqualCstVar" "', argument " "3"" of type '" "int64_t""'");
12184  }
12185  arg3 = static_cast< int64_t >(val3);
12186  {
12187  try {
12188  result = (operations_research::IntVar *)(arg1)->MakeIsGreaterOrEqualCstVar(arg2,arg3);
12189  }
12190  catch (Swig::DirectorException &e) {
12191  SWIG_fail;
12192  }
12193  }
12195  return resultobj;
12196 fail:
12197  return NULL;
12198 }
12199 
12200 
12201 SWIGINTERN PyObject *_wrap_Solver_IsGreaterOrEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12202  PyObject *resultobj = 0;
12206  void *argp1 = 0 ;
12207  int res1 = 0 ;
12208  PyObject * obj0 = 0 ;
12209  PyObject * obj1 = 0 ;
12210  PyObject * obj2 = 0 ;
12211  operations_research::IntVar *result = 0 ;
12212 
12213  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterOrEqualVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12214  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12215  if (!SWIG_IsOK(res1)) {
12216  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterOrEqualVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12217  }
12218  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12219  {
12220  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12221  }
12222  {
12223  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12224  }
12225  {
12226  try {
12227  result = (operations_research::IntVar *)(arg1)->MakeIsGreaterOrEqualVar(arg2,arg3);
12228  }
12229  catch (Swig::DirectorException &e) {
12230  SWIG_fail;
12231  }
12232  }
12234  return resultobj;
12235 fail:
12236  return NULL;
12237 }
12238 
12239 
12240 SWIGINTERN PyObject *_wrap_Solver_IsGreaterOrEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12241  PyObject *resultobj = 0;
12246  void *argp1 = 0 ;
12247  int res1 = 0 ;
12248  PyObject * obj0 = 0 ;
12249  PyObject * obj1 = 0 ;
12250  PyObject * obj2 = 0 ;
12251  PyObject * obj3 = 0 ;
12252  operations_research::Constraint *result = 0 ;
12253 
12254  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterOrEqualCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12255  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12256  if (!SWIG_IsOK(res1)) {
12257  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterOrEqualCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12258  }
12259  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12260  {
12261  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12262  }
12263  {
12264  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12265  }
12266  {
12267  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12268  }
12269  {
12270  try {
12271  result = (operations_research::Constraint *)(arg1)->MakeIsGreaterOrEqualCt(arg2,arg3,arg4);
12272  }
12273  catch (Swig::DirectorException &e) {
12274  SWIG_fail;
12275  }
12276  }
12278  return resultobj;
12279 fail:
12280  return NULL;
12281 }
12282 
12283 
12284 SWIGINTERN PyObject *_wrap_Solver_IsGreaterCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12285  PyObject *resultobj = 0;
12288  int64_t arg3 ;
12290  void *argp1 = 0 ;
12291  int res1 = 0 ;
12292  long val3 ;
12293  int ecode3 = 0 ;
12294  PyObject * obj0 = 0 ;
12295  PyObject * obj1 = 0 ;
12296  PyObject * obj2 = 0 ;
12297  PyObject * obj3 = 0 ;
12298  operations_research::Constraint *result = 0 ;
12299 
12300  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12301  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12302  if (!SWIG_IsOK(res1)) {
12303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12304  }
12305  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12306  {
12307  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12308  }
12309  ecode3 = SWIG_AsVal_long(obj2, &val3);
12310  if (!SWIG_IsOK(ecode3)) {
12311  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsGreaterCstCt" "', argument " "3"" of type '" "int64_t""'");
12312  }
12313  arg3 = static_cast< int64_t >(val3);
12314  {
12315  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12316  }
12317  {
12318  try {
12319  result = (operations_research::Constraint *)(arg1)->MakeIsGreaterCstCt(arg2,arg3,arg4);
12320  }
12321  catch (Swig::DirectorException &e) {
12322  SWIG_fail;
12323  }
12324  }
12326  return resultobj;
12327 fail:
12328  return NULL;
12329 }
12330 
12331 
12332 SWIGINTERN PyObject *_wrap_Solver_IsGreaterCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12333  PyObject *resultobj = 0;
12336  int64_t arg3 ;
12337  void *argp1 = 0 ;
12338  int res1 = 0 ;
12339  long val3 ;
12340  int ecode3 = 0 ;
12341  PyObject * obj0 = 0 ;
12342  PyObject * obj1 = 0 ;
12343  PyObject * obj2 = 0 ;
12344  operations_research::IntVar *result = 0 ;
12345 
12346  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12347  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12348  if (!SWIG_IsOK(res1)) {
12349  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12350  }
12351  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12352  {
12353  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12354  }
12355  ecode3 = SWIG_AsVal_long(obj2, &val3);
12356  if (!SWIG_IsOK(ecode3)) {
12357  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsGreaterCstVar" "', argument " "3"" of type '" "int64_t""'");
12358  }
12359  arg3 = static_cast< int64_t >(val3);
12360  {
12361  try {
12362  result = (operations_research::IntVar *)(arg1)->MakeIsGreaterCstVar(arg2,arg3);
12363  }
12364  catch (Swig::DirectorException &e) {
12365  SWIG_fail;
12366  }
12367  }
12369  return resultobj;
12370 fail:
12371  return NULL;
12372 }
12373 
12374 
12375 SWIGINTERN PyObject *_wrap_Solver_IsGreaterVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12376  PyObject *resultobj = 0;
12380  void *argp1 = 0 ;
12381  int res1 = 0 ;
12382  PyObject * obj0 = 0 ;
12383  PyObject * obj1 = 0 ;
12384  PyObject * obj2 = 0 ;
12385  operations_research::IntVar *result = 0 ;
12386 
12387  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12388  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12389  if (!SWIG_IsOK(res1)) {
12390  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12391  }
12392  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12393  {
12394  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12395  }
12396  {
12397  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12398  }
12399  {
12400  try {
12401  result = (operations_research::IntVar *)(arg1)->MakeIsGreaterVar(arg2,arg3);
12402  }
12403  catch (Swig::DirectorException &e) {
12404  SWIG_fail;
12405  }
12406  }
12408  return resultobj;
12409 fail:
12410  return NULL;
12411 }
12412 
12413 
12414 SWIGINTERN PyObject *_wrap_Solver_IsGreaterCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12415  PyObject *resultobj = 0;
12420  void *argp1 = 0 ;
12421  int res1 = 0 ;
12422  PyObject * obj0 = 0 ;
12423  PyObject * obj1 = 0 ;
12424  PyObject * obj2 = 0 ;
12425  PyObject * obj3 = 0 ;
12426  operations_research::Constraint *result = 0 ;
12427 
12428  if (!PyArg_UnpackTuple(args, "Solver_IsGreaterCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12429  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12430  if (!SWIG_IsOK(res1)) {
12431  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsGreaterCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12432  }
12433  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12434  {
12435  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12436  }
12437  {
12438  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12439  }
12440  {
12441  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12442  }
12443  {
12444  try {
12445  result = (operations_research::Constraint *)(arg1)->MakeIsGreaterCt(arg2,arg3,arg4);
12446  }
12447  catch (Swig::DirectorException &e) {
12448  SWIG_fail;
12449  }
12450  }
12452  return resultobj;
12453 fail:
12454  return NULL;
12455 }
12456 
12457 
12458 SWIGINTERN PyObject *_wrap_Solver_IsLessCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12459  PyObject *resultobj = 0;
12462  int64_t arg3 ;
12464  void *argp1 = 0 ;
12465  int res1 = 0 ;
12466  long val3 ;
12467  int ecode3 = 0 ;
12468  PyObject * obj0 = 0 ;
12469  PyObject * obj1 = 0 ;
12470  PyObject * obj2 = 0 ;
12471  PyObject * obj3 = 0 ;
12472  operations_research::Constraint *result = 0 ;
12473 
12474  if (!PyArg_UnpackTuple(args, "Solver_IsLessCstCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12475  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12476  if (!SWIG_IsOK(res1)) {
12477  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessCstCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12478  }
12479  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12480  {
12481  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12482  }
12483  ecode3 = SWIG_AsVal_long(obj2, &val3);
12484  if (!SWIG_IsOK(ecode3)) {
12485  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsLessCstCt" "', argument " "3"" of type '" "int64_t""'");
12486  }
12487  arg3 = static_cast< int64_t >(val3);
12488  {
12489  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12490  }
12491  {
12492  try {
12493  result = (operations_research::Constraint *)(arg1)->MakeIsLessCstCt(arg2,arg3,arg4);
12494  }
12495  catch (Swig::DirectorException &e) {
12496  SWIG_fail;
12497  }
12498  }
12500  return resultobj;
12501 fail:
12502  return NULL;
12503 }
12504 
12505 
12506 SWIGINTERN PyObject *_wrap_Solver_IsLessCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12507  PyObject *resultobj = 0;
12510  int64_t arg3 ;
12511  void *argp1 = 0 ;
12512  int res1 = 0 ;
12513  long val3 ;
12514  int ecode3 = 0 ;
12515  PyObject * obj0 = 0 ;
12516  PyObject * obj1 = 0 ;
12517  PyObject * obj2 = 0 ;
12518  operations_research::IntVar *result = 0 ;
12519 
12520  if (!PyArg_UnpackTuple(args, "Solver_IsLessCstVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12521  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12522  if (!SWIG_IsOK(res1)) {
12523  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessCstVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12524  }
12525  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12526  {
12527  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12528  }
12529  ecode3 = SWIG_AsVal_long(obj2, &val3);
12530  if (!SWIG_IsOK(ecode3)) {
12531  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsLessCstVar" "', argument " "3"" of type '" "int64_t""'");
12532  }
12533  arg3 = static_cast< int64_t >(val3);
12534  {
12535  try {
12536  result = (operations_research::IntVar *)(arg1)->MakeIsLessCstVar(arg2,arg3);
12537  }
12538  catch (Swig::DirectorException &e) {
12539  SWIG_fail;
12540  }
12541  }
12543  return resultobj;
12544 fail:
12545  return NULL;
12546 }
12547 
12548 
12549 SWIGINTERN PyObject *_wrap_Solver_IsLessVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12550  PyObject *resultobj = 0;
12554  void *argp1 = 0 ;
12555  int res1 = 0 ;
12556  PyObject * obj0 = 0 ;
12557  PyObject * obj1 = 0 ;
12558  PyObject * obj2 = 0 ;
12559  operations_research::IntVar *result = 0 ;
12560 
12561  if (!PyArg_UnpackTuple(args, "Solver_IsLessVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12562  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12563  if (!SWIG_IsOK(res1)) {
12564  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
12565  }
12566  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12567  {
12568  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12569  }
12570  {
12571  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12572  }
12573  {
12574  try {
12575  result = (operations_research::IntVar *)(arg1)->MakeIsLessVar(arg2,arg3);
12576  }
12577  catch (Swig::DirectorException &e) {
12578  SWIG_fail;
12579  }
12580  }
12582  return resultobj;
12583 fail:
12584  return NULL;
12585 }
12586 
12587 
12588 SWIGINTERN PyObject *_wrap_Solver_IsLessCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12589  PyObject *resultobj = 0;
12594  void *argp1 = 0 ;
12595  int res1 = 0 ;
12596  PyObject * obj0 = 0 ;
12597  PyObject * obj1 = 0 ;
12598  PyObject * obj2 = 0 ;
12599  PyObject * obj3 = 0 ;
12600  operations_research::Constraint *result = 0 ;
12601 
12602  if (!PyArg_UnpackTuple(args, "Solver_IsLessCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12603  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12604  if (!SWIG_IsOK(res1)) {
12605  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsLessCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
12606  }
12607  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12608  {
12609  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
12610  }
12611  {
12612  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12613  }
12614  {
12615  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
12616  }
12617  {
12618  try {
12619  result = (operations_research::Constraint *)(arg1)->MakeIsLessCt(arg2,arg3,arg4);
12620  }
12621  catch (Swig::DirectorException &e) {
12622  SWIG_fail;
12623  }
12624  }
12626  return resultobj;
12627 fail:
12628  return NULL;
12629 }
12630 
12631 
12632 SWIGINTERN PyObject *_wrap_Solver_SumLessOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12633  PyObject *resultobj = 0;
12635  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12636  int64_t arg3 ;
12637  void *argp1 = 0 ;
12638  int res1 = 0 ;
12639  std::vector< operations_research::IntVar * > temp2 ;
12640  long val3 ;
12641  int ecode3 = 0 ;
12642  PyObject * obj0 = 0 ;
12643  PyObject * obj1 = 0 ;
12644  PyObject * obj2 = 0 ;
12645  operations_research::Constraint *result = 0 ;
12646 
12647  if (!PyArg_UnpackTuple(args, "Solver_SumLessOrEqual", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12648  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12649  if (!SWIG_IsOK(res1)) {
12650  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SumLessOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
12651  }
12652  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12653  {
12654  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12655  if (!PyErr_Occurred())
12656  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12657  return NULL;
12658  }
12659  arg2 = &temp2;
12660  }
12661  ecode3 = SWIG_AsVal_long(obj2, &val3);
12662  if (!SWIG_IsOK(ecode3)) {
12663  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_SumLessOrEqual" "', argument " "3"" of type '" "int64_t""'");
12664  }
12665  arg3 = static_cast< int64_t >(val3);
12666  {
12667  try {
12668  result = (operations_research::Constraint *)(arg1)->MakeSumLessOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
12669  }
12670  catch (Swig::DirectorException &e) {
12671  SWIG_fail;
12672  }
12673  }
12675  return resultobj;
12676 fail:
12677  return NULL;
12678 }
12679 
12680 
12681 SWIGINTERN PyObject *_wrap_Solver_SumGreaterOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12682  PyObject *resultobj = 0;
12684  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12685  int64_t arg3 ;
12686  void *argp1 = 0 ;
12687  int res1 = 0 ;
12688  std::vector< operations_research::IntVar * > temp2 ;
12689  long val3 ;
12690  int ecode3 = 0 ;
12691  PyObject * obj0 = 0 ;
12692  PyObject * obj1 = 0 ;
12693  PyObject * obj2 = 0 ;
12694  operations_research::Constraint *result = 0 ;
12695 
12696  if (!PyArg_UnpackTuple(args, "Solver_SumGreaterOrEqual", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12697  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12698  if (!SWIG_IsOK(res1)) {
12699  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SumGreaterOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
12700  }
12701  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12702  {
12703  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12704  if (!PyErr_Occurred())
12705  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12706  return NULL;
12707  }
12708  arg2 = &temp2;
12709  }
12710  ecode3 = SWIG_AsVal_long(obj2, &val3);
12711  if (!SWIG_IsOK(ecode3)) {
12712  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_SumGreaterOrEqual" "', argument " "3"" of type '" "int64_t""'");
12713  }
12714  arg3 = static_cast< int64_t >(val3);
12715  {
12716  try {
12717  result = (operations_research::Constraint *)(arg1)->MakeSumGreaterOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
12718  }
12719  catch (Swig::DirectorException &e) {
12720  SWIG_fail;
12721  }
12722  }
12724  return resultobj;
12725 fail:
12726  return NULL;
12727 }
12728 
12729 
12730 SWIGINTERN PyObject *_wrap_Solver_SumEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12731  PyObject *resultobj = 0;
12733  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12734  int64_t arg3 ;
12735  void *argp1 = 0 ;
12736  int res1 = 0 ;
12737  std::vector< operations_research::IntVar * > temp2 ;
12738  long val3 ;
12739  int ecode3 = 0 ;
12740  PyObject * obj0 = 0 ;
12741  PyObject * obj1 = 0 ;
12742  PyObject * obj2 = 0 ;
12743  operations_research::Constraint *result = 0 ;
12744 
12745  if (!PyArg_UnpackTuple(args, "Solver_SumEquality", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12746  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12747  if (!SWIG_IsOK(res1)) {
12748  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SumEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
12749  }
12750  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12751  {
12752  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12753  if (!PyErr_Occurred())
12754  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12755  return NULL;
12756  }
12757  arg2 = &temp2;
12758  }
12759  ecode3 = SWIG_AsVal_long(obj2, &val3);
12760  if (!SWIG_IsOK(ecode3)) {
12761  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_SumEquality" "', argument " "3"" of type '" "int64_t""'");
12762  }
12763  arg3 = static_cast< int64_t >(val3);
12764  {
12765  try {
12766  result = (operations_research::Constraint *)(arg1)->MakeSumEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
12767  }
12768  catch (Swig::DirectorException &e) {
12769  SWIG_fail;
12770  }
12771  }
12773  return resultobj;
12774 fail:
12775  return NULL;
12776 }
12777 
12778 
12779 SWIGINTERN PyObject *_wrap_Solver_SumEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12780  PyObject *resultobj = 0;
12782  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12784  void *argp1 = 0 ;
12785  int res1 = 0 ;
12786  std::vector< operations_research::IntVar * > temp2 ;
12787  PyObject * obj0 = 0 ;
12788  PyObject * obj1 = 0 ;
12789  PyObject * obj2 = 0 ;
12790  operations_research::Constraint *result = 0 ;
12791 
12792  if (!PyArg_UnpackTuple(args, "Solver_SumEquality", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
12793  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12794  if (!SWIG_IsOK(res1)) {
12795  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SumEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
12796  }
12797  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12798  {
12799  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12800  if (!PyErr_Occurred())
12801  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12802  return NULL;
12803  }
12804  arg2 = &temp2;
12805  }
12806  {
12807  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
12808  }
12809  {
12810  try {
12811  result = (operations_research::Constraint *)(arg1)->MakeSumEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
12812  }
12813  catch (Swig::DirectorException &e) {
12814  SWIG_fail;
12815  }
12816  }
12818  return resultobj;
12819 fail:
12820  return NULL;
12821 }
12822 
12823 
12824 SWIGINTERN PyObject *_wrap_Solver_SumEquality(PyObject *self, PyObject *args) {
12825  Py_ssize_t argc;
12826  PyObject *argv[4] = {
12827  0
12828  };
12829  Py_ssize_t ii;
12830 
12831  if (!PyTuple_Check(args)) SWIG_fail;
12832  argc = PyObject_Length(args);
12833  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
12834  argv[ii] = PyTuple_GET_ITEM(args,ii);
12835  }
12836  if (argc == 3) {
12837  int _v;
12838  void *vptr = 0;
12839  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
12840  _v = SWIG_CheckState(res);
12841  if (_v) {
12842  {
12843  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
12844  _v = 0;
12845  } else {
12846  const bool is_tuple = PyTuple_Check(argv[1]);
12847  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
12848  size_t i = 0;
12849  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
12850  :PyList_GetItem(argv[1], i))) {
12851  ++i;
12852  }
12853  _v = i == size;
12854  }
12855  }
12856  if (_v) {
12857  {
12858  _v = CanConvertToIntVar(argv[2]);
12859  if (_v == 0) PyErr_Clear();
12860  }
12861  if (_v) {
12862  return _wrap_Solver_SumEquality__SWIG_1(self, args);
12863  }
12864  }
12865  }
12866  }
12867  if (argc == 3) {
12868  int _v;
12869  void *vptr = 0;
12870  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
12871  _v = SWIG_CheckState(res);
12872  if (_v) {
12873  {
12874  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
12875  _v = 0;
12876  } else {
12877  const bool is_tuple = PyTuple_Check(argv[1]);
12878  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
12879  size_t i = 0;
12880  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
12881  :PyList_GetItem(argv[1], i))) {
12882  ++i;
12883  }
12884  _v = i == size;
12885  }
12886  }
12887  if (_v) {
12888  {
12889  int res = SWIG_AsVal_long(argv[2], NULL);
12890  _v = SWIG_CheckState(res);
12891  }
12892  if (_v) {
12893  return _wrap_Solver_SumEquality__SWIG_0(self, args);
12894  }
12895  }
12896  }
12897  }
12898 
12899 fail:
12900  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_SumEquality'.\n"
12901  " Possible C/C++ prototypes are:\n"
12902  " operations_research::Solver::MakeSumEquality(std::vector< operations_research::IntVar * > const &,int64_t)\n"
12903  " operations_research::Solver::MakeSumEquality(std::vector< operations_research::IntVar * > const &,operations_research::IntVar *const)\n");
12904  return 0;
12905 }
12906 
12907 
12908 SWIGINTERN PyObject *_wrap_Solver_ScalProdEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12909  PyObject *resultobj = 0;
12911  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12912  std::vector< int64_t > *arg3 = 0 ;
12913  int64_t arg4 ;
12914  void *argp1 = 0 ;
12915  int res1 = 0 ;
12916  std::vector< operations_research::IntVar * > temp2 ;
12917  std::vector< int64_t > temp3 ;
12918  long val4 ;
12919  int ecode4 = 0 ;
12920  PyObject * obj0 = 0 ;
12921  PyObject * obj1 = 0 ;
12922  PyObject * obj2 = 0 ;
12923  PyObject * obj3 = 0 ;
12924  operations_research::Constraint *result = 0 ;
12925 
12926  if (!PyArg_UnpackTuple(args, "Solver_ScalProdEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12927  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12928  if (!SWIG_IsOK(res1)) {
12929  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
12930  }
12931  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12932  {
12933  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12934  if (!PyErr_Occurred())
12935  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12936  return NULL;
12937  }
12938  arg2 = &temp2;
12939  }
12940  {
12941  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
12942  if (!PyErr_Occurred())
12943  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
12944  return NULL;
12945  }
12946  arg3 = &temp3;
12947  }
12948  ecode4 = SWIG_AsVal_long(obj3, &val4);
12949  if (!SWIG_IsOK(ecode4)) {
12950  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdEquality" "', argument " "4"" of type '" "int64_t""'");
12951  }
12952  arg4 = static_cast< int64_t >(val4);
12953  {
12954  try {
12955  result = (operations_research::Constraint *)(arg1)->MakeScalProdEquality((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
12956  }
12957  catch (Swig::DirectorException &e) {
12958  SWIG_fail;
12959  }
12960  }
12962  return resultobj;
12963 fail:
12964  return NULL;
12965 }
12966 
12967 
12968 SWIGINTERN PyObject *_wrap_Solver_ScalProdEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
12969  PyObject *resultobj = 0;
12971  std::vector< operations_research::IntVar * > *arg2 = 0 ;
12972  std::vector< int > *arg3 = 0 ;
12973  int64_t arg4 ;
12974  void *argp1 = 0 ;
12975  int res1 = 0 ;
12976  std::vector< operations_research::IntVar * > temp2 ;
12977  std::vector< int > temp3 ;
12978  long val4 ;
12979  int ecode4 = 0 ;
12980  PyObject * obj0 = 0 ;
12981  PyObject * obj1 = 0 ;
12982  PyObject * obj2 = 0 ;
12983  PyObject * obj3 = 0 ;
12984  operations_research::Constraint *result = 0 ;
12985 
12986  if (!PyArg_UnpackTuple(args, "Solver_ScalProdEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
12987  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
12988  if (!SWIG_IsOK(res1)) {
12989  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
12990  }
12991  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
12992  {
12993  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
12994  if (!PyErr_Occurred())
12995  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
12996  return NULL;
12997  }
12998  arg2 = &temp2;
12999  }
13000  {
13001  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
13002  if (!PyErr_Occurred())
13003  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
13004  return NULL;
13005  }
13006  arg3 = &temp3;
13007  }
13008  ecode4 = SWIG_AsVal_long(obj3, &val4);
13009  if (!SWIG_IsOK(ecode4)) {
13010  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdEquality" "', argument " "4"" of type '" "int64_t""'");
13011  }
13012  arg4 = static_cast< int64_t >(val4);
13013  {
13014  try {
13015  result = (operations_research::Constraint *)(arg1)->MakeScalProdEquality((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
13016  }
13017  catch (Swig::DirectorException &e) {
13018  SWIG_fail;
13019  }
13020  }
13022  return resultobj;
13023 fail:
13024  return NULL;
13025 }
13026 
13027 
13028 SWIGINTERN PyObject *_wrap_Solver_ScalProdEquality__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13029  PyObject *resultobj = 0;
13031  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13032  std::vector< int64_t > *arg3 = 0 ;
13034  void *argp1 = 0 ;
13035  int res1 = 0 ;
13036  std::vector< operations_research::IntVar * > temp2 ;
13037  std::vector< int64_t > temp3 ;
13038  PyObject * obj0 = 0 ;
13039  PyObject * obj1 = 0 ;
13040  PyObject * obj2 = 0 ;
13041  PyObject * obj3 = 0 ;
13042  operations_research::Constraint *result = 0 ;
13043 
13044  if (!PyArg_UnpackTuple(args, "Solver_ScalProdEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13045  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13046  if (!SWIG_IsOK(res1)) {
13047  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13048  }
13049  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13050  {
13051  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13052  if (!PyErr_Occurred())
13053  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13054  return NULL;
13055  }
13056  arg2 = &temp2;
13057  }
13058  {
13059  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
13060  if (!PyErr_Occurred())
13061  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
13062  return NULL;
13063  }
13064  arg3 = &temp3;
13065  }
13066  {
13067  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
13068  }
13069  {
13070  try {
13071  result = (operations_research::Constraint *)(arg1)->MakeScalProdEquality((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
13072  }
13073  catch (Swig::DirectorException &e) {
13074  SWIG_fail;
13075  }
13076  }
13078  return resultobj;
13079 fail:
13080  return NULL;
13081 }
13082 
13083 
13084 SWIGINTERN PyObject *_wrap_Solver_ScalProdEquality__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13085  PyObject *resultobj = 0;
13087  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13088  std::vector< int > *arg3 = 0 ;
13090  void *argp1 = 0 ;
13091  int res1 = 0 ;
13092  std::vector< operations_research::IntVar * > temp2 ;
13093  std::vector< int > temp3 ;
13094  PyObject * obj0 = 0 ;
13095  PyObject * obj1 = 0 ;
13096  PyObject * obj2 = 0 ;
13097  PyObject * obj3 = 0 ;
13098  operations_research::Constraint *result = 0 ;
13099 
13100  if (!PyArg_UnpackTuple(args, "Solver_ScalProdEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13101  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13102  if (!SWIG_IsOK(res1)) {
13103  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13104  }
13105  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13106  {
13107  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13108  if (!PyErr_Occurred())
13109  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13110  return NULL;
13111  }
13112  arg2 = &temp2;
13113  }
13114  {
13115  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
13116  if (!PyErr_Occurred())
13117  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
13118  return NULL;
13119  }
13120  arg3 = &temp3;
13121  }
13122  {
13123  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
13124  }
13125  {
13126  try {
13127  result = (operations_research::Constraint *)(arg1)->MakeScalProdEquality((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
13128  }
13129  catch (Swig::DirectorException &e) {
13130  SWIG_fail;
13131  }
13132  }
13134  return resultobj;
13135 fail:
13136  return NULL;
13137 }
13138 
13139 
13140 SWIGINTERN PyObject *_wrap_Solver_ScalProdEquality(PyObject *self, PyObject *args) {
13141  Py_ssize_t argc;
13142  PyObject *argv[5] = {
13143  0
13144  };
13145  Py_ssize_t ii;
13146 
13147  if (!PyTuple_Check(args)) SWIG_fail;
13148  argc = PyObject_Length(args);
13149  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
13150  argv[ii] = PyTuple_GET_ITEM(args,ii);
13151  }
13152  if (argc == 4) {
13153  int _v;
13154  void *vptr = 0;
13155  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13156  _v = SWIG_CheckState(res);
13157  if (_v) {
13158  {
13159  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13160  _v = 0;
13161  } else {
13162  const bool is_tuple = PyTuple_Check(argv[1]);
13163  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13164  size_t i = 0;
13165  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13166  :PyList_GetItem(argv[1], i))) {
13167  ++i;
13168  }
13169  _v = i == size;
13170  }
13171  }
13172  if (_v) {
13173  {
13174  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13175  _v = 0;
13176  } else {
13177  const bool is_tuple = PyTuple_Check(argv[2]);
13178  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13179  size_t i = 0;
13180  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13181  :PyList_GetItem(argv[2], i))) {
13182  ++i;
13183  }
13184  _v = i == size;
13185  }
13186  }
13187  if (_v) {
13188  {
13189  _v = CanConvertToIntVar(argv[3]);
13190  if (_v == 0) PyErr_Clear();
13191  }
13192  if (_v) {
13193  return _wrap_Solver_ScalProdEquality__SWIG_2(self, args);
13194  }
13195  }
13196  }
13197  }
13198  }
13199  if (argc == 4) {
13200  int _v;
13201  void *vptr = 0;
13202  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13203  _v = SWIG_CheckState(res);
13204  if (_v) {
13205  {
13206  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13207  _v = 0;
13208  } else {
13209  const bool is_tuple = PyTuple_Check(argv[1]);
13210  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13211  size_t i = 0;
13212  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13213  :PyList_GetItem(argv[1], i))) {
13214  ++i;
13215  }
13216  _v = i == size;
13217  }
13218  }
13219  if (_v) {
13220  {
13221  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13222  _v = 0;
13223  } else {
13224  const bool is_tuple = PyTuple_Check(argv[2]);
13225  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13226  size_t i = 0;
13227  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13228  :PyList_GetItem(argv[2], i))) {
13229  ++i;
13230  }
13231  _v = i == size;
13232  }
13233  }
13234  if (_v) {
13235  {
13236  _v = CanConvertToIntVar(argv[3]);
13237  if (_v == 0) PyErr_Clear();
13238  }
13239  if (_v) {
13240  return _wrap_Solver_ScalProdEquality__SWIG_3(self, args);
13241  }
13242  }
13243  }
13244  }
13245  }
13246  if (argc == 4) {
13247  int _v;
13248  void *vptr = 0;
13249  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13250  _v = SWIG_CheckState(res);
13251  if (_v) {
13252  {
13253  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13254  _v = 0;
13255  } else {
13256  const bool is_tuple = PyTuple_Check(argv[1]);
13257  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13258  size_t i = 0;
13259  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13260  :PyList_GetItem(argv[1], i))) {
13261  ++i;
13262  }
13263  _v = i == size;
13264  }
13265  }
13266  if (_v) {
13267  {
13268  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13269  _v = 0;
13270  } else {
13271  const bool is_tuple = PyTuple_Check(argv[2]);
13272  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13273  size_t i = 0;
13274  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13275  :PyList_GetItem(argv[2], i))) {
13276  ++i;
13277  }
13278  _v = i == size;
13279  }
13280  }
13281  if (_v) {
13282  {
13283  int res = SWIG_AsVal_long(argv[3], NULL);
13284  _v = SWIG_CheckState(res);
13285  }
13286  if (_v) {
13287  return _wrap_Solver_ScalProdEquality__SWIG_0(self, args);
13288  }
13289  }
13290  }
13291  }
13292  }
13293  if (argc == 4) {
13294  int _v;
13295  void *vptr = 0;
13296  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13297  _v = SWIG_CheckState(res);
13298  if (_v) {
13299  {
13300  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13301  _v = 0;
13302  } else {
13303  const bool is_tuple = PyTuple_Check(argv[1]);
13304  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13305  size_t i = 0;
13306  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13307  :PyList_GetItem(argv[1], i))) {
13308  ++i;
13309  }
13310  _v = i == size;
13311  }
13312  }
13313  if (_v) {
13314  {
13315  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13316  _v = 0;
13317  } else {
13318  const bool is_tuple = PyTuple_Check(argv[2]);
13319  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13320  size_t i = 0;
13321  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13322  :PyList_GetItem(argv[2], i))) {
13323  ++i;
13324  }
13325  _v = i == size;
13326  }
13327  }
13328  if (_v) {
13329  {
13330  int res = SWIG_AsVal_long(argv[3], NULL);
13331  _v = SWIG_CheckState(res);
13332  }
13333  if (_v) {
13334  return _wrap_Solver_ScalProdEquality__SWIG_1(self, args);
13335  }
13336  }
13337  }
13338  }
13339  }
13340 
13341 fail:
13342  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ScalProdEquality'.\n"
13343  " Possible C/C++ prototypes are:\n"
13344  " operations_research::Solver::MakeScalProdEquality(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
13345  " operations_research::Solver::MakeScalProdEquality(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n"
13346  " operations_research::Solver::MakeScalProdEquality(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,operations_research::IntVar *const)\n"
13347  " operations_research::Solver::MakeScalProdEquality(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,operations_research::IntVar *const)\n");
13348  return 0;
13349 }
13350 
13351 
13352 SWIGINTERN PyObject *_wrap_Solver_ScalProdGreaterOrEqual__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13353  PyObject *resultobj = 0;
13355  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13356  std::vector< int64_t > *arg3 = 0 ;
13357  int64_t arg4 ;
13358  void *argp1 = 0 ;
13359  int res1 = 0 ;
13360  std::vector< operations_research::IntVar * > temp2 ;
13361  std::vector< int64_t > temp3 ;
13362  long val4 ;
13363  int ecode4 = 0 ;
13364  PyObject * obj0 = 0 ;
13365  PyObject * obj1 = 0 ;
13366  PyObject * obj2 = 0 ;
13367  PyObject * obj3 = 0 ;
13368  operations_research::Constraint *result = 0 ;
13369 
13370  if (!PyArg_UnpackTuple(args, "Solver_ScalProdGreaterOrEqual", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13371  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13372  if (!SWIG_IsOK(res1)) {
13373  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdGreaterOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
13374  }
13375  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13376  {
13377  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13378  if (!PyErr_Occurred())
13379  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13380  return NULL;
13381  }
13382  arg2 = &temp2;
13383  }
13384  {
13385  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
13386  if (!PyErr_Occurred())
13387  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
13388  return NULL;
13389  }
13390  arg3 = &temp3;
13391  }
13392  ecode4 = SWIG_AsVal_long(obj3, &val4);
13393  if (!SWIG_IsOK(ecode4)) {
13394  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdGreaterOrEqual" "', argument " "4"" of type '" "int64_t""'");
13395  }
13396  arg4 = static_cast< int64_t >(val4);
13397  {
13398  try {
13399  result = (operations_research::Constraint *)(arg1)->MakeScalProdGreaterOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
13400  }
13401  catch (Swig::DirectorException &e) {
13402  SWIG_fail;
13403  }
13404  }
13406  return resultobj;
13407 fail:
13408  return NULL;
13409 }
13410 
13411 
13412 SWIGINTERN PyObject *_wrap_Solver_ScalProdGreaterOrEqual__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13413  PyObject *resultobj = 0;
13415  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13416  std::vector< int > *arg3 = 0 ;
13417  int64_t arg4 ;
13418  void *argp1 = 0 ;
13419  int res1 = 0 ;
13420  std::vector< operations_research::IntVar * > temp2 ;
13421  std::vector< int > temp3 ;
13422  long val4 ;
13423  int ecode4 = 0 ;
13424  PyObject * obj0 = 0 ;
13425  PyObject * obj1 = 0 ;
13426  PyObject * obj2 = 0 ;
13427  PyObject * obj3 = 0 ;
13428  operations_research::Constraint *result = 0 ;
13429 
13430  if (!PyArg_UnpackTuple(args, "Solver_ScalProdGreaterOrEqual", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13431  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13432  if (!SWIG_IsOK(res1)) {
13433  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdGreaterOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
13434  }
13435  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13436  {
13437  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13438  if (!PyErr_Occurred())
13439  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13440  return NULL;
13441  }
13442  arg2 = &temp2;
13443  }
13444  {
13445  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
13446  if (!PyErr_Occurred())
13447  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
13448  return NULL;
13449  }
13450  arg3 = &temp3;
13451  }
13452  ecode4 = SWIG_AsVal_long(obj3, &val4);
13453  if (!SWIG_IsOK(ecode4)) {
13454  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdGreaterOrEqual" "', argument " "4"" of type '" "int64_t""'");
13455  }
13456  arg4 = static_cast< int64_t >(val4);
13457  {
13458  try {
13459  result = (operations_research::Constraint *)(arg1)->MakeScalProdGreaterOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
13460  }
13461  catch (Swig::DirectorException &e) {
13462  SWIG_fail;
13463  }
13464  }
13466  return resultobj;
13467 fail:
13468  return NULL;
13469 }
13470 
13471 
13472 SWIGINTERN PyObject *_wrap_Solver_ScalProdGreaterOrEqual(PyObject *self, PyObject *args) {
13473  Py_ssize_t argc;
13474  PyObject *argv[5] = {
13475  0
13476  };
13477  Py_ssize_t ii;
13478 
13479  if (!PyTuple_Check(args)) SWIG_fail;
13480  argc = PyObject_Length(args);
13481  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
13482  argv[ii] = PyTuple_GET_ITEM(args,ii);
13483  }
13484  if (argc == 4) {
13485  int _v;
13486  void *vptr = 0;
13487  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13488  _v = SWIG_CheckState(res);
13489  if (_v) {
13490  {
13491  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13492  _v = 0;
13493  } else {
13494  const bool is_tuple = PyTuple_Check(argv[1]);
13495  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13496  size_t i = 0;
13497  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13498  :PyList_GetItem(argv[1], i))) {
13499  ++i;
13500  }
13501  _v = i == size;
13502  }
13503  }
13504  if (_v) {
13505  {
13506  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13507  _v = 0;
13508  } else {
13509  const bool is_tuple = PyTuple_Check(argv[2]);
13510  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13511  size_t i = 0;
13512  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13513  :PyList_GetItem(argv[2], i))) {
13514  ++i;
13515  }
13516  _v = i == size;
13517  }
13518  }
13519  if (_v) {
13520  {
13521  int res = SWIG_AsVal_long(argv[3], NULL);
13522  _v = SWIG_CheckState(res);
13523  }
13524  if (_v) {
13526  }
13527  }
13528  }
13529  }
13530  }
13531  if (argc == 4) {
13532  int _v;
13533  void *vptr = 0;
13534  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13535  _v = SWIG_CheckState(res);
13536  if (_v) {
13537  {
13538  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13539  _v = 0;
13540  } else {
13541  const bool is_tuple = PyTuple_Check(argv[1]);
13542  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13543  size_t i = 0;
13544  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13545  :PyList_GetItem(argv[1], i))) {
13546  ++i;
13547  }
13548  _v = i == size;
13549  }
13550  }
13551  if (_v) {
13552  {
13553  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13554  _v = 0;
13555  } else {
13556  const bool is_tuple = PyTuple_Check(argv[2]);
13557  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13558  size_t i = 0;
13559  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13560  :PyList_GetItem(argv[2], i))) {
13561  ++i;
13562  }
13563  _v = i == size;
13564  }
13565  }
13566  if (_v) {
13567  {
13568  int res = SWIG_AsVal_long(argv[3], NULL);
13569  _v = SWIG_CheckState(res);
13570  }
13571  if (_v) {
13573  }
13574  }
13575  }
13576  }
13577  }
13578 
13579 fail:
13580  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ScalProdGreaterOrEqual'.\n"
13581  " Possible C/C++ prototypes are:\n"
13582  " operations_research::Solver::MakeScalProdGreaterOrEqual(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
13583  " operations_research::Solver::MakeScalProdGreaterOrEqual(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n");
13584  return 0;
13585 }
13586 
13587 
13588 SWIGINTERN PyObject *_wrap_Solver_ScalProdLessOrEqual__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13589  PyObject *resultobj = 0;
13591  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13592  std::vector< int64_t > *arg3 = 0 ;
13593  int64_t arg4 ;
13594  void *argp1 = 0 ;
13595  int res1 = 0 ;
13596  std::vector< operations_research::IntVar * > temp2 ;
13597  std::vector< int64_t > temp3 ;
13598  long val4 ;
13599  int ecode4 = 0 ;
13600  PyObject * obj0 = 0 ;
13601  PyObject * obj1 = 0 ;
13602  PyObject * obj2 = 0 ;
13603  PyObject * obj3 = 0 ;
13604  operations_research::Constraint *result = 0 ;
13605 
13606  if (!PyArg_UnpackTuple(args, "Solver_ScalProdLessOrEqual", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13607  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13608  if (!SWIG_IsOK(res1)) {
13609  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdLessOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
13610  }
13611  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13612  {
13613  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13614  if (!PyErr_Occurred())
13615  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13616  return NULL;
13617  }
13618  arg2 = &temp2;
13619  }
13620  {
13621  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
13622  if (!PyErr_Occurred())
13623  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
13624  return NULL;
13625  }
13626  arg3 = &temp3;
13627  }
13628  ecode4 = SWIG_AsVal_long(obj3, &val4);
13629  if (!SWIG_IsOK(ecode4)) {
13630  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdLessOrEqual" "', argument " "4"" of type '" "int64_t""'");
13631  }
13632  arg4 = static_cast< int64_t >(val4);
13633  {
13634  try {
13635  result = (operations_research::Constraint *)(arg1)->MakeScalProdLessOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
13636  }
13637  catch (Swig::DirectorException &e) {
13638  SWIG_fail;
13639  }
13640  }
13642  return resultobj;
13643 fail:
13644  return NULL;
13645 }
13646 
13647 
13648 SWIGINTERN PyObject *_wrap_Solver_ScalProdLessOrEqual__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13649  PyObject *resultobj = 0;
13651  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13652  std::vector< int > *arg3 = 0 ;
13653  int64_t arg4 ;
13654  void *argp1 = 0 ;
13655  int res1 = 0 ;
13656  std::vector< operations_research::IntVar * > temp2 ;
13657  std::vector< int > temp3 ;
13658  long val4 ;
13659  int ecode4 = 0 ;
13660  PyObject * obj0 = 0 ;
13661  PyObject * obj1 = 0 ;
13662  PyObject * obj2 = 0 ;
13663  PyObject * obj3 = 0 ;
13664  operations_research::Constraint *result = 0 ;
13665 
13666  if (!PyArg_UnpackTuple(args, "Solver_ScalProdLessOrEqual", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13667  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13668  if (!SWIG_IsOK(res1)) {
13669  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScalProdLessOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
13670  }
13671  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13672  {
13673  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13674  if (!PyErr_Occurred())
13675  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13676  return NULL;
13677  }
13678  arg2 = &temp2;
13679  }
13680  {
13681  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
13682  if (!PyErr_Occurred())
13683  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
13684  return NULL;
13685  }
13686  arg3 = &temp3;
13687  }
13688  ecode4 = SWIG_AsVal_long(obj3, &val4);
13689  if (!SWIG_IsOK(ecode4)) {
13690  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ScalProdLessOrEqual" "', argument " "4"" of type '" "int64_t""'");
13691  }
13692  arg4 = static_cast< int64_t >(val4);
13693  {
13694  try {
13695  result = (operations_research::Constraint *)(arg1)->MakeScalProdLessOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
13696  }
13697  catch (Swig::DirectorException &e) {
13698  SWIG_fail;
13699  }
13700  }
13702  return resultobj;
13703 fail:
13704  return NULL;
13705 }
13706 
13707 
13708 SWIGINTERN PyObject *_wrap_Solver_ScalProdLessOrEqual(PyObject *self, PyObject *args) {
13709  Py_ssize_t argc;
13710  PyObject *argv[5] = {
13711  0
13712  };
13713  Py_ssize_t ii;
13714 
13715  if (!PyTuple_Check(args)) SWIG_fail;
13716  argc = PyObject_Length(args);
13717  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
13718  argv[ii] = PyTuple_GET_ITEM(args,ii);
13719  }
13720  if (argc == 4) {
13721  int _v;
13722  void *vptr = 0;
13723  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13724  _v = SWIG_CheckState(res);
13725  if (_v) {
13726  {
13727  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13728  _v = 0;
13729  } else {
13730  const bool is_tuple = PyTuple_Check(argv[1]);
13731  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13732  size_t i = 0;
13733  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13734  :PyList_GetItem(argv[1], i))) {
13735  ++i;
13736  }
13737  _v = i == size;
13738  }
13739  }
13740  if (_v) {
13741  {
13742  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13743  _v = 0;
13744  } else {
13745  const bool is_tuple = PyTuple_Check(argv[2]);
13746  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13747  size_t i = 0;
13748  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13749  :PyList_GetItem(argv[2], i))) {
13750  ++i;
13751  }
13752  _v = i == size;
13753  }
13754  }
13755  if (_v) {
13756  {
13757  int res = SWIG_AsVal_long(argv[3], NULL);
13758  _v = SWIG_CheckState(res);
13759  }
13760  if (_v) {
13761  return _wrap_Solver_ScalProdLessOrEqual__SWIG_0(self, args);
13762  }
13763  }
13764  }
13765  }
13766  }
13767  if (argc == 4) {
13768  int _v;
13769  void *vptr = 0;
13770  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
13771  _v = SWIG_CheckState(res);
13772  if (_v) {
13773  {
13774  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
13775  _v = 0;
13776  } else {
13777  const bool is_tuple = PyTuple_Check(argv[1]);
13778  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
13779  size_t i = 0;
13780  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
13781  :PyList_GetItem(argv[1], i))) {
13782  ++i;
13783  }
13784  _v = i == size;
13785  }
13786  }
13787  if (_v) {
13788  {
13789  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
13790  _v = 0;
13791  } else {
13792  const bool is_tuple = PyTuple_Check(argv[2]);
13793  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
13794  size_t i = 0;
13795  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
13796  :PyList_GetItem(argv[2], i))) {
13797  ++i;
13798  }
13799  _v = i == size;
13800  }
13801  }
13802  if (_v) {
13803  {
13804  int res = SWIG_AsVal_long(argv[3], NULL);
13805  _v = SWIG_CheckState(res);
13806  }
13807  if (_v) {
13808  return _wrap_Solver_ScalProdLessOrEqual__SWIG_1(self, args);
13809  }
13810  }
13811  }
13812  }
13813  }
13814 
13815 fail:
13816  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ScalProdLessOrEqual'.\n"
13817  " Possible C/C++ prototypes are:\n"
13818  " operations_research::Solver::MakeScalProdLessOrEqual(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
13819  " operations_research::Solver::MakeScalProdLessOrEqual(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n");
13820  return 0;
13821 }
13822 
13823 
13824 SWIGINTERN PyObject *_wrap_Solver_MinEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13825  PyObject *resultobj = 0;
13827  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13829  void *argp1 = 0 ;
13830  int res1 = 0 ;
13831  std::vector< operations_research::IntVar * > temp2 ;
13832  PyObject * obj0 = 0 ;
13833  PyObject * obj1 = 0 ;
13834  PyObject * obj2 = 0 ;
13835  operations_research::Constraint *result = 0 ;
13836 
13837  if (!PyArg_UnpackTuple(args, "Solver_MinEquality", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
13838  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13839  if (!SWIG_IsOK(res1)) {
13840  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MinEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13841  }
13842  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13843  {
13844  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13845  if (!PyErr_Occurred())
13846  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13847  return NULL;
13848  }
13849  arg2 = &temp2;
13850  }
13851  {
13852  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
13853  }
13854  {
13855  try {
13856  result = (operations_research::Constraint *)(arg1)->MakeMinEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
13857  }
13858  catch (Swig::DirectorException &e) {
13859  SWIG_fail;
13860  }
13861  }
13863  return resultobj;
13864 fail:
13865  return NULL;
13866 }
13867 
13868 
13869 SWIGINTERN PyObject *_wrap_Solver_MaxEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13870  PyObject *resultobj = 0;
13872  std::vector< operations_research::IntVar * > *arg2 = 0 ;
13874  void *argp1 = 0 ;
13875  int res1 = 0 ;
13876  std::vector< operations_research::IntVar * > temp2 ;
13877  PyObject * obj0 = 0 ;
13878  PyObject * obj1 = 0 ;
13879  PyObject * obj2 = 0 ;
13880  operations_research::Constraint *result = 0 ;
13881 
13882  if (!PyArg_UnpackTuple(args, "Solver_MaxEquality", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
13883  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13884  if (!SWIG_IsOK(res1)) {
13885  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MaxEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13886  }
13887  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13888  {
13889  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
13890  if (!PyErr_Occurred())
13891  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
13892  return NULL;
13893  }
13894  arg2 = &temp2;
13895  }
13896  {
13897  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
13898  }
13899  {
13900  try {
13901  result = (operations_research::Constraint *)(arg1)->MakeMaxEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
13902  }
13903  catch (Swig::DirectorException &e) {
13904  SWIG_fail;
13905  }
13906  }
13908  return resultobj;
13909 fail:
13910  return NULL;
13911 }
13912 
13913 
13914 SWIGINTERN PyObject *_wrap_Solver_ElementEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13915  PyObject *resultobj = 0;
13917  std::vector< int64_t > *arg2 = 0 ;
13920  void *argp1 = 0 ;
13921  int res1 = 0 ;
13922  std::vector< int64_t > temp2 ;
13923  PyObject * obj0 = 0 ;
13924  PyObject * obj1 = 0 ;
13925  PyObject * obj2 = 0 ;
13926  PyObject * obj3 = 0 ;
13927  operations_research::Constraint *result = 0 ;
13928 
13929  if (!PyArg_UnpackTuple(args, "Solver_ElementEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13930  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13931  if (!SWIG_IsOK(res1)) {
13932  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ElementEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13933  }
13934  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13935  {
13936  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
13937  if (!PyErr_Occurred())
13938  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
13939  return NULL;
13940  }
13941  arg2 = &temp2;
13942  }
13943  {
13944  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
13945  }
13946  {
13947  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
13948  }
13949  {
13950  try {
13951  result = (operations_research::Constraint *)(arg1)->MakeElementEquality((std::vector< int64_t > const &)*arg2,arg3,arg4);
13952  }
13953  catch (Swig::DirectorException &e) {
13954  SWIG_fail;
13955  }
13956  }
13958  return resultobj;
13959 fail:
13960  return NULL;
13961 }
13962 
13963 
13964 SWIGINTERN PyObject *_wrap_Solver_ElementEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
13965  PyObject *resultobj = 0;
13967  std::vector< int > *arg2 = 0 ;
13970  void *argp1 = 0 ;
13971  int res1 = 0 ;
13972  std::vector< int > temp2 ;
13973  PyObject * obj0 = 0 ;
13974  PyObject * obj1 = 0 ;
13975  PyObject * obj2 = 0 ;
13976  PyObject * obj3 = 0 ;
13977  operations_research::Constraint *result = 0 ;
13978 
13979  if (!PyArg_UnpackTuple(args, "Solver_ElementEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
13980  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
13981  if (!SWIG_IsOK(res1)) {
13982  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ElementEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
13983  }
13984  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
13985  {
13986  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
13987  if (!PyErr_Occurred())
13988  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
13989  return NULL;
13990  }
13991  arg2 = &temp2;
13992  }
13993  {
13994  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
13995  }
13996  {
13997  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
13998  }
13999  {
14000  try {
14001  result = (operations_research::Constraint *)(arg1)->MakeElementEquality((std::vector< int > const &)*arg2,arg3,arg4);
14002  }
14003  catch (Swig::DirectorException &e) {
14004  SWIG_fail;
14005  }
14006  }
14008  return resultobj;
14009 fail:
14010  return NULL;
14011 }
14012 
14013 
14014 SWIGINTERN PyObject *_wrap_Solver_ElementEquality__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14015  PyObject *resultobj = 0;
14017  std::vector< operations_research::IntVar * > *arg2 = 0 ;
14020  void *argp1 = 0 ;
14021  int res1 = 0 ;
14022  std::vector< operations_research::IntVar * > temp2 ;
14023  PyObject * obj0 = 0 ;
14024  PyObject * obj1 = 0 ;
14025  PyObject * obj2 = 0 ;
14026  PyObject * obj3 = 0 ;
14027  operations_research::Constraint *result = 0 ;
14028 
14029  if (!PyArg_UnpackTuple(args, "Solver_ElementEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14030  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14031  if (!SWIG_IsOK(res1)) {
14032  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ElementEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
14033  }
14034  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14035  {
14036  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
14037  if (!PyErr_Occurred())
14038  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
14039  return NULL;
14040  }
14041  arg2 = &temp2;
14042  }
14043  {
14044  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
14045  }
14046  {
14047  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
14048  }
14049  {
14050  try {
14051  result = (operations_research::Constraint *)(arg1)->MakeElementEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
14052  }
14053  catch (Swig::DirectorException &e) {
14054  SWIG_fail;
14055  }
14056  }
14058  return resultobj;
14059 fail:
14060  return NULL;
14061 }
14062 
14063 
14064 SWIGINTERN PyObject *_wrap_Solver_ElementEquality__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14065  PyObject *resultobj = 0;
14067  std::vector< operations_research::IntVar * > *arg2 = 0 ;
14069  int64_t arg4 ;
14070  void *argp1 = 0 ;
14071  int res1 = 0 ;
14072  std::vector< operations_research::IntVar * > temp2 ;
14073  long val4 ;
14074  int ecode4 = 0 ;
14075  PyObject * obj0 = 0 ;
14076  PyObject * obj1 = 0 ;
14077  PyObject * obj2 = 0 ;
14078  PyObject * obj3 = 0 ;
14079  operations_research::Constraint *result = 0 ;
14080 
14081  if (!PyArg_UnpackTuple(args, "Solver_ElementEquality", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14082  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14083  if (!SWIG_IsOK(res1)) {
14084  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ElementEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
14085  }
14086  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14087  {
14088  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
14089  if (!PyErr_Occurred())
14090  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
14091  return NULL;
14092  }
14093  arg2 = &temp2;
14094  }
14095  {
14096  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
14097  }
14098  ecode4 = SWIG_AsVal_long(obj3, &val4);
14099  if (!SWIG_IsOK(ecode4)) {
14100  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_ElementEquality" "', argument " "4"" of type '" "int64_t""'");
14101  }
14102  arg4 = static_cast< int64_t >(val4);
14103  {
14104  try {
14105  result = (operations_research::Constraint *)(arg1)->MakeElementEquality((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
14106  }
14107  catch (Swig::DirectorException &e) {
14108  SWIG_fail;
14109  }
14110  }
14112  return resultobj;
14113 fail:
14114  return NULL;
14115 }
14116 
14117 
14118 SWIGINTERN PyObject *_wrap_Solver_ElementEquality(PyObject *self, PyObject *args) {
14119  Py_ssize_t argc;
14120  PyObject *argv[5] = {
14121  0
14122  };
14123  Py_ssize_t ii;
14124 
14125  if (!PyTuple_Check(args)) SWIG_fail;
14126  argc = PyObject_Length(args);
14127  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
14128  argv[ii] = PyTuple_GET_ITEM(args,ii);
14129  }
14130  if (argc == 4) {
14131  int _v;
14132  void *vptr = 0;
14133  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14134  _v = SWIG_CheckState(res);
14135  if (_v) {
14136  {
14137  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
14138  _v = 0;
14139  } else {
14140  const bool is_tuple = PyTuple_Check(argv[1]);
14141  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
14142  size_t i = 0;
14143  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
14144  :PyList_GetItem(argv[1], i))) {
14145  ++i;
14146  }
14147  _v = i == size;
14148  }
14149  }
14150  if (_v) {
14151  {
14152  _v = CanConvertToIntVar(argv[2]);
14153  if (_v == 0) PyErr_Clear();
14154  }
14155  if (_v) {
14156  {
14157  _v = CanConvertToIntVar(argv[3]);
14158  if (_v == 0) PyErr_Clear();
14159  }
14160  if (_v) {
14161  return _wrap_Solver_ElementEquality__SWIG_0(self, args);
14162  }
14163  }
14164  }
14165  }
14166  }
14167  if (argc == 4) {
14168  int _v;
14169  void *vptr = 0;
14170  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14171  _v = SWIG_CheckState(res);
14172  if (_v) {
14173  {
14174  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
14175  _v = 0;
14176  } else {
14177  const bool is_tuple = PyTuple_Check(argv[1]);
14178  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
14179  size_t i = 0;
14180  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
14181  :PyList_GetItem(argv[1], i))) {
14182  ++i;
14183  }
14184  _v = i == size;
14185  }
14186  }
14187  if (_v) {
14188  {
14189  _v = CanConvertToIntVar(argv[2]);
14190  if (_v == 0) PyErr_Clear();
14191  }
14192  if (_v) {
14193  {
14194  _v = CanConvertToIntVar(argv[3]);
14195  if (_v == 0) PyErr_Clear();
14196  }
14197  if (_v) {
14198  return _wrap_Solver_ElementEquality__SWIG_1(self, args);
14199  }
14200  }
14201  }
14202  }
14203  }
14204  if (argc == 4) {
14205  int _v;
14206  void *vptr = 0;
14207  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14208  _v = SWIG_CheckState(res);
14209  if (_v) {
14210  {
14211  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
14212  _v = 0;
14213  } else {
14214  const bool is_tuple = PyTuple_Check(argv[1]);
14215  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
14216  size_t i = 0;
14217  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
14218  :PyList_GetItem(argv[1], i))) {
14219  ++i;
14220  }
14221  _v = i == size;
14222  }
14223  }
14224  if (_v) {
14225  {
14226  _v = CanConvertToIntVar(argv[2]);
14227  if (_v == 0) PyErr_Clear();
14228  }
14229  if (_v) {
14230  {
14231  _v = CanConvertToIntVar(argv[3]);
14232  if (_v == 0) PyErr_Clear();
14233  }
14234  if (_v) {
14235  return _wrap_Solver_ElementEquality__SWIG_2(self, args);
14236  }
14237  }
14238  }
14239  }
14240  }
14241  if (argc == 4) {
14242  int _v;
14243  void *vptr = 0;
14244  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14245  _v = SWIG_CheckState(res);
14246  if (_v) {
14247  {
14248  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
14249  _v = 0;
14250  } else {
14251  const bool is_tuple = PyTuple_Check(argv[1]);
14252  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
14253  size_t i = 0;
14254  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
14255  :PyList_GetItem(argv[1], i))) {
14256  ++i;
14257  }
14258  _v = i == size;
14259  }
14260  }
14261  if (_v) {
14262  {
14263  _v = CanConvertToIntVar(argv[2]);
14264  if (_v == 0) PyErr_Clear();
14265  }
14266  if (_v) {
14267  {
14268  int res = SWIG_AsVal_long(argv[3], NULL);
14269  _v = SWIG_CheckState(res);
14270  }
14271  if (_v) {
14272  return _wrap_Solver_ElementEquality__SWIG_3(self, args);
14273  }
14274  }
14275  }
14276  }
14277  }
14278 
14279 fail:
14280  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ElementEquality'.\n"
14281  " Possible C/C++ prototypes are:\n"
14282  " operations_research::Solver::MakeElementEquality(std::vector< int64_t > const &,operations_research::IntVar *const,operations_research::IntVar *const)\n"
14283  " operations_research::Solver::MakeElementEquality(std::vector< int > const &,operations_research::IntVar *const,operations_research::IntVar *const)\n"
14284  " operations_research::Solver::MakeElementEquality(std::vector< operations_research::IntVar * > const &,operations_research::IntVar *const,operations_research::IntVar *const)\n"
14285  " operations_research::Solver::MakeElementEquality(std::vector< operations_research::IntVar * > const &,operations_research::IntVar *const,int64_t)\n");
14286  return 0;
14287 }
14288 
14289 
14290 SWIGINTERN PyObject *_wrap_Solver_AbsEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14291  PyObject *resultobj = 0;
14295  void *argp1 = 0 ;
14296  int res1 = 0 ;
14297  PyObject * obj0 = 0 ;
14298  PyObject * obj1 = 0 ;
14299  PyObject * obj2 = 0 ;
14300  operations_research::Constraint *result = 0 ;
14301 
14302  if (!PyArg_UnpackTuple(args, "Solver_AbsEquality", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
14303  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14304  if (!SWIG_IsOK(res1)) {
14305  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AbsEquality" "', argument " "1"" of type '" "operations_research::Solver *""'");
14306  }
14307  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14308  {
14309  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14310  }
14311  {
14312  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
14313  }
14314  {
14315  try {
14316  result = (operations_research::Constraint *)(arg1)->MakeAbsEquality(arg2,arg3);
14317  }
14318  catch (Swig::DirectorException &e) {
14319  SWIG_fail;
14320  }
14321  }
14323  return resultobj;
14324 fail:
14325  return NULL;
14326 }
14327 
14328 
14329 SWIGINTERN PyObject *_wrap_Solver_IndexOfConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14330  PyObject *resultobj = 0;
14332  std::vector< operations_research::IntVar * > *arg2 = 0 ;
14334  int64_t arg4 ;
14335  void *argp1 = 0 ;
14336  int res1 = 0 ;
14337  std::vector< operations_research::IntVar * > temp2 ;
14338  long val4 ;
14339  int ecode4 = 0 ;
14340  PyObject * obj0 = 0 ;
14341  PyObject * obj1 = 0 ;
14342  PyObject * obj2 = 0 ;
14343  PyObject * obj3 = 0 ;
14344  operations_research::Constraint *result = 0 ;
14345 
14346  if (!PyArg_UnpackTuple(args, "Solver_IndexOfConstraint", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14347  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14348  if (!SWIG_IsOK(res1)) {
14349  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IndexOfConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
14350  }
14351  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14352  {
14353  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
14354  if (!PyErr_Occurred())
14355  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
14356  return NULL;
14357  }
14358  arg2 = &temp2;
14359  }
14360  {
14361  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
14362  }
14363  ecode4 = SWIG_AsVal_long(obj3, &val4);
14364  if (!SWIG_IsOK(ecode4)) {
14365  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_IndexOfConstraint" "', argument " "4"" of type '" "int64_t""'");
14366  }
14367  arg4 = static_cast< int64_t >(val4);
14368  {
14369  try {
14370  result = (operations_research::Constraint *)(arg1)->MakeIndexOfConstraint((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
14371  }
14372  catch (Swig::DirectorException &e) {
14373  SWIG_fail;
14374  }
14375  }
14377  return resultobj;
14378 fail:
14379  return NULL;
14380 }
14381 
14382 
14384  PyObject *resultobj = 0;
14387  void *argp1 = 0 ;
14388  int res1 = 0 ;
14389  void *argp2 = 0 ;
14390  int res2 = 0 ;
14391  PyObject * obj0 = 0 ;
14392  PyObject * obj1 = 0 ;
14393  operations_research::Demon *result = 0 ;
14394 
14395  if (!PyArg_UnpackTuple(args, "Solver_ConstraintInitialPropagateCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
14396  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14397  if (!SWIG_IsOK(res1)) {
14398  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConstraintInitialPropagateCallback" "', argument " "1"" of type '" "operations_research::Solver *""'");
14399  }
14400  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14401  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
14402  if (!SWIG_IsOK(res2)) {
14403  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_ConstraintInitialPropagateCallback" "', argument " "2"" of type '" "operations_research::Constraint *const""'");
14404  }
14405  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
14406  {
14407  try {
14408  result = (operations_research::Demon *)(arg1)->MakeConstraintInitialPropagateCallback(arg2);
14409  }
14410  catch (Swig::DirectorException &e) {
14411  SWIG_fail;
14412  }
14413  }
14415  return resultobj;
14416 fail:
14417  return NULL;
14418 }
14419 
14420 
14422  PyObject *resultobj = 0;
14425  void *argp1 = 0 ;
14426  int res1 = 0 ;
14427  void *argp2 = 0 ;
14428  int res2 = 0 ;
14429  PyObject * obj0 = 0 ;
14430  PyObject * obj1 = 0 ;
14431  operations_research::Demon *result = 0 ;
14432 
14433  if (!PyArg_UnpackTuple(args, "Solver_DelayedConstraintInitialPropagateCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
14434  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14435  if (!SWIG_IsOK(res1)) {
14436  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DelayedConstraintInitialPropagateCallback" "', argument " "1"" of type '" "operations_research::Solver *""'");
14437  }
14438  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14439  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
14440  if (!SWIG_IsOK(res2)) {
14441  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_DelayedConstraintInitialPropagateCallback" "', argument " "2"" of type '" "operations_research::Constraint *const""'");
14442  }
14443  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
14444  {
14445  try {
14446  result = (operations_research::Demon *)(arg1)->MakeDelayedConstraintInitialPropagateCallback(arg2);
14447  }
14448  catch (Swig::DirectorException &e) {
14449  SWIG_fail;
14450  }
14451  }
14453  return resultobj;
14454 fail:
14455  return NULL;
14456 }
14457 
14458 
14459 SWIGINTERN PyObject *_wrap_Solver_ClosureDemon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14460  PyObject *resultobj = 0;
14463  void *argp1 = 0 ;
14464  int res1 = 0 ;
14465  PyObject * obj0 = 0 ;
14466  PyObject * obj1 = 0 ;
14467  operations_research::Demon *result = 0 ;
14468 
14469  if (!PyArg_UnpackTuple(args, "Solver_ClosureDemon", 2, 2, &obj0, &obj1)) SWIG_fail;
14470  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14471  if (!SWIG_IsOK(res1)) {
14472  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ClosureDemon" "', argument " "1"" of type '" "operations_research::Solver *""'");
14473  }
14474  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14475  {
14476  SharedPyPtr input(obj1);
14477  arg2 = [input]() {
14478  return InvokePythonCallableReturning<void>(input.get());
14479  };
14480  }
14481  {
14482  try {
14483  result = (operations_research::Demon *)(arg1)->MakeClosureDemon(arg2);
14484  }
14485  catch (Swig::DirectorException &e) {
14486  SWIG_fail;
14487  }
14488  }
14490  return resultobj;
14491 fail:
14492  return NULL;
14493 }
14494 
14495 
14496 SWIGINTERN PyObject *_wrap_Solver_BetweenCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14497  PyObject *resultobj = 0;
14500  int64_t arg3 ;
14501  int64_t arg4 ;
14502  void *argp1 = 0 ;
14503  int res1 = 0 ;
14504  long val3 ;
14505  int ecode3 = 0 ;
14506  long val4 ;
14507  int ecode4 = 0 ;
14508  PyObject * obj0 = 0 ;
14509  PyObject * obj1 = 0 ;
14510  PyObject * obj2 = 0 ;
14511  PyObject * obj3 = 0 ;
14512  operations_research::Constraint *result = 0 ;
14513 
14514  if (!PyArg_UnpackTuple(args, "Solver_BetweenCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14515  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14516  if (!SWIG_IsOK(res1)) {
14517  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BetweenCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14518  }
14519  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14520  {
14521  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14522  }
14523  ecode3 = SWIG_AsVal_long(obj2, &val3);
14524  if (!SWIG_IsOK(ecode3)) {
14525  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_BetweenCt" "', argument " "3"" of type '" "int64_t""'");
14526  }
14527  arg3 = static_cast< int64_t >(val3);
14528  ecode4 = SWIG_AsVal_long(obj3, &val4);
14529  if (!SWIG_IsOK(ecode4)) {
14530  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_BetweenCt" "', argument " "4"" of type '" "int64_t""'");
14531  }
14532  arg4 = static_cast< int64_t >(val4);
14533  {
14534  try {
14535  result = (operations_research::Constraint *)(arg1)->MakeBetweenCt(arg2,arg3,arg4);
14536  }
14537  catch (Swig::DirectorException &e) {
14538  SWIG_fail;
14539  }
14540  }
14542  return resultobj;
14543 fail:
14544  return NULL;
14545 }
14546 
14547 
14548 SWIGINTERN PyObject *_wrap_Solver_IsBetweenCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14549  PyObject *resultobj = 0;
14552  int64_t arg3 ;
14553  int64_t arg4 ;
14555  void *argp1 = 0 ;
14556  int res1 = 0 ;
14557  long val3 ;
14558  int ecode3 = 0 ;
14559  long val4 ;
14560  int ecode4 = 0 ;
14561  PyObject * obj0 = 0 ;
14562  PyObject * obj1 = 0 ;
14563  PyObject * obj2 = 0 ;
14564  PyObject * obj3 = 0 ;
14565  PyObject * obj4 = 0 ;
14566  operations_research::Constraint *result = 0 ;
14567 
14568  if (!PyArg_UnpackTuple(args, "Solver_IsBetweenCt", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
14569  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14570  if (!SWIG_IsOK(res1)) {
14571  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsBetweenCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14572  }
14573  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14574  {
14575  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14576  }
14577  ecode3 = SWIG_AsVal_long(obj2, &val3);
14578  if (!SWIG_IsOK(ecode3)) {
14579  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsBetweenCt" "', argument " "3"" of type '" "int64_t""'");
14580  }
14581  arg3 = static_cast< int64_t >(val3);
14582  ecode4 = SWIG_AsVal_long(obj3, &val4);
14583  if (!SWIG_IsOK(ecode4)) {
14584  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_IsBetweenCt" "', argument " "4"" of type '" "int64_t""'");
14585  }
14586  arg4 = static_cast< int64_t >(val4);
14587  {
14588  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
14589  }
14590  {
14591  try {
14592  result = (operations_research::Constraint *)(arg1)->MakeIsBetweenCt(arg2,arg3,arg4,arg5);
14593  }
14594  catch (Swig::DirectorException &e) {
14595  SWIG_fail;
14596  }
14597  }
14599  return resultobj;
14600 fail:
14601  return NULL;
14602 }
14603 
14604 
14605 SWIGINTERN PyObject *_wrap_Solver_IsBetweenVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14606  PyObject *resultobj = 0;
14609  int64_t arg3 ;
14610  int64_t arg4 ;
14611  void *argp1 = 0 ;
14612  int res1 = 0 ;
14613  long val3 ;
14614  int ecode3 = 0 ;
14615  long val4 ;
14616  int ecode4 = 0 ;
14617  PyObject * obj0 = 0 ;
14618  PyObject * obj1 = 0 ;
14619  PyObject * obj2 = 0 ;
14620  PyObject * obj3 = 0 ;
14621  operations_research::IntVar *result = 0 ;
14622 
14623  if (!PyArg_UnpackTuple(args, "Solver_IsBetweenVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14624  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14625  if (!SWIG_IsOK(res1)) {
14626  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsBetweenVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
14627  }
14628  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14629  {
14630  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14631  }
14632  ecode3 = SWIG_AsVal_long(obj2, &val3);
14633  if (!SWIG_IsOK(ecode3)) {
14634  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IsBetweenVar" "', argument " "3"" of type '" "int64_t""'");
14635  }
14636  arg3 = static_cast< int64_t >(val3);
14637  ecode4 = SWIG_AsVal_long(obj3, &val4);
14638  if (!SWIG_IsOK(ecode4)) {
14639  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_IsBetweenVar" "', argument " "4"" of type '" "int64_t""'");
14640  }
14641  arg4 = static_cast< int64_t >(val4);
14642  {
14643  try {
14644  result = (operations_research::IntVar *)(arg1)->MakeIsBetweenVar(arg2,arg3,arg4);
14645  }
14646  catch (Swig::DirectorException &e) {
14647  SWIG_fail;
14648  }
14649  }
14651  return resultobj;
14652 fail:
14653  return NULL;
14654 }
14655 
14656 
14657 SWIGINTERN PyObject *_wrap_Solver_MemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14658  PyObject *resultobj = 0;
14661  std::vector< int64_t > *arg3 = 0 ;
14662  void *argp1 = 0 ;
14663  int res1 = 0 ;
14664  std::vector< int64_t > temp3 ;
14665  PyObject * obj0 = 0 ;
14666  PyObject * obj1 = 0 ;
14667  PyObject * obj2 = 0 ;
14668  operations_research::Constraint *result = 0 ;
14669 
14670  if (!PyArg_UnpackTuple(args, "Solver_MemberCt", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
14671  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14672  if (!SWIG_IsOK(res1)) {
14673  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14674  }
14675  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14676  {
14677  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14678  }
14679  {
14680  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
14681  if (!PyErr_Occurred())
14682  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
14683  return NULL;
14684  }
14685  arg3 = &temp3;
14686  }
14687  {
14688  try {
14689  result = (operations_research::Constraint *)(arg1)->MakeMemberCt(arg2,(std::vector< int64_t > const &)*arg3);
14690  }
14691  catch (Swig::DirectorException &e) {
14692  SWIG_fail;
14693  }
14694  }
14696  return resultobj;
14697 fail:
14698  return NULL;
14699 }
14700 
14701 
14702 SWIGINTERN PyObject *_wrap_Solver_MemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14703  PyObject *resultobj = 0;
14706  std::vector< int > *arg3 = 0 ;
14707  void *argp1 = 0 ;
14708  int res1 = 0 ;
14709  std::vector< int > temp3 ;
14710  PyObject * obj0 = 0 ;
14711  PyObject * obj1 = 0 ;
14712  PyObject * obj2 = 0 ;
14713  operations_research::Constraint *result = 0 ;
14714 
14715  if (!PyArg_UnpackTuple(args, "Solver_MemberCt", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
14716  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14717  if (!SWIG_IsOK(res1)) {
14718  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14719  }
14720  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14721  {
14722  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14723  }
14724  {
14725  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
14726  if (!PyErr_Occurred())
14727  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
14728  return NULL;
14729  }
14730  arg3 = &temp3;
14731  }
14732  {
14733  try {
14734  result = (operations_research::Constraint *)(arg1)->MakeMemberCt(arg2,(std::vector< int > const &)*arg3);
14735  }
14736  catch (Swig::DirectorException &e) {
14737  SWIG_fail;
14738  }
14739  }
14741  return resultobj;
14742 fail:
14743  return NULL;
14744 }
14745 
14746 
14747 SWIGINTERN PyObject *_wrap_Solver_MemberCt(PyObject *self, PyObject *args) {
14748  Py_ssize_t argc;
14749  PyObject *argv[4] = {
14750  0
14751  };
14752  Py_ssize_t ii;
14753 
14754  if (!PyTuple_Check(args)) SWIG_fail;
14755  argc = PyObject_Length(args);
14756  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
14757  argv[ii] = PyTuple_GET_ITEM(args,ii);
14758  }
14759  if (argc == 3) {
14760  int _v;
14761  void *vptr = 0;
14762  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14763  _v = SWIG_CheckState(res);
14764  if (_v) {
14765  {
14766  _v = CanConvertToIntExpr(argv[1]);
14767  if (_v == 0) PyErr_Clear();
14768  }
14769  if (_v) {
14770  {
14771  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
14772  _v = 0;
14773  } else {
14774  const bool is_tuple = PyTuple_Check(argv[2]);
14775  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
14776  size_t i = 0;
14777  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
14778  :PyList_GetItem(argv[2], i))) {
14779  ++i;
14780  }
14781  _v = i == size;
14782  }
14783  }
14784  if (_v) {
14785  return _wrap_Solver_MemberCt__SWIG_0(self, args);
14786  }
14787  }
14788  }
14789  }
14790  if (argc == 3) {
14791  int _v;
14792  void *vptr = 0;
14793  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
14794  _v = SWIG_CheckState(res);
14795  if (_v) {
14796  {
14797  _v = CanConvertToIntExpr(argv[1]);
14798  if (_v == 0) PyErr_Clear();
14799  }
14800  if (_v) {
14801  {
14802  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
14803  _v = 0;
14804  } else {
14805  const bool is_tuple = PyTuple_Check(argv[2]);
14806  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
14807  size_t i = 0;
14808  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
14809  :PyList_GetItem(argv[2], i))) {
14810  ++i;
14811  }
14812  _v = i == size;
14813  }
14814  }
14815  if (_v) {
14816  return _wrap_Solver_MemberCt__SWIG_1(self, args);
14817  }
14818  }
14819  }
14820  }
14821 
14822 fail:
14823  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_MemberCt'.\n"
14824  " Possible C/C++ prototypes are:\n"
14825  " operations_research::Solver::MakeMemberCt(operations_research::IntExpr *const,std::vector< int64_t > const &)\n"
14826  " operations_research::Solver::MakeMemberCt(operations_research::IntExpr *const,std::vector< int > const &)\n");
14827  return 0;
14828 }
14829 
14830 
14831 SWIGINTERN PyObject *_wrap_Solver_NotMemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14832  PyObject *resultobj = 0;
14835  std::vector< int64_t > *arg3 = 0 ;
14836  void *argp1 = 0 ;
14837  int res1 = 0 ;
14838  std::vector< int64_t > temp3 ;
14839  PyObject * obj0 = 0 ;
14840  PyObject * obj1 = 0 ;
14841  PyObject * obj2 = 0 ;
14842  operations_research::Constraint *result = 0 ;
14843 
14844  if (!PyArg_UnpackTuple(args, "Solver_NotMemberCt", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
14845  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14846  if (!SWIG_IsOK(res1)) {
14847  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NotMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14848  }
14849  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14850  {
14851  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14852  }
14853  {
14854  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
14855  if (!PyErr_Occurred())
14856  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
14857  return NULL;
14858  }
14859  arg3 = &temp3;
14860  }
14861  {
14862  try {
14863  result = (operations_research::Constraint *)(arg1)->MakeNotMemberCt(arg2,(std::vector< int64_t > const &)*arg3);
14864  }
14865  catch (Swig::DirectorException &e) {
14866  SWIG_fail;
14867  }
14868  }
14870  return resultobj;
14871 fail:
14872  return NULL;
14873 }
14874 
14875 
14876 SWIGINTERN PyObject *_wrap_Solver_NotMemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14877  PyObject *resultobj = 0;
14880  std::vector< int > *arg3 = 0 ;
14881  void *argp1 = 0 ;
14882  int res1 = 0 ;
14883  std::vector< int > temp3 ;
14884  PyObject * obj0 = 0 ;
14885  PyObject * obj1 = 0 ;
14886  PyObject * obj2 = 0 ;
14887  operations_research::Constraint *result = 0 ;
14888 
14889  if (!PyArg_UnpackTuple(args, "Solver_NotMemberCt", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
14890  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14891  if (!SWIG_IsOK(res1)) {
14892  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NotMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14893  }
14894  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14895  {
14896  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14897  }
14898  {
14899  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
14900  if (!PyErr_Occurred())
14901  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
14902  return NULL;
14903  }
14904  arg3 = &temp3;
14905  }
14906  {
14907  try {
14908  result = (operations_research::Constraint *)(arg1)->MakeNotMemberCt(arg2,(std::vector< int > const &)*arg3);
14909  }
14910  catch (Swig::DirectorException &e) {
14911  SWIG_fail;
14912  }
14913  }
14915  return resultobj;
14916 fail:
14917  return NULL;
14918 }
14919 
14920 
14921 SWIGINTERN PyObject *_wrap_Solver_NotMemberCt__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14922  PyObject *resultobj = 0;
14925  std::vector< int64_t > arg3 ;
14926  std::vector< int64_t > arg4 ;
14927  void *argp1 = 0 ;
14928  int res1 = 0 ;
14929  std::vector< int64_t > temp3 ;
14930  std::vector< int64_t > temp4 ;
14931  PyObject * obj0 = 0 ;
14932  PyObject * obj1 = 0 ;
14933  PyObject * obj2 = 0 ;
14934  PyObject * obj3 = 0 ;
14935  operations_research::Constraint *result = 0 ;
14936 
14937  if (!PyArg_UnpackTuple(args, "Solver_NotMemberCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14938  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14939  if (!SWIG_IsOK(res1)) {
14940  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NotMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14941  }
14942  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14943  {
14944  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
14945  }
14946  {
14947  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
14948  if (!PyErr_Occurred())
14949  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
14950  return NULL;
14951  }
14952  arg3 = std::move(temp3);
14953  }
14954  {
14955  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
14956  if (!PyErr_Occurred())
14957  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
14958  return NULL;
14959  }
14960  arg4 = std::move(temp4);
14961  }
14962  {
14963  try {
14964  result = (operations_research::Constraint *)(arg1)->MakeNotMemberCt(arg2,arg3,arg4);
14965  }
14966  catch (Swig::DirectorException &e) {
14967  SWIG_fail;
14968  }
14969  }
14971  return resultobj;
14972 fail:
14973  return NULL;
14974 }
14975 
14976 
14977 SWIGINTERN PyObject *_wrap_Solver_NotMemberCt__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
14978  PyObject *resultobj = 0;
14981  std::vector< int > arg3 ;
14982  std::vector< int > arg4 ;
14983  void *argp1 = 0 ;
14984  int res1 = 0 ;
14985  std::vector< int > temp3 ;
14986  std::vector< int > temp4 ;
14987  PyObject * obj0 = 0 ;
14988  PyObject * obj1 = 0 ;
14989  PyObject * obj2 = 0 ;
14990  PyObject * obj3 = 0 ;
14991  operations_research::Constraint *result = 0 ;
14992 
14993  if (!PyArg_UnpackTuple(args, "Solver_NotMemberCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
14994  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
14995  if (!SWIG_IsOK(res1)) {
14996  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NotMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
14997  }
14998  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
14999  {
15000  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
15001  }
15002  {
15003  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
15004  if (!PyErr_Occurred())
15005  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
15006  return NULL;
15007  }
15008  arg3 = std::move(temp3);
15009  }
15010  {
15011  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
15012  if (!PyErr_Occurred())
15013  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
15014  return NULL;
15015  }
15016  arg4 = std::move(temp4);
15017  }
15018  {
15019  try {
15020  result = (operations_research::Constraint *)(arg1)->MakeNotMemberCt(arg2,arg3,arg4);
15021  }
15022  catch (Swig::DirectorException &e) {
15023  SWIG_fail;
15024  }
15025  }
15027  return resultobj;
15028 fail:
15029  return NULL;
15030 }
15031 
15032 
15033 SWIGINTERN PyObject *_wrap_Solver_NotMemberCt(PyObject *self, PyObject *args) {
15034  Py_ssize_t argc;
15035  PyObject *argv[5] = {
15036  0
15037  };
15038  Py_ssize_t ii;
15039 
15040  if (!PyTuple_Check(args)) SWIG_fail;
15041  argc = PyObject_Length(args);
15042  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
15043  argv[ii] = PyTuple_GET_ITEM(args,ii);
15044  }
15045  if (argc == 3) {
15046  int _v;
15047  void *vptr = 0;
15048  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15049  _v = SWIG_CheckState(res);
15050  if (_v) {
15051  {
15052  _v = CanConvertToIntExpr(argv[1]);
15053  if (_v == 0) PyErr_Clear();
15054  }
15055  if (_v) {
15056  {
15057  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15058  _v = 0;
15059  } else {
15060  const bool is_tuple = PyTuple_Check(argv[2]);
15061  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15062  size_t i = 0;
15063  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15064  :PyList_GetItem(argv[2], i))) {
15065  ++i;
15066  }
15067  _v = i == size;
15068  }
15069  }
15070  if (_v) {
15071  return _wrap_Solver_NotMemberCt__SWIG_0(self, args);
15072  }
15073  }
15074  }
15075  }
15076  if (argc == 3) {
15077  int _v;
15078  void *vptr = 0;
15079  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15080  _v = SWIG_CheckState(res);
15081  if (_v) {
15082  {
15083  _v = CanConvertToIntExpr(argv[1]);
15084  if (_v == 0) PyErr_Clear();
15085  }
15086  if (_v) {
15087  {
15088  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15089  _v = 0;
15090  } else {
15091  const bool is_tuple = PyTuple_Check(argv[2]);
15092  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15093  size_t i = 0;
15094  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15095  :PyList_GetItem(argv[2], i))) {
15096  ++i;
15097  }
15098  _v = i == size;
15099  }
15100  }
15101  if (_v) {
15102  return _wrap_Solver_NotMemberCt__SWIG_1(self, args);
15103  }
15104  }
15105  }
15106  }
15107  if (argc == 4) {
15108  int _v;
15109  void *vptr = 0;
15110  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15111  _v = SWIG_CheckState(res);
15112  if (_v) {
15113  {
15114  _v = CanConvertToIntExpr(argv[1]);
15115  if (_v == 0) PyErr_Clear();
15116  }
15117  if (_v) {
15118  {
15119  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15120  _v = 0;
15121  } else {
15122  const bool is_tuple = PyTuple_Check(argv[2]);
15123  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15124  size_t i = 0;
15125  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15126  :PyList_GetItem(argv[2], i))) {
15127  ++i;
15128  }
15129  _v = i == size;
15130  }
15131  }
15132  if (_v) {
15133  {
15134  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
15135  _v = 0;
15136  } else {
15137  const bool is_tuple = PyTuple_Check(argv[3]);
15138  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
15139  size_t i = 0;
15140  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
15141  :PyList_GetItem(argv[3], i))) {
15142  ++i;
15143  }
15144  _v = i == size;
15145  }
15146  }
15147  if (_v) {
15148  return _wrap_Solver_NotMemberCt__SWIG_2(self, args);
15149  }
15150  }
15151  }
15152  }
15153  }
15154  if (argc == 4) {
15155  int _v;
15156  void *vptr = 0;
15157  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15158  _v = SWIG_CheckState(res);
15159  if (_v) {
15160  {
15161  _v = CanConvertToIntExpr(argv[1]);
15162  if (_v == 0) PyErr_Clear();
15163  }
15164  if (_v) {
15165  {
15166  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15167  _v = 0;
15168  } else {
15169  const bool is_tuple = PyTuple_Check(argv[2]);
15170  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15171  size_t i = 0;
15172  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15173  :PyList_GetItem(argv[2], i))) {
15174  ++i;
15175  }
15176  _v = i == size;
15177  }
15178  }
15179  if (_v) {
15180  {
15181  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
15182  _v = 0;
15183  } else {
15184  const bool is_tuple = PyTuple_Check(argv[3]);
15185  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
15186  size_t i = 0;
15187  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
15188  :PyList_GetItem(argv[3], i))) {
15189  ++i;
15190  }
15191  _v = i == size;
15192  }
15193  }
15194  if (_v) {
15195  return _wrap_Solver_NotMemberCt__SWIG_3(self, args);
15196  }
15197  }
15198  }
15199  }
15200  }
15201 
15202 fail:
15203  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_NotMemberCt'.\n"
15204  " Possible C/C++ prototypes are:\n"
15205  " operations_research::Solver::MakeNotMemberCt(operations_research::IntExpr *const,std::vector< int64_t > const &)\n"
15206  " operations_research::Solver::MakeNotMemberCt(operations_research::IntExpr *const,std::vector< int > const &)\n"
15207  " operations_research::Solver::MakeNotMemberCt(operations_research::IntExpr *const,std::vector< int64_t >,std::vector< int64_t >)\n"
15208  " operations_research::Solver::MakeNotMemberCt(operations_research::IntExpr *const,std::vector< int >,std::vector< int >)\n");
15209  return 0;
15210 }
15211 
15212 
15213 SWIGINTERN PyObject *_wrap_Solver_IsMemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15214  PyObject *resultobj = 0;
15217  std::vector< int64_t > *arg3 = 0 ;
15219  void *argp1 = 0 ;
15220  int res1 = 0 ;
15221  std::vector< int64_t > temp3 ;
15222  PyObject * obj0 = 0 ;
15223  PyObject * obj1 = 0 ;
15224  PyObject * obj2 = 0 ;
15225  PyObject * obj3 = 0 ;
15226  operations_research::Constraint *result = 0 ;
15227 
15228  if (!PyArg_UnpackTuple(args, "Solver_IsMemberCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15229  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15230  if (!SWIG_IsOK(res1)) {
15231  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
15232  }
15233  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15234  {
15235  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
15236  }
15237  {
15238  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
15239  if (!PyErr_Occurred())
15240  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
15241  return NULL;
15242  }
15243  arg3 = &temp3;
15244  }
15245  {
15246  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
15247  }
15248  {
15249  try {
15250  result = (operations_research::Constraint *)(arg1)->MakeIsMemberCt(arg2,(std::vector< int64_t > const &)*arg3,arg4);
15251  }
15252  catch (Swig::DirectorException &e) {
15253  SWIG_fail;
15254  }
15255  }
15257  return resultobj;
15258 fail:
15259  return NULL;
15260 }
15261 
15262 
15263 SWIGINTERN PyObject *_wrap_Solver_IsMemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15264  PyObject *resultobj = 0;
15267  std::vector< int > *arg3 = 0 ;
15269  void *argp1 = 0 ;
15270  int res1 = 0 ;
15271  std::vector< int > temp3 ;
15272  PyObject * obj0 = 0 ;
15273  PyObject * obj1 = 0 ;
15274  PyObject * obj2 = 0 ;
15275  PyObject * obj3 = 0 ;
15276  operations_research::Constraint *result = 0 ;
15277 
15278  if (!PyArg_UnpackTuple(args, "Solver_IsMemberCt", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15279  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15280  if (!SWIG_IsOK(res1)) {
15281  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsMemberCt" "', argument " "1"" of type '" "operations_research::Solver *""'");
15282  }
15283  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15284  {
15285  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
15286  }
15287  {
15288  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
15289  if (!PyErr_Occurred())
15290  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
15291  return NULL;
15292  }
15293  arg3 = &temp3;
15294  }
15295  {
15296  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
15297  }
15298  {
15299  try {
15300  result = (operations_research::Constraint *)(arg1)->MakeIsMemberCt(arg2,(std::vector< int > const &)*arg3,arg4);
15301  }
15302  catch (Swig::DirectorException &e) {
15303  SWIG_fail;
15304  }
15305  }
15307  return resultobj;
15308 fail:
15309  return NULL;
15310 }
15311 
15312 
15313 SWIGINTERN PyObject *_wrap_Solver_IsMemberCt(PyObject *self, PyObject *args) {
15314  Py_ssize_t argc;
15315  PyObject *argv[5] = {
15316  0
15317  };
15318  Py_ssize_t ii;
15319 
15320  if (!PyTuple_Check(args)) SWIG_fail;
15321  argc = PyObject_Length(args);
15322  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
15323  argv[ii] = PyTuple_GET_ITEM(args,ii);
15324  }
15325  if (argc == 4) {
15326  int _v;
15327  void *vptr = 0;
15328  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15329  _v = SWIG_CheckState(res);
15330  if (_v) {
15331  {
15332  _v = CanConvertToIntExpr(argv[1]);
15333  if (_v == 0) PyErr_Clear();
15334  }
15335  if (_v) {
15336  {
15337  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15338  _v = 0;
15339  } else {
15340  const bool is_tuple = PyTuple_Check(argv[2]);
15341  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15342  size_t i = 0;
15343  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15344  :PyList_GetItem(argv[2], i))) {
15345  ++i;
15346  }
15347  _v = i == size;
15348  }
15349  }
15350  if (_v) {
15351  {
15352  _v = CanConvertToIntVar(argv[3]);
15353  if (_v == 0) PyErr_Clear();
15354  }
15355  if (_v) {
15356  return _wrap_Solver_IsMemberCt__SWIG_0(self, args);
15357  }
15358  }
15359  }
15360  }
15361  }
15362  if (argc == 4) {
15363  int _v;
15364  void *vptr = 0;
15365  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15366  _v = SWIG_CheckState(res);
15367  if (_v) {
15368  {
15369  _v = CanConvertToIntExpr(argv[1]);
15370  if (_v == 0) PyErr_Clear();
15371  }
15372  if (_v) {
15373  {
15374  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15375  _v = 0;
15376  } else {
15377  const bool is_tuple = PyTuple_Check(argv[2]);
15378  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15379  size_t i = 0;
15380  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15381  :PyList_GetItem(argv[2], i))) {
15382  ++i;
15383  }
15384  _v = i == size;
15385  }
15386  }
15387  if (_v) {
15388  {
15389  _v = CanConvertToIntVar(argv[3]);
15390  if (_v == 0) PyErr_Clear();
15391  }
15392  if (_v) {
15393  return _wrap_Solver_IsMemberCt__SWIG_1(self, args);
15394  }
15395  }
15396  }
15397  }
15398  }
15399 
15400 fail:
15401  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_IsMemberCt'.\n"
15402  " Possible C/C++ prototypes are:\n"
15403  " operations_research::Solver::MakeIsMemberCt(operations_research::IntExpr *const,std::vector< int64_t > const &,operations_research::IntVar *const)\n"
15404  " operations_research::Solver::MakeIsMemberCt(operations_research::IntExpr *const,std::vector< int > const &,operations_research::IntVar *const)\n");
15405  return 0;
15406 }
15407 
15408 
15409 SWIGINTERN PyObject *_wrap_Solver_IsMemberVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15410  PyObject *resultobj = 0;
15413  std::vector< int64_t > *arg3 = 0 ;
15414  void *argp1 = 0 ;
15415  int res1 = 0 ;
15416  std::vector< int64_t > temp3 ;
15417  PyObject * obj0 = 0 ;
15418  PyObject * obj1 = 0 ;
15419  PyObject * obj2 = 0 ;
15420  operations_research::IntVar *result = 0 ;
15421 
15422  if (!PyArg_UnpackTuple(args, "Solver_IsMemberVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
15423  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15424  if (!SWIG_IsOK(res1)) {
15425  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsMemberVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
15426  }
15427  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15428  {
15429  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
15430  }
15431  {
15432  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
15433  if (!PyErr_Occurred())
15434  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
15435  return NULL;
15436  }
15437  arg3 = &temp3;
15438  }
15439  {
15440  try {
15441  result = (operations_research::IntVar *)(arg1)->MakeIsMemberVar(arg2,(std::vector< int64_t > const &)*arg3);
15442  }
15443  catch (Swig::DirectorException &e) {
15444  SWIG_fail;
15445  }
15446  }
15448  return resultobj;
15449 fail:
15450  return NULL;
15451 }
15452 
15453 
15454 SWIGINTERN PyObject *_wrap_Solver_IsMemberVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15455  PyObject *resultobj = 0;
15458  std::vector< int > *arg3 = 0 ;
15459  void *argp1 = 0 ;
15460  int res1 = 0 ;
15461  std::vector< int > temp3 ;
15462  PyObject * obj0 = 0 ;
15463  PyObject * obj1 = 0 ;
15464  PyObject * obj2 = 0 ;
15465  operations_research::IntVar *result = 0 ;
15466 
15467  if (!PyArg_UnpackTuple(args, "Solver_IsMemberVar", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
15468  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15469  if (!SWIG_IsOK(res1)) {
15470  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IsMemberVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
15471  }
15472  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15473  {
15474  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
15475  }
15476  {
15477  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
15478  if (!PyErr_Occurred())
15479  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
15480  return NULL;
15481  }
15482  arg3 = &temp3;
15483  }
15484  {
15485  try {
15486  result = (operations_research::IntVar *)(arg1)->MakeIsMemberVar(arg2,(std::vector< int > const &)*arg3);
15487  }
15488  catch (Swig::DirectorException &e) {
15489  SWIG_fail;
15490  }
15491  }
15493  return resultobj;
15494 fail:
15495  return NULL;
15496 }
15497 
15498 
15499 SWIGINTERN PyObject *_wrap_Solver_IsMemberVar(PyObject *self, PyObject *args) {
15500  Py_ssize_t argc;
15501  PyObject *argv[4] = {
15502  0
15503  };
15504  Py_ssize_t ii;
15505 
15506  if (!PyTuple_Check(args)) SWIG_fail;
15507  argc = PyObject_Length(args);
15508  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
15509  argv[ii] = PyTuple_GET_ITEM(args,ii);
15510  }
15511  if (argc == 3) {
15512  int _v;
15513  void *vptr = 0;
15514  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15515  _v = SWIG_CheckState(res);
15516  if (_v) {
15517  {
15518  _v = CanConvertToIntExpr(argv[1]);
15519  if (_v == 0) PyErr_Clear();
15520  }
15521  if (_v) {
15522  {
15523  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15524  _v = 0;
15525  } else {
15526  const bool is_tuple = PyTuple_Check(argv[2]);
15527  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15528  size_t i = 0;
15529  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15530  :PyList_GetItem(argv[2], i))) {
15531  ++i;
15532  }
15533  _v = i == size;
15534  }
15535  }
15536  if (_v) {
15537  return _wrap_Solver_IsMemberVar__SWIG_0(self, args);
15538  }
15539  }
15540  }
15541  }
15542  if (argc == 3) {
15543  int _v;
15544  void *vptr = 0;
15545  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15546  _v = SWIG_CheckState(res);
15547  if (_v) {
15548  {
15549  _v = CanConvertToIntExpr(argv[1]);
15550  if (_v == 0) PyErr_Clear();
15551  }
15552  if (_v) {
15553  {
15554  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
15555  _v = 0;
15556  } else {
15557  const bool is_tuple = PyTuple_Check(argv[2]);
15558  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
15559  size_t i = 0;
15560  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
15561  :PyList_GetItem(argv[2], i))) {
15562  ++i;
15563  }
15564  _v = i == size;
15565  }
15566  }
15567  if (_v) {
15568  return _wrap_Solver_IsMemberVar__SWIG_1(self, args);
15569  }
15570  }
15571  }
15572  }
15573 
15574 fail:
15575  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_IsMemberVar'.\n"
15576  " Possible C/C++ prototypes are:\n"
15577  " operations_research::Solver::MakeIsMemberVar(operations_research::IntExpr *const,std::vector< int64_t > const &)\n"
15578  " operations_research::Solver::MakeIsMemberVar(operations_research::IntExpr *const,std::vector< int > const &)\n");
15579  return 0;
15580 }
15581 
15582 
15583 SWIGINTERN PyObject *_wrap_Solver_Count__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15584  PyObject *resultobj = 0;
15586  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15587  int64_t arg3 ;
15588  int64_t arg4 ;
15589  void *argp1 = 0 ;
15590  int res1 = 0 ;
15591  std::vector< operations_research::IntVar * > temp2 ;
15592  long val3 ;
15593  int ecode3 = 0 ;
15594  long val4 ;
15595  int ecode4 = 0 ;
15596  PyObject * obj0 = 0 ;
15597  PyObject * obj1 = 0 ;
15598  PyObject * obj2 = 0 ;
15599  PyObject * obj3 = 0 ;
15600  operations_research::Constraint *result = 0 ;
15601 
15602  if (!PyArg_UnpackTuple(args, "Solver_Count", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15603  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15604  if (!SWIG_IsOK(res1)) {
15605  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Count" "', argument " "1"" of type '" "operations_research::Solver *""'");
15606  }
15607  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15608  {
15609  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15610  if (!PyErr_Occurred())
15611  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15612  return NULL;
15613  }
15614  arg2 = &temp2;
15615  }
15616  ecode3 = SWIG_AsVal_long(obj2, &val3);
15617  if (!SWIG_IsOK(ecode3)) {
15618  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Count" "', argument " "3"" of type '" "int64_t""'");
15619  }
15620  arg3 = static_cast< int64_t >(val3);
15621  ecode4 = SWIG_AsVal_long(obj3, &val4);
15622  if (!SWIG_IsOK(ecode4)) {
15623  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Count" "', argument " "4"" of type '" "int64_t""'");
15624  }
15625  arg4 = static_cast< int64_t >(val4);
15626  {
15627  try {
15628  result = (operations_research::Constraint *)(arg1)->MakeCount((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
15629  }
15630  catch (Swig::DirectorException &e) {
15631  SWIG_fail;
15632  }
15633  }
15635  return resultobj;
15636 fail:
15637  return NULL;
15638 }
15639 
15640 
15641 SWIGINTERN PyObject *_wrap_Solver_Count__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15642  PyObject *resultobj = 0;
15644  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15645  int64_t arg3 ;
15647  void *argp1 = 0 ;
15648  int res1 = 0 ;
15649  std::vector< operations_research::IntVar * > temp2 ;
15650  long val3 ;
15651  int ecode3 = 0 ;
15652  PyObject * obj0 = 0 ;
15653  PyObject * obj1 = 0 ;
15654  PyObject * obj2 = 0 ;
15655  PyObject * obj3 = 0 ;
15656  operations_research::Constraint *result = 0 ;
15657 
15658  if (!PyArg_UnpackTuple(args, "Solver_Count", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15659  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15660  if (!SWIG_IsOK(res1)) {
15661  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Count" "', argument " "1"" of type '" "operations_research::Solver *""'");
15662  }
15663  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15664  {
15665  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15666  if (!PyErr_Occurred())
15667  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15668  return NULL;
15669  }
15670  arg2 = &temp2;
15671  }
15672  ecode3 = SWIG_AsVal_long(obj2, &val3);
15673  if (!SWIG_IsOK(ecode3)) {
15674  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Count" "', argument " "3"" of type '" "int64_t""'");
15675  }
15676  arg3 = static_cast< int64_t >(val3);
15677  {
15678  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
15679  }
15680  {
15681  try {
15682  result = (operations_research::Constraint *)(arg1)->MakeCount((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
15683  }
15684  catch (Swig::DirectorException &e) {
15685  SWIG_fail;
15686  }
15687  }
15689  return resultobj;
15690 fail:
15691  return NULL;
15692 }
15693 
15694 
15695 SWIGINTERN PyObject *_wrap_Solver_Count(PyObject *self, PyObject *args) {
15696  Py_ssize_t argc;
15697  PyObject *argv[5] = {
15698  0
15699  };
15700  Py_ssize_t ii;
15701 
15702  if (!PyTuple_Check(args)) SWIG_fail;
15703  argc = PyObject_Length(args);
15704  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
15705  argv[ii] = PyTuple_GET_ITEM(args,ii);
15706  }
15707  if (argc == 4) {
15708  int _v;
15709  void *vptr = 0;
15710  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15711  _v = SWIG_CheckState(res);
15712  if (_v) {
15713  {
15714  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
15715  _v = 0;
15716  } else {
15717  const bool is_tuple = PyTuple_Check(argv[1]);
15718  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
15719  size_t i = 0;
15720  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
15721  :PyList_GetItem(argv[1], i))) {
15722  ++i;
15723  }
15724  _v = i == size;
15725  }
15726  }
15727  if (_v) {
15728  {
15729  int res = SWIG_AsVal_long(argv[2], NULL);
15730  _v = SWIG_CheckState(res);
15731  }
15732  if (_v) {
15733  {
15734  _v = CanConvertToIntVar(argv[3]);
15735  if (_v == 0) PyErr_Clear();
15736  }
15737  if (_v) {
15738  return _wrap_Solver_Count__SWIG_1(self, args);
15739  }
15740  }
15741  }
15742  }
15743  }
15744  if (argc == 4) {
15745  int _v;
15746  void *vptr = 0;
15747  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
15748  _v = SWIG_CheckState(res);
15749  if (_v) {
15750  {
15751  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
15752  _v = 0;
15753  } else {
15754  const bool is_tuple = PyTuple_Check(argv[1]);
15755  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
15756  size_t i = 0;
15757  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
15758  :PyList_GetItem(argv[1], i))) {
15759  ++i;
15760  }
15761  _v = i == size;
15762  }
15763  }
15764  if (_v) {
15765  {
15766  int res = SWIG_AsVal_long(argv[2], NULL);
15767  _v = SWIG_CheckState(res);
15768  }
15769  if (_v) {
15770  {
15771  int res = SWIG_AsVal_long(argv[3], NULL);
15772  _v = SWIG_CheckState(res);
15773  }
15774  if (_v) {
15775  return _wrap_Solver_Count__SWIG_0(self, args);
15776  }
15777  }
15778  }
15779  }
15780  }
15781 
15782 fail:
15783  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Count'.\n"
15784  " Possible C/C++ prototypes are:\n"
15785  " operations_research::Solver::MakeCount(std::vector< operations_research::IntVar * > const &,int64_t,int64_t)\n"
15786  " operations_research::Solver::MakeCount(std::vector< operations_research::IntVar * > const &,int64_t,operations_research::IntVar *const)\n");
15787  return 0;
15788 }
15789 
15790 
15791 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15792  PyObject *resultobj = 0;
15794  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15795  std::vector< int64_t > *arg3 = 0 ;
15796  std::vector< operations_research::IntVar * > *arg4 = 0 ;
15797  void *argp1 = 0 ;
15798  int res1 = 0 ;
15799  std::vector< operations_research::IntVar * > temp2 ;
15800  std::vector< int64_t > temp3 ;
15801  std::vector< operations_research::IntVar * > temp4 ;
15802  PyObject * obj0 = 0 ;
15803  PyObject * obj1 = 0 ;
15804  PyObject * obj2 = 0 ;
15805  PyObject * obj3 = 0 ;
15806  operations_research::Constraint *result = 0 ;
15807 
15808  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15809  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15810  if (!SWIG_IsOK(res1)) {
15811  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
15812  }
15813  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15814  {
15815  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15816  if (!PyErr_Occurred())
15817  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15818  return NULL;
15819  }
15820  arg2 = &temp2;
15821  }
15822  {
15823  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
15824  if (!PyErr_Occurred())
15825  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
15826  return NULL;
15827  }
15828  arg3 = &temp3;
15829  }
15830  {
15831  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
15832  if (!PyErr_Occurred())
15833  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15834  return NULL;
15835  }
15836  arg4 = &temp4;
15837  }
15838  {
15839  try {
15840  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4);
15841  }
15842  catch (Swig::DirectorException &e) {
15843  SWIG_fail;
15844  }
15845  }
15847  return resultobj;
15848 fail:
15849  return NULL;
15850 }
15851 
15852 
15853 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15854  PyObject *resultobj = 0;
15856  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15857  std::vector< int > *arg3 = 0 ;
15858  std::vector< operations_research::IntVar * > *arg4 = 0 ;
15859  void *argp1 = 0 ;
15860  int res1 = 0 ;
15861  std::vector< operations_research::IntVar * > temp2 ;
15862  std::vector< int > temp3 ;
15863  std::vector< operations_research::IntVar * > temp4 ;
15864  PyObject * obj0 = 0 ;
15865  PyObject * obj1 = 0 ;
15866  PyObject * obj2 = 0 ;
15867  PyObject * obj3 = 0 ;
15868  operations_research::Constraint *result = 0 ;
15869 
15870  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
15871  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15872  if (!SWIG_IsOK(res1)) {
15873  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
15874  }
15875  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15876  {
15877  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15878  if (!PyErr_Occurred())
15879  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15880  return NULL;
15881  }
15882  arg2 = &temp2;
15883  }
15884  {
15885  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
15886  if (!PyErr_Occurred())
15887  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
15888  return NULL;
15889  }
15890  arg3 = &temp3;
15891  }
15892  {
15893  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
15894  if (!PyErr_Occurred())
15895  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15896  return NULL;
15897  }
15898  arg4 = &temp4;
15899  }
15900  {
15901  try {
15902  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4);
15903  }
15904  catch (Swig::DirectorException &e) {
15905  SWIG_fail;
15906  }
15907  }
15909  return resultobj;
15910 fail:
15911  return NULL;
15912 }
15913 
15914 
15915 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15916  PyObject *resultobj = 0;
15918  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15919  std::vector< operations_research::IntVar * > *arg3 = 0 ;
15920  void *argp1 = 0 ;
15921  int res1 = 0 ;
15922  std::vector< operations_research::IntVar * > temp2 ;
15923  std::vector< operations_research::IntVar * > temp3 ;
15924  PyObject * obj0 = 0 ;
15925  PyObject * obj1 = 0 ;
15926  PyObject * obj2 = 0 ;
15927  operations_research::Constraint *result = 0 ;
15928 
15929  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
15930  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15931  if (!SWIG_IsOK(res1)) {
15932  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
15933  }
15934  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15935  {
15936  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15937  if (!PyErr_Occurred())
15938  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15939  return NULL;
15940  }
15941  arg2 = &temp2;
15942  }
15943  {
15944  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
15945  if (!PyErr_Occurred())
15946  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15947  return NULL;
15948  }
15949  arg3 = &temp3;
15950  }
15951  {
15952  try {
15953  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
15954  }
15955  catch (Swig::DirectorException &e) {
15956  SWIG_fail;
15957  }
15958  }
15960  return resultobj;
15961 fail:
15962  return NULL;
15963 }
15964 
15965 
15966 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
15967  PyObject *resultobj = 0;
15969  std::vector< operations_research::IntVar * > *arg2 = 0 ;
15970  int64_t arg3 ;
15971  int64_t arg4 ;
15972  int64_t arg5 ;
15973  void *argp1 = 0 ;
15974  int res1 = 0 ;
15975  std::vector< operations_research::IntVar * > temp2 ;
15976  long val3 ;
15977  int ecode3 = 0 ;
15978  long val4 ;
15979  int ecode4 = 0 ;
15980  long val5 ;
15981  int ecode5 = 0 ;
15982  PyObject * obj0 = 0 ;
15983  PyObject * obj1 = 0 ;
15984  PyObject * obj2 = 0 ;
15985  PyObject * obj3 = 0 ;
15986  PyObject * obj4 = 0 ;
15987  operations_research::Constraint *result = 0 ;
15988 
15989  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
15990  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
15991  if (!SWIG_IsOK(res1)) {
15992  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
15993  }
15994  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
15995  {
15996  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
15997  if (!PyErr_Occurred())
15998  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
15999  return NULL;
16000  }
16001  arg2 = &temp2;
16002  }
16003  ecode3 = SWIG_AsVal_long(obj2, &val3);
16004  if (!SWIG_IsOK(ecode3)) {
16005  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Distribute" "', argument " "3"" of type '" "int64_t""'");
16006  }
16007  arg3 = static_cast< int64_t >(val3);
16008  ecode4 = SWIG_AsVal_long(obj3, &val4);
16009  if (!SWIG_IsOK(ecode4)) {
16010  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Distribute" "', argument " "4"" of type '" "int64_t""'");
16011  }
16012  arg4 = static_cast< int64_t >(val4);
16013  ecode5 = SWIG_AsVal_long(obj4, &val5);
16014  if (!SWIG_IsOK(ecode5)) {
16015  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Distribute" "', argument " "5"" of type '" "int64_t""'");
16016  }
16017  arg5 = static_cast< int64_t >(val5);
16018  {
16019  try {
16020  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4,arg5);
16021  }
16022  catch (Swig::DirectorException &e) {
16023  SWIG_fail;
16024  }
16025  }
16027  return resultobj;
16028 fail:
16029  return NULL;
16030 }
16031 
16032 
16033 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16034  PyObject *resultobj = 0;
16036  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16037  std::vector< int64_t > *arg3 = 0 ;
16038  std::vector< int64_t > *arg4 = 0 ;
16039  void *argp1 = 0 ;
16040  int res1 = 0 ;
16041  std::vector< operations_research::IntVar * > temp2 ;
16042  std::vector< int64_t > temp3 ;
16043  std::vector< int64_t > temp4 ;
16044  PyObject * obj0 = 0 ;
16045  PyObject * obj1 = 0 ;
16046  PyObject * obj2 = 0 ;
16047  PyObject * obj3 = 0 ;
16048  operations_research::Constraint *result = 0 ;
16049 
16050  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
16051  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16052  if (!SWIG_IsOK(res1)) {
16053  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
16054  }
16055  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16056  {
16057  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16058  if (!PyErr_Occurred())
16059  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16060  return NULL;
16061  }
16062  arg2 = &temp2;
16063  }
16064  {
16065  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
16066  if (!PyErr_Occurred())
16067  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
16068  return NULL;
16069  }
16070  arg3 = &temp3;
16071  }
16072  {
16073  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
16074  if (!PyErr_Occurred())
16075  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
16076  return NULL;
16077  }
16078  arg4 = &temp4;
16079  }
16080  {
16081  try {
16082  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,(std::vector< int64_t > const &)*arg4);
16083  }
16084  catch (Swig::DirectorException &e) {
16085  SWIG_fail;
16086  }
16087  }
16089  return resultobj;
16090 fail:
16091  return NULL;
16092 }
16093 
16094 
16095 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16096  PyObject *resultobj = 0;
16098  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16099  std::vector< int > *arg3 = 0 ;
16100  std::vector< int > *arg4 = 0 ;
16101  void *argp1 = 0 ;
16102  int res1 = 0 ;
16103  std::vector< operations_research::IntVar * > temp2 ;
16104  std::vector< int > temp3 ;
16105  std::vector< int > temp4 ;
16106  PyObject * obj0 = 0 ;
16107  PyObject * obj1 = 0 ;
16108  PyObject * obj2 = 0 ;
16109  PyObject * obj3 = 0 ;
16110  operations_research::Constraint *result = 0 ;
16111 
16112  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
16113  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16114  if (!SWIG_IsOK(res1)) {
16115  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
16116  }
16117  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16118  {
16119  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16120  if (!PyErr_Occurred())
16121  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16122  return NULL;
16123  }
16124  arg2 = &temp2;
16125  }
16126  {
16127  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
16128  if (!PyErr_Occurred())
16129  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
16130  return NULL;
16131  }
16132  arg3 = &temp3;
16133  }
16134  {
16135  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
16136  if (!PyErr_Occurred())
16137  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
16138  return NULL;
16139  }
16140  arg4 = &temp4;
16141  }
16142  {
16143  try {
16144  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,(std::vector< int > const &)*arg4);
16145  }
16146  catch (Swig::DirectorException &e) {
16147  SWIG_fail;
16148  }
16149  }
16151  return resultobj;
16152 fail:
16153  return NULL;
16154 }
16155 
16156 
16157 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16158  PyObject *resultobj = 0;
16160  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16161  std::vector< int64_t > *arg3 = 0 ;
16162  std::vector< int64_t > *arg4 = 0 ;
16163  std::vector< int64_t > *arg5 = 0 ;
16164  void *argp1 = 0 ;
16165  int res1 = 0 ;
16166  std::vector< operations_research::IntVar * > temp2 ;
16167  std::vector< int64_t > temp3 ;
16168  std::vector< int64_t > temp4 ;
16169  std::vector< int64_t > temp5 ;
16170  PyObject * obj0 = 0 ;
16171  PyObject * obj1 = 0 ;
16172  PyObject * obj2 = 0 ;
16173  PyObject * obj3 = 0 ;
16174  PyObject * obj4 = 0 ;
16175  operations_research::Constraint *result = 0 ;
16176 
16177  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
16178  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16179  if (!SWIG_IsOK(res1)) {
16180  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
16181  }
16182  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16183  {
16184  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16185  if (!PyErr_Occurred())
16186  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16187  return NULL;
16188  }
16189  arg2 = &temp2;
16190  }
16191  {
16192  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
16193  if (!PyErr_Occurred())
16194  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
16195  return NULL;
16196  }
16197  arg3 = &temp3;
16198  }
16199  {
16200  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
16201  if (!PyErr_Occurred())
16202  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
16203  return NULL;
16204  }
16205  arg4 = &temp4;
16206  }
16207  {
16208  if (!vector_input_helper(obj4, &temp5, PyObjAs<int64_t>)) {
16209  if (!PyErr_Occurred())
16210  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
16211  return NULL;
16212  }
16213  arg5 = &temp5;
16214  }
16215  {
16216  try {
16217  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,(std::vector< int64_t > const &)*arg4,(std::vector< int64_t > const &)*arg5);
16218  }
16219  catch (Swig::DirectorException &e) {
16220  SWIG_fail;
16221  }
16222  }
16224  return resultobj;
16225 fail:
16226  return NULL;
16227 }
16228 
16229 
16230 SWIGINTERN PyObject *_wrap_Solver_Distribute__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16231  PyObject *resultobj = 0;
16233  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16234  std::vector< int > *arg3 = 0 ;
16235  std::vector< int > *arg4 = 0 ;
16236  std::vector< int > *arg5 = 0 ;
16237  void *argp1 = 0 ;
16238  int res1 = 0 ;
16239  std::vector< operations_research::IntVar * > temp2 ;
16240  std::vector< int > temp3 ;
16241  std::vector< int > temp4 ;
16242  std::vector< int > temp5 ;
16243  PyObject * obj0 = 0 ;
16244  PyObject * obj1 = 0 ;
16245  PyObject * obj2 = 0 ;
16246  PyObject * obj3 = 0 ;
16247  PyObject * obj4 = 0 ;
16248  operations_research::Constraint *result = 0 ;
16249 
16250  if (!PyArg_UnpackTuple(args, "Solver_Distribute", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
16251  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16252  if (!SWIG_IsOK(res1)) {
16253  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Distribute" "', argument " "1"" of type '" "operations_research::Solver *""'");
16254  }
16255  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16256  {
16257  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16258  if (!PyErr_Occurred())
16259  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16260  return NULL;
16261  }
16262  arg2 = &temp2;
16263  }
16264  {
16265  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
16266  if (!PyErr_Occurred())
16267  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
16268  return NULL;
16269  }
16270  arg3 = &temp3;
16271  }
16272  {
16273  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
16274  if (!PyErr_Occurred())
16275  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
16276  return NULL;
16277  }
16278  arg4 = &temp4;
16279  }
16280  {
16281  if (!vector_input_helper(obj4, &temp5, PyObjAs<int>)) {
16282  if (!PyErr_Occurred())
16283  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
16284  return NULL;
16285  }
16286  arg5 = &temp5;
16287  }
16288  {
16289  try {
16290  result = (operations_research::Constraint *)(arg1)->MakeDistribute((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,(std::vector< int > const &)*arg4,(std::vector< int > const &)*arg5);
16291  }
16292  catch (Swig::DirectorException &e) {
16293  SWIG_fail;
16294  }
16295  }
16297  return resultobj;
16298 fail:
16299  return NULL;
16300 }
16301 
16302 
16303 SWIGINTERN PyObject *_wrap_Solver_Distribute(PyObject *self, PyObject *args) {
16304  Py_ssize_t argc;
16305  PyObject *argv[6] = {
16306  0
16307  };
16308  Py_ssize_t ii;
16309 
16310  if (!PyTuple_Check(args)) SWIG_fail;
16311  argc = PyObject_Length(args);
16312  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
16313  argv[ii] = PyTuple_GET_ITEM(args,ii);
16314  }
16315  if (argc == 3) {
16316  int _v;
16317  void *vptr = 0;
16318  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16319  _v = SWIG_CheckState(res);
16320  if (_v) {
16321  {
16322  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16323  _v = 0;
16324  } else {
16325  const bool is_tuple = PyTuple_Check(argv[1]);
16326  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16327  size_t i = 0;
16328  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16329  :PyList_GetItem(argv[1], i))) {
16330  ++i;
16331  }
16332  _v = i == size;
16333  }
16334  }
16335  if (_v) {
16336  {
16337  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16338  _v = 0;
16339  } else {
16340  const bool is_tuple = PyTuple_Check(argv[2]);
16341  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16342  size_t i = 0;
16343  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
16344  :PyList_GetItem(argv[2], i))) {
16345  ++i;
16346  }
16347  _v = i == size;
16348  }
16349  }
16350  if (_v) {
16351  return _wrap_Solver_Distribute__SWIG_2(self, args);
16352  }
16353  }
16354  }
16355  }
16356  if (argc == 4) {
16357  int _v;
16358  void *vptr = 0;
16359  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16360  _v = SWIG_CheckState(res);
16361  if (_v) {
16362  {
16363  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16364  _v = 0;
16365  } else {
16366  const bool is_tuple = PyTuple_Check(argv[1]);
16367  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16368  size_t i = 0;
16369  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16370  :PyList_GetItem(argv[1], i))) {
16371  ++i;
16372  }
16373  _v = i == size;
16374  }
16375  }
16376  if (_v) {
16377  {
16378  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16379  _v = 0;
16380  } else {
16381  const bool is_tuple = PyTuple_Check(argv[2]);
16382  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16383  size_t i = 0;
16384  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16385  :PyList_GetItem(argv[2], i))) {
16386  ++i;
16387  }
16388  _v = i == size;
16389  }
16390  }
16391  if (_v) {
16392  {
16393  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16394  _v = 0;
16395  } else {
16396  const bool is_tuple = PyTuple_Check(argv[3]);
16397  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16398  size_t i = 0;
16399  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
16400  :PyList_GetItem(argv[3], i))) {
16401  ++i;
16402  }
16403  _v = i == size;
16404  }
16405  }
16406  if (_v) {
16407  return _wrap_Solver_Distribute__SWIG_1(self, args);
16408  }
16409  }
16410  }
16411  }
16412  }
16413  if (argc == 4) {
16414  int _v;
16415  void *vptr = 0;
16416  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16417  _v = SWIG_CheckState(res);
16418  if (_v) {
16419  {
16420  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16421  _v = 0;
16422  } else {
16423  const bool is_tuple = PyTuple_Check(argv[1]);
16424  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16425  size_t i = 0;
16426  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16427  :PyList_GetItem(argv[1], i))) {
16428  ++i;
16429  }
16430  _v = i == size;
16431  }
16432  }
16433  if (_v) {
16434  {
16435  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16436  _v = 0;
16437  } else {
16438  const bool is_tuple = PyTuple_Check(argv[2]);
16439  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16440  size_t i = 0;
16441  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16442  :PyList_GetItem(argv[2], i))) {
16443  ++i;
16444  }
16445  _v = i == size;
16446  }
16447  }
16448  if (_v) {
16449  {
16450  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16451  _v = 0;
16452  } else {
16453  const bool is_tuple = PyTuple_Check(argv[3]);
16454  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16455  size_t i = 0;
16456  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
16457  :PyList_GetItem(argv[3], i))) {
16458  ++i;
16459  }
16460  _v = i == size;
16461  }
16462  }
16463  if (_v) {
16464  return _wrap_Solver_Distribute__SWIG_0(self, args);
16465  }
16466  }
16467  }
16468  }
16469  }
16470  if (argc == 4) {
16471  int _v;
16472  void *vptr = 0;
16473  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16474  _v = SWIG_CheckState(res);
16475  if (_v) {
16476  {
16477  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16478  _v = 0;
16479  } else {
16480  const bool is_tuple = PyTuple_Check(argv[1]);
16481  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16482  size_t i = 0;
16483  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16484  :PyList_GetItem(argv[1], i))) {
16485  ++i;
16486  }
16487  _v = i == size;
16488  }
16489  }
16490  if (_v) {
16491  {
16492  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16493  _v = 0;
16494  } else {
16495  const bool is_tuple = PyTuple_Check(argv[2]);
16496  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16497  size_t i = 0;
16498  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16499  :PyList_GetItem(argv[2], i))) {
16500  ++i;
16501  }
16502  _v = i == size;
16503  }
16504  }
16505  if (_v) {
16506  {
16507  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16508  _v = 0;
16509  } else {
16510  const bool is_tuple = PyTuple_Check(argv[3]);
16511  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16512  size_t i = 0;
16513  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
16514  :PyList_GetItem(argv[3], i))) {
16515  ++i;
16516  }
16517  _v = i == size;
16518  }
16519  }
16520  if (_v) {
16521  return _wrap_Solver_Distribute__SWIG_4(self, args);
16522  }
16523  }
16524  }
16525  }
16526  }
16527  if (argc == 4) {
16528  int _v;
16529  void *vptr = 0;
16530  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16531  _v = SWIG_CheckState(res);
16532  if (_v) {
16533  {
16534  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16535  _v = 0;
16536  } else {
16537  const bool is_tuple = PyTuple_Check(argv[1]);
16538  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16539  size_t i = 0;
16540  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16541  :PyList_GetItem(argv[1], i))) {
16542  ++i;
16543  }
16544  _v = i == size;
16545  }
16546  }
16547  if (_v) {
16548  {
16549  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16550  _v = 0;
16551  } else {
16552  const bool is_tuple = PyTuple_Check(argv[2]);
16553  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16554  size_t i = 0;
16555  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16556  :PyList_GetItem(argv[2], i))) {
16557  ++i;
16558  }
16559  _v = i == size;
16560  }
16561  }
16562  if (_v) {
16563  {
16564  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16565  _v = 0;
16566  } else {
16567  const bool is_tuple = PyTuple_Check(argv[3]);
16568  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16569  size_t i = 0;
16570  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
16571  :PyList_GetItem(argv[3], i))) {
16572  ++i;
16573  }
16574  _v = i == size;
16575  }
16576  }
16577  if (_v) {
16578  return _wrap_Solver_Distribute__SWIG_5(self, args);
16579  }
16580  }
16581  }
16582  }
16583  }
16584  if (argc == 5) {
16585  int _v;
16586  void *vptr = 0;
16587  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16588  _v = SWIG_CheckState(res);
16589  if (_v) {
16590  {
16591  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16592  _v = 0;
16593  } else {
16594  const bool is_tuple = PyTuple_Check(argv[1]);
16595  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16596  size_t i = 0;
16597  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16598  :PyList_GetItem(argv[1], i))) {
16599  ++i;
16600  }
16601  _v = i == size;
16602  }
16603  }
16604  if (_v) {
16605  {
16606  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16607  _v = 0;
16608  } else {
16609  const bool is_tuple = PyTuple_Check(argv[2]);
16610  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16611  size_t i = 0;
16612  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16613  :PyList_GetItem(argv[2], i))) {
16614  ++i;
16615  }
16616  _v = i == size;
16617  }
16618  }
16619  if (_v) {
16620  {
16621  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16622  _v = 0;
16623  } else {
16624  const bool is_tuple = PyTuple_Check(argv[3]);
16625  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16626  size_t i = 0;
16627  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
16628  :PyList_GetItem(argv[3], i))) {
16629  ++i;
16630  }
16631  _v = i == size;
16632  }
16633  }
16634  if (_v) {
16635  {
16636  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
16637  _v = 0;
16638  } else {
16639  const bool is_tuple = PyTuple_Check(argv[4]);
16640  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
16641  size_t i = 0;
16642  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
16643  :PyList_GetItem(argv[4], i))) {
16644  ++i;
16645  }
16646  _v = i == size;
16647  }
16648  }
16649  if (_v) {
16650  return _wrap_Solver_Distribute__SWIG_6(self, args);
16651  }
16652  }
16653  }
16654  }
16655  }
16656  }
16657  if (argc == 5) {
16658  int _v;
16659  void *vptr = 0;
16660  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16661  _v = SWIG_CheckState(res);
16662  if (_v) {
16663  {
16664  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16665  _v = 0;
16666  } else {
16667  const bool is_tuple = PyTuple_Check(argv[1]);
16668  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16669  size_t i = 0;
16670  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16671  :PyList_GetItem(argv[1], i))) {
16672  ++i;
16673  }
16674  _v = i == size;
16675  }
16676  }
16677  if (_v) {
16678  {
16679  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
16680  _v = 0;
16681  } else {
16682  const bool is_tuple = PyTuple_Check(argv[2]);
16683  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
16684  size_t i = 0;
16685  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
16686  :PyList_GetItem(argv[2], i))) {
16687  ++i;
16688  }
16689  _v = i == size;
16690  }
16691  }
16692  if (_v) {
16693  {
16694  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
16695  _v = 0;
16696  } else {
16697  const bool is_tuple = PyTuple_Check(argv[3]);
16698  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
16699  size_t i = 0;
16700  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
16701  :PyList_GetItem(argv[3], i))) {
16702  ++i;
16703  }
16704  _v = i == size;
16705  }
16706  }
16707  if (_v) {
16708  {
16709  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
16710  _v = 0;
16711  } else {
16712  const bool is_tuple = PyTuple_Check(argv[4]);
16713  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
16714  size_t i = 0;
16715  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
16716  :PyList_GetItem(argv[4], i))) {
16717  ++i;
16718  }
16719  _v = i == size;
16720  }
16721  }
16722  if (_v) {
16723  return _wrap_Solver_Distribute__SWIG_7(self, args);
16724  }
16725  }
16726  }
16727  }
16728  }
16729  }
16730  if (argc == 5) {
16731  int _v;
16732  void *vptr = 0;
16733  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16734  _v = SWIG_CheckState(res);
16735  if (_v) {
16736  {
16737  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16738  _v = 0;
16739  } else {
16740  const bool is_tuple = PyTuple_Check(argv[1]);
16741  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16742  size_t i = 0;
16743  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16744  :PyList_GetItem(argv[1], i))) {
16745  ++i;
16746  }
16747  _v = i == size;
16748  }
16749  }
16750  if (_v) {
16751  {
16752  int res = SWIG_AsVal_long(argv[2], NULL);
16753  _v = SWIG_CheckState(res);
16754  }
16755  if (_v) {
16756  {
16757  int res = SWIG_AsVal_long(argv[3], NULL);
16758  _v = SWIG_CheckState(res);
16759  }
16760  if (_v) {
16761  {
16762  int res = SWIG_AsVal_long(argv[4], NULL);
16763  _v = SWIG_CheckState(res);
16764  }
16765  if (_v) {
16766  return _wrap_Solver_Distribute__SWIG_3(self, args);
16767  }
16768  }
16769  }
16770  }
16771  }
16772  }
16773 
16774 fail:
16775  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Distribute'.\n"
16776  " Possible C/C++ prototypes are:\n"
16777  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,std::vector< operations_research::IntVar * > const &)\n"
16778  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,std::vector< operations_research::IntVar * > const &)\n"
16779  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &)\n"
16780  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,int64_t,int64_t,int64_t)\n"
16781  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,std::vector< int64_t > const &)\n"
16782  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,std::vector< int > const &)\n"
16783  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,std::vector< int64_t > const &,std::vector< int64_t > const &)\n"
16784  " operations_research::Solver::MakeDistribute(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,std::vector< int > const &,std::vector< int > const &)\n");
16785  return 0;
16786 }
16787 
16788 
16789 SWIGINTERN PyObject *_wrap_Solver_Deviation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16790  PyObject *resultobj = 0;
16792  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16794  int64_t arg4 ;
16795  void *argp1 = 0 ;
16796  int res1 = 0 ;
16797  std::vector< operations_research::IntVar * > temp2 ;
16798  long val4 ;
16799  int ecode4 = 0 ;
16800  PyObject * obj0 = 0 ;
16801  PyObject * obj1 = 0 ;
16802  PyObject * obj2 = 0 ;
16803  PyObject * obj3 = 0 ;
16804  operations_research::Constraint *result = 0 ;
16805 
16806  if (!PyArg_UnpackTuple(args, "Solver_Deviation", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
16807  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16808  if (!SWIG_IsOK(res1)) {
16809  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Deviation" "', argument " "1"" of type '" "operations_research::Solver *""'");
16810  }
16811  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16812  {
16813  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16814  if (!PyErr_Occurred())
16815  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16816  return NULL;
16817  }
16818  arg2 = &temp2;
16819  }
16820  {
16821  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
16822  }
16823  ecode4 = SWIG_AsVal_long(obj3, &val4);
16824  if (!SWIG_IsOK(ecode4)) {
16825  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Deviation" "', argument " "4"" of type '" "int64_t""'");
16826  }
16827  arg4 = static_cast< int64_t >(val4);
16828  {
16829  try {
16830  result = (operations_research::Constraint *)(arg1)->MakeDeviation((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
16831  }
16832  catch (Swig::DirectorException &e) {
16833  SWIG_fail;
16834  }
16835  }
16837  return resultobj;
16838 fail:
16839  return NULL;
16840 }
16841 
16842 
16843 SWIGINTERN PyObject *_wrap_Solver_AllDifferent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16844  PyObject *resultobj = 0;
16846  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16847  void *argp1 = 0 ;
16848  int res1 = 0 ;
16849  std::vector< operations_research::IntVar * > temp2 ;
16850  PyObject * obj0 = 0 ;
16851  PyObject * obj1 = 0 ;
16852  operations_research::Constraint *result = 0 ;
16853 
16854  if (!PyArg_UnpackTuple(args, "Solver_AllDifferent", 2, 2, &obj0, &obj1)) SWIG_fail;
16855  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16856  if (!SWIG_IsOK(res1)) {
16857  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllDifferent" "', argument " "1"" of type '" "operations_research::Solver *""'");
16858  }
16859  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16860  {
16861  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16862  if (!PyErr_Occurred())
16863  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16864  return NULL;
16865  }
16866  arg2 = &temp2;
16867  }
16868  {
16869  try {
16870  result = (operations_research::Constraint *)(arg1)->MakeAllDifferent((std::vector< operations_research::IntVar * > const &)*arg2);
16871  }
16872  catch (Swig::DirectorException &e) {
16873  SWIG_fail;
16874  }
16875  }
16877  return resultobj;
16878 fail:
16879  return NULL;
16880 }
16881 
16882 
16883 SWIGINTERN PyObject *_wrap_Solver_AllDifferent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
16884  PyObject *resultobj = 0;
16886  std::vector< operations_research::IntVar * > *arg2 = 0 ;
16887  bool arg3 ;
16888  void *argp1 = 0 ;
16889  int res1 = 0 ;
16890  std::vector< operations_research::IntVar * > temp2 ;
16891  bool val3 ;
16892  int ecode3 = 0 ;
16893  PyObject * obj0 = 0 ;
16894  PyObject * obj1 = 0 ;
16895  PyObject * obj2 = 0 ;
16896  operations_research::Constraint *result = 0 ;
16897 
16898  if (!PyArg_UnpackTuple(args, "Solver_AllDifferent", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
16899  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
16900  if (!SWIG_IsOK(res1)) {
16901  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllDifferent" "', argument " "1"" of type '" "operations_research::Solver *""'");
16902  }
16903  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
16904  {
16905  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
16906  if (!PyErr_Occurred())
16907  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
16908  return NULL;
16909  }
16910  arg2 = &temp2;
16911  }
16912  ecode3 = SWIG_AsVal_bool(obj2, &val3);
16913  if (!SWIG_IsOK(ecode3)) {
16914  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_AllDifferent" "', argument " "3"" of type '" "bool""'");
16915  }
16916  arg3 = static_cast< bool >(val3);
16917  {
16918  try {
16919  result = (operations_research::Constraint *)(arg1)->MakeAllDifferent((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
16920  }
16921  catch (Swig::DirectorException &e) {
16922  SWIG_fail;
16923  }
16924  }
16926  return resultobj;
16927 fail:
16928  return NULL;
16929 }
16930 
16931 
16932 SWIGINTERN PyObject *_wrap_Solver_AllDifferent(PyObject *self, PyObject *args) {
16933  Py_ssize_t argc;
16934  PyObject *argv[4] = {
16935  0
16936  };
16937  Py_ssize_t ii;
16938 
16939  if (!PyTuple_Check(args)) SWIG_fail;
16940  argc = PyObject_Length(args);
16941  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
16942  argv[ii] = PyTuple_GET_ITEM(args,ii);
16943  }
16944  if (argc == 2) {
16945  int _v;
16946  void *vptr = 0;
16947  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16948  _v = SWIG_CheckState(res);
16949  if (_v) {
16950  {
16951  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16952  _v = 0;
16953  } else {
16954  const bool is_tuple = PyTuple_Check(argv[1]);
16955  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16956  size_t i = 0;
16957  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16958  :PyList_GetItem(argv[1], i))) {
16959  ++i;
16960  }
16961  _v = i == size;
16962  }
16963  }
16964  if (_v) {
16965  return _wrap_Solver_AllDifferent__SWIG_0(self, args);
16966  }
16967  }
16968  }
16969  if (argc == 3) {
16970  int _v;
16971  void *vptr = 0;
16972  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
16973  _v = SWIG_CheckState(res);
16974  if (_v) {
16975  {
16976  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
16977  _v = 0;
16978  } else {
16979  const bool is_tuple = PyTuple_Check(argv[1]);
16980  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
16981  size_t i = 0;
16982  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
16983  :PyList_GetItem(argv[1], i))) {
16984  ++i;
16985  }
16986  _v = i == size;
16987  }
16988  }
16989  if (_v) {
16990  {
16991  int res = SWIG_AsVal_bool(argv[2], NULL);
16992  _v = SWIG_CheckState(res);
16993  }
16994  if (_v) {
16995  return _wrap_Solver_AllDifferent__SWIG_1(self, args);
16996  }
16997  }
16998  }
16999  }
17000 
17001 fail:
17002  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_AllDifferent'.\n"
17003  " Possible C/C++ prototypes are:\n"
17004  " operations_research::Solver::MakeAllDifferent(std::vector< operations_research::IntVar * > const &)\n"
17005  " operations_research::Solver::MakeAllDifferent(std::vector< operations_research::IntVar * > const &,bool)\n");
17006  return 0;
17007 }
17008 
17009 
17010 SWIGINTERN PyObject *_wrap_Solver_AllDifferentExcept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17011  PyObject *resultobj = 0;
17013  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17014  int64_t arg3 ;
17015  void *argp1 = 0 ;
17016  int res1 = 0 ;
17017  std::vector< operations_research::IntVar * > temp2 ;
17018  long val3 ;
17019  int ecode3 = 0 ;
17020  PyObject * obj0 = 0 ;
17021  PyObject * obj1 = 0 ;
17022  PyObject * obj2 = 0 ;
17023  operations_research::Constraint *result = 0 ;
17024 
17025  if (!PyArg_UnpackTuple(args, "Solver_AllDifferentExcept", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17026  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17027  if (!SWIG_IsOK(res1)) {
17028  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllDifferentExcept" "', argument " "1"" of type '" "operations_research::Solver *""'");
17029  }
17030  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17031  {
17032  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17033  if (!PyErr_Occurred())
17034  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17035  return NULL;
17036  }
17037  arg2 = &temp2;
17038  }
17039  ecode3 = SWIG_AsVal_long(obj2, &val3);
17040  if (!SWIG_IsOK(ecode3)) {
17041  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_AllDifferentExcept" "', argument " "3"" of type '" "int64_t""'");
17042  }
17043  arg3 = static_cast< int64_t >(val3);
17044  {
17045  try {
17046  result = (operations_research::Constraint *)(arg1)->MakeAllDifferentExcept((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
17047  }
17048  catch (Swig::DirectorException &e) {
17049  SWIG_fail;
17050  }
17051  }
17053  return resultobj;
17054 fail:
17055  return NULL;
17056 }
17057 
17058 
17059 SWIGINTERN PyObject *_wrap_Solver_SortingConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17060  PyObject *resultobj = 0;
17062  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17063  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17064  void *argp1 = 0 ;
17065  int res1 = 0 ;
17066  std::vector< operations_research::IntVar * > temp2 ;
17067  std::vector< operations_research::IntVar * > temp3 ;
17068  PyObject * obj0 = 0 ;
17069  PyObject * obj1 = 0 ;
17070  PyObject * obj2 = 0 ;
17071  operations_research::Constraint *result = 0 ;
17072 
17073  if (!PyArg_UnpackTuple(args, "Solver_SortingConstraint", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17074  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17075  if (!SWIG_IsOK(res1)) {
17076  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SortingConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
17077  }
17078  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17079  {
17080  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17081  if (!PyErr_Occurred())
17082  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17083  return NULL;
17084  }
17085  arg2 = &temp2;
17086  }
17087  {
17088  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17089  if (!PyErr_Occurred())
17090  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17091  return NULL;
17092  }
17093  arg3 = &temp3;
17094  }
17095  {
17096  try {
17097  result = (operations_research::Constraint *)(arg1)->MakeSortingConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
17098  }
17099  catch (Swig::DirectorException &e) {
17100  SWIG_fail;
17101  }
17102  }
17104  return resultobj;
17105 fail:
17106  return NULL;
17107 }
17108 
17109 
17110 SWIGINTERN PyObject *_wrap_Solver_LexicalLess(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17111  PyObject *resultobj = 0;
17113  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17114  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17115  void *argp1 = 0 ;
17116  int res1 = 0 ;
17117  std::vector< operations_research::IntVar * > temp2 ;
17118  std::vector< operations_research::IntVar * > temp3 ;
17119  PyObject * obj0 = 0 ;
17120  PyObject * obj1 = 0 ;
17121  PyObject * obj2 = 0 ;
17122  operations_research::Constraint *result = 0 ;
17123 
17124  if (!PyArg_UnpackTuple(args, "Solver_LexicalLess", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17125  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17126  if (!SWIG_IsOK(res1)) {
17127  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LexicalLess" "', argument " "1"" of type '" "operations_research::Solver *""'");
17128  }
17129  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17130  {
17131  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17132  if (!PyErr_Occurred())
17133  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17134  return NULL;
17135  }
17136  arg2 = &temp2;
17137  }
17138  {
17139  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17140  if (!PyErr_Occurred())
17141  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17142  return NULL;
17143  }
17144  arg3 = &temp3;
17145  }
17146  {
17147  try {
17148  result = (operations_research::Constraint *)(arg1)->MakeLexicalLess((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
17149  }
17150  catch (Swig::DirectorException &e) {
17151  SWIG_fail;
17152  }
17153  }
17155  return resultobj;
17156 fail:
17157  return NULL;
17158 }
17159 
17160 
17161 SWIGINTERN PyObject *_wrap_Solver_LexicalLessOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17162  PyObject *resultobj = 0;
17164  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17165  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17166  void *argp1 = 0 ;
17167  int res1 = 0 ;
17168  std::vector< operations_research::IntVar * > temp2 ;
17169  std::vector< operations_research::IntVar * > temp3 ;
17170  PyObject * obj0 = 0 ;
17171  PyObject * obj1 = 0 ;
17172  PyObject * obj2 = 0 ;
17173  operations_research::Constraint *result = 0 ;
17174 
17175  if (!PyArg_UnpackTuple(args, "Solver_LexicalLessOrEqual", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17176  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17177  if (!SWIG_IsOK(res1)) {
17178  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LexicalLessOrEqual" "', argument " "1"" of type '" "operations_research::Solver *""'");
17179  }
17180  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17181  {
17182  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17183  if (!PyErr_Occurred())
17184  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17185  return NULL;
17186  }
17187  arg2 = &temp2;
17188  }
17189  {
17190  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17191  if (!PyErr_Occurred())
17192  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17193  return NULL;
17194  }
17195  arg3 = &temp3;
17196  }
17197  {
17198  try {
17199  result = (operations_research::Constraint *)(arg1)->MakeLexicalLessOrEqual((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
17200  }
17201  catch (Swig::DirectorException &e) {
17202  SWIG_fail;
17203  }
17204  }
17206  return resultobj;
17207 fail:
17208  return NULL;
17209 }
17210 
17211 
17212 SWIGINTERN PyObject *_wrap_Solver_InversePermutationConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17213  PyObject *resultobj = 0;
17215  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17216  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17217  void *argp1 = 0 ;
17218  int res1 = 0 ;
17219  std::vector< operations_research::IntVar * > temp2 ;
17220  std::vector< operations_research::IntVar * > temp3 ;
17221  PyObject * obj0 = 0 ;
17222  PyObject * obj1 = 0 ;
17223  PyObject * obj2 = 0 ;
17224  operations_research::Constraint *result = 0 ;
17225 
17226  if (!PyArg_UnpackTuple(args, "Solver_InversePermutationConstraint", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17227  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17228  if (!SWIG_IsOK(res1)) {
17229  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_InversePermutationConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
17230  }
17231  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17232  {
17233  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17234  if (!PyErr_Occurred())
17235  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17236  return NULL;
17237  }
17238  arg2 = &temp2;
17239  }
17240  {
17241  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17242  if (!PyErr_Occurred())
17243  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17244  return NULL;
17245  }
17246  arg3 = &temp3;
17247  }
17248  {
17249  try {
17250  result = (operations_research::Constraint *)(arg1)->MakeInversePermutationConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
17251  }
17252  catch (Swig::DirectorException &e) {
17253  SWIG_fail;
17254  }
17255  }
17257  return resultobj;
17258 fail:
17259  return NULL;
17260 }
17261 
17262 
17263 SWIGINTERN PyObject *_wrap_Solver_NullIntersect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17264  PyObject *resultobj = 0;
17266  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17267  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17268  void *argp1 = 0 ;
17269  int res1 = 0 ;
17270  std::vector< operations_research::IntVar * > temp2 ;
17271  std::vector< operations_research::IntVar * > temp3 ;
17272  PyObject * obj0 = 0 ;
17273  PyObject * obj1 = 0 ;
17274  PyObject * obj2 = 0 ;
17275  operations_research::Constraint *result = 0 ;
17276 
17277  if (!PyArg_UnpackTuple(args, "Solver_NullIntersect", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
17278  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17279  if (!SWIG_IsOK(res1)) {
17280  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NullIntersect" "', argument " "1"" of type '" "operations_research::Solver *""'");
17281  }
17282  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17283  {
17284  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17285  if (!PyErr_Occurred())
17286  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17287  return NULL;
17288  }
17289  arg2 = &temp2;
17290  }
17291  {
17292  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17293  if (!PyErr_Occurred())
17294  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17295  return NULL;
17296  }
17297  arg3 = &temp3;
17298  }
17299  {
17300  try {
17301  result = (operations_research::Constraint *)(arg1)->MakeNullIntersect((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
17302  }
17303  catch (Swig::DirectorException &e) {
17304  SWIG_fail;
17305  }
17306  }
17308  return resultobj;
17309 fail:
17310  return NULL;
17311 }
17312 
17313 
17314 SWIGINTERN PyObject *_wrap_Solver_NullIntersectExcept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17315  PyObject *resultobj = 0;
17317  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17318  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17319  int64_t arg4 ;
17320  void *argp1 = 0 ;
17321  int res1 = 0 ;
17322  std::vector< operations_research::IntVar * > temp2 ;
17323  std::vector< operations_research::IntVar * > temp3 ;
17324  long val4 ;
17325  int ecode4 = 0 ;
17326  PyObject * obj0 = 0 ;
17327  PyObject * obj1 = 0 ;
17328  PyObject * obj2 = 0 ;
17329  PyObject * obj3 = 0 ;
17330  operations_research::Constraint *result = 0 ;
17331 
17332  if (!PyArg_UnpackTuple(args, "Solver_NullIntersectExcept", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
17333  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17334  if (!SWIG_IsOK(res1)) {
17335  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NullIntersectExcept" "', argument " "1"" of type '" "operations_research::Solver *""'");
17336  }
17337  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17338  {
17339  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17340  if (!PyErr_Occurred())
17341  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17342  return NULL;
17343  }
17344  arg2 = &temp2;
17345  }
17346  {
17347  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17348  if (!PyErr_Occurred())
17349  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17350  return NULL;
17351  }
17352  arg3 = &temp3;
17353  }
17354  ecode4 = SWIG_AsVal_long(obj3, &val4);
17355  if (!SWIG_IsOK(ecode4)) {
17356  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NullIntersectExcept" "', argument " "4"" of type '" "int64_t""'");
17357  }
17358  arg4 = static_cast< int64_t >(val4);
17359  {
17360  try {
17361  result = (operations_research::Constraint *)(arg1)->MakeNullIntersectExcept((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4);
17362  }
17363  catch (Swig::DirectorException &e) {
17364  SWIG_fail;
17365  }
17366  }
17368  return resultobj;
17369 fail:
17370  return NULL;
17371 }
17372 
17373 
17374 SWIGINTERN PyObject *_wrap_Solver_Circuit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17375  PyObject *resultobj = 0;
17377  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17378  void *argp1 = 0 ;
17379  int res1 = 0 ;
17380  std::vector< operations_research::IntVar * > temp2 ;
17381  PyObject * obj0 = 0 ;
17382  PyObject * obj1 = 0 ;
17383  operations_research::Constraint *result = 0 ;
17384 
17385  if (!PyArg_UnpackTuple(args, "Solver_Circuit", 2, 2, &obj0, &obj1)) SWIG_fail;
17386  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17387  if (!SWIG_IsOK(res1)) {
17388  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Circuit" "', argument " "1"" of type '" "operations_research::Solver *""'");
17389  }
17390  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17391  {
17392  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17393  if (!PyErr_Occurred())
17394  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17395  return NULL;
17396  }
17397  arg2 = &temp2;
17398  }
17399  {
17400  try {
17401  result = (operations_research::Constraint *)(arg1)->MakeCircuit((std::vector< operations_research::IntVar * > const &)*arg2);
17402  }
17403  catch (Swig::DirectorException &e) {
17404  SWIG_fail;
17405  }
17406  }
17408  return resultobj;
17409 fail:
17410  return NULL;
17411 }
17412 
17413 
17414 SWIGINTERN PyObject *_wrap_Solver_SubCircuit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17415  PyObject *resultobj = 0;
17417  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17418  void *argp1 = 0 ;
17419  int res1 = 0 ;
17420  std::vector< operations_research::IntVar * > temp2 ;
17421  PyObject * obj0 = 0 ;
17422  PyObject * obj1 = 0 ;
17423  operations_research::Constraint *result = 0 ;
17424 
17425  if (!PyArg_UnpackTuple(args, "Solver_SubCircuit", 2, 2, &obj0, &obj1)) SWIG_fail;
17426  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17427  if (!SWIG_IsOK(res1)) {
17428  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SubCircuit" "', argument " "1"" of type '" "operations_research::Solver *""'");
17429  }
17430  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17431  {
17432  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17433  if (!PyErr_Occurred())
17434  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17435  return NULL;
17436  }
17437  arg2 = &temp2;
17438  }
17439  {
17440  try {
17441  result = (operations_research::Constraint *)(arg1)->MakeSubCircuit((std::vector< operations_research::IntVar * > const &)*arg2);
17442  }
17443  catch (Swig::DirectorException &e) {
17444  SWIG_fail;
17445  }
17446  }
17448  return resultobj;
17449 fail:
17450  return NULL;
17451 }
17452 
17453 
17454 SWIGINTERN PyObject *_wrap_Solver_PathCumul__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17455  PyObject *resultobj = 0;
17457  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17458  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17459  std::vector< operations_research::IntVar * > *arg4 = 0 ;
17460  std::vector< operations_research::IntVar * > *arg5 = 0 ;
17461  void *argp1 = 0 ;
17462  int res1 = 0 ;
17463  std::vector< operations_research::IntVar * > temp2 ;
17464  std::vector< operations_research::IntVar * > temp3 ;
17465  std::vector< operations_research::IntVar * > temp4 ;
17466  std::vector< operations_research::IntVar * > temp5 ;
17467  PyObject * obj0 = 0 ;
17468  PyObject * obj1 = 0 ;
17469  PyObject * obj2 = 0 ;
17470  PyObject * obj3 = 0 ;
17471  PyObject * obj4 = 0 ;
17472  operations_research::Constraint *result = 0 ;
17473 
17474  if (!PyArg_UnpackTuple(args, "Solver_PathCumul", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
17475  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17476  if (!SWIG_IsOK(res1)) {
17477  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_PathCumul" "', argument " "1"" of type '" "operations_research::Solver *""'");
17478  }
17479  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17480  {
17481  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17482  if (!PyErr_Occurred())
17483  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17484  return NULL;
17485  }
17486  arg2 = &temp2;
17487  }
17488  {
17489  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17490  if (!PyErr_Occurred())
17491  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17492  return NULL;
17493  }
17494  arg3 = &temp3;
17495  }
17496  {
17497  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
17498  if (!PyErr_Occurred())
17499  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17500  return NULL;
17501  }
17502  arg4 = &temp4;
17503  }
17504  {
17505  if (!vector_input_helper(obj4, &temp5, PyObjAs<operations_research::IntVar*>)) {
17506  if (!PyErr_Occurred())
17507  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17508  return NULL;
17509  }
17510  arg5 = &temp5;
17511  }
17512  {
17513  try {
17514  result = (operations_research::Constraint *)(arg1)->MakePathCumul((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4,(std::vector< operations_research::IntVar * > const &)*arg5);
17515  }
17516  catch (Swig::DirectorException &e) {
17517  SWIG_fail;
17518  }
17519  }
17521  return resultobj;
17522 fail:
17523  return NULL;
17524 }
17525 
17526 
17527 SWIGINTERN PyObject *_wrap_Solver_DelayedPathCumul(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17528  PyObject *resultobj = 0;
17530  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17531  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17532  std::vector< operations_research::IntVar * > *arg4 = 0 ;
17533  std::vector< operations_research::IntVar * > *arg5 = 0 ;
17534  void *argp1 = 0 ;
17535  int res1 = 0 ;
17536  std::vector< operations_research::IntVar * > temp2 ;
17537  std::vector< operations_research::IntVar * > temp3 ;
17538  std::vector< operations_research::IntVar * > temp4 ;
17539  std::vector< operations_research::IntVar * > temp5 ;
17540  PyObject * obj0 = 0 ;
17541  PyObject * obj1 = 0 ;
17542  PyObject * obj2 = 0 ;
17543  PyObject * obj3 = 0 ;
17544  PyObject * obj4 = 0 ;
17545  operations_research::Constraint *result = 0 ;
17546 
17547  if (!PyArg_UnpackTuple(args, "Solver_DelayedPathCumul", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
17548  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17549  if (!SWIG_IsOK(res1)) {
17550  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DelayedPathCumul" "', argument " "1"" of type '" "operations_research::Solver *""'");
17551  }
17552  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17553  {
17554  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17555  if (!PyErr_Occurred())
17556  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17557  return NULL;
17558  }
17559  arg2 = &temp2;
17560  }
17561  {
17562  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17563  if (!PyErr_Occurred())
17564  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17565  return NULL;
17566  }
17567  arg3 = &temp3;
17568  }
17569  {
17570  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
17571  if (!PyErr_Occurred())
17572  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17573  return NULL;
17574  }
17575  arg4 = &temp4;
17576  }
17577  {
17578  if (!vector_input_helper(obj4, &temp5, PyObjAs<operations_research::IntVar*>)) {
17579  if (!PyErr_Occurred())
17580  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17581  return NULL;
17582  }
17583  arg5 = &temp5;
17584  }
17585  {
17586  try {
17587  result = (operations_research::Constraint *)(arg1)->MakeDelayedPathCumul((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4,(std::vector< operations_research::IntVar * > const &)*arg5);
17588  }
17589  catch (Swig::DirectorException &e) {
17590  SWIG_fail;
17591  }
17592  }
17594  return resultobj;
17595 fail:
17596  return NULL;
17597 }
17598 
17599 
17600 SWIGINTERN PyObject *_wrap_Solver_PathCumul__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17601  PyObject *resultobj = 0;
17603  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17604  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17605  std::vector< operations_research::IntVar * > *arg4 = 0 ;
17607  void *argp1 = 0 ;
17608  int res1 = 0 ;
17609  std::vector< operations_research::IntVar * > temp2 ;
17610  std::vector< operations_research::IntVar * > temp3 ;
17611  std::vector< operations_research::IntVar * > temp4 ;
17612  PyObject * obj0 = 0 ;
17613  PyObject * obj1 = 0 ;
17614  PyObject * obj2 = 0 ;
17615  PyObject * obj3 = 0 ;
17616  PyObject * obj4 = 0 ;
17617  operations_research::Constraint *result = 0 ;
17618 
17619  if (!PyArg_UnpackTuple(args, "Solver_PathCumul", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
17620  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17621  if (!SWIG_IsOK(res1)) {
17622  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_PathCumul" "', argument " "1"" of type '" "operations_research::Solver *""'");
17623  }
17624  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17625  {
17626  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17627  if (!PyErr_Occurred())
17628  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17629  return NULL;
17630  }
17631  arg2 = &temp2;
17632  }
17633  {
17634  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17635  if (!PyErr_Occurred())
17636  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17637  return NULL;
17638  }
17639  arg3 = &temp3;
17640  }
17641  {
17642  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
17643  if (!PyErr_Occurred())
17644  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17645  return NULL;
17646  }
17647  arg4 = &temp4;
17648  }
17649  {
17650  SharedPyPtr input(obj4);
17651  arg5 = [input](int64_t i, int64_t j) {
17652  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
17653  };
17654  }
17655  {
17656  try {
17657  result = (operations_research::Constraint *)(arg1)->MakePathCumul((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4,arg5);
17658  }
17659  catch (Swig::DirectorException &e) {
17660  SWIG_fail;
17661  }
17662  }
17664  return resultobj;
17665 fail:
17666  return NULL;
17667 }
17668 
17669 
17670 SWIGINTERN PyObject *_wrap_Solver_PathCumul__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17671  PyObject *resultobj = 0;
17673  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17674  std::vector< operations_research::IntVar * > *arg3 = 0 ;
17675  std::vector< operations_research::IntVar * > *arg4 = 0 ;
17676  std::vector< operations_research::IntVar * > *arg5 = 0 ;
17678  void *argp1 = 0 ;
17679  int res1 = 0 ;
17680  std::vector< operations_research::IntVar * > temp2 ;
17681  std::vector< operations_research::IntVar * > temp3 ;
17682  std::vector< operations_research::IntVar * > temp4 ;
17683  std::vector< operations_research::IntVar * > temp5 ;
17684  PyObject * obj0 = 0 ;
17685  PyObject * obj1 = 0 ;
17686  PyObject * obj2 = 0 ;
17687  PyObject * obj3 = 0 ;
17688  PyObject * obj4 = 0 ;
17689  PyObject * obj5 = 0 ;
17690  operations_research::Constraint *result = 0 ;
17691 
17692  if (!PyArg_UnpackTuple(args, "Solver_PathCumul", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
17693  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
17694  if (!SWIG_IsOK(res1)) {
17695  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_PathCumul" "', argument " "1"" of type '" "operations_research::Solver *""'");
17696  }
17697  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
17698  {
17699  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
17700  if (!PyErr_Occurred())
17701  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17702  return NULL;
17703  }
17704  arg2 = &temp2;
17705  }
17706  {
17707  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
17708  if (!PyErr_Occurred())
17709  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17710  return NULL;
17711  }
17712  arg3 = &temp3;
17713  }
17714  {
17715  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
17716  if (!PyErr_Occurred())
17717  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17718  return NULL;
17719  }
17720  arg4 = &temp4;
17721  }
17722  {
17723  if (!vector_input_helper(obj4, &temp5, PyObjAs<operations_research::IntVar*>)) {
17724  if (!PyErr_Occurred())
17725  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
17726  return NULL;
17727  }
17728  arg5 = &temp5;
17729  }
17730  {
17731  SharedPyPtr input(obj5);
17732  arg6 = [input](int64_t i, int64_t j) {
17733  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
17734  };
17735  }
17736  {
17737  try {
17738  result = (operations_research::Constraint *)(arg1)->MakePathCumul((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4,(std::vector< operations_research::IntVar * > const &)*arg5,arg6);
17739  }
17740  catch (Swig::DirectorException &e) {
17741  SWIG_fail;
17742  }
17743  }
17745  return resultobj;
17746 fail:
17747  return NULL;
17748 }
17749 
17750 
17751 SWIGINTERN PyObject *_wrap_Solver_PathCumul(PyObject *self, PyObject *args) {
17752  Py_ssize_t argc;
17753  PyObject *argv[7] = {
17754  0
17755  };
17756  Py_ssize_t ii;
17757 
17758  if (!PyTuple_Check(args)) SWIG_fail;
17759  argc = PyObject_Length(args);
17760  for (ii = 0; (ii < 6) && (ii < argc); ii++) {
17761  argv[ii] = PyTuple_GET_ITEM(args,ii);
17762  }
17763  if (argc == 5) {
17764  int _v;
17765  void *vptr = 0;
17766  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
17767  _v = SWIG_CheckState(res);
17768  if (_v) {
17769  {
17770  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
17771  _v = 0;
17772  } else {
17773  const bool is_tuple = PyTuple_Check(argv[1]);
17774  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
17775  size_t i = 0;
17776  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
17777  :PyList_GetItem(argv[1], i))) {
17778  ++i;
17779  }
17780  _v = i == size;
17781  }
17782  }
17783  if (_v) {
17784  {
17785  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
17786  _v = 0;
17787  } else {
17788  const bool is_tuple = PyTuple_Check(argv[2]);
17789  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
17790  size_t i = 0;
17791  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
17792  :PyList_GetItem(argv[2], i))) {
17793  ++i;
17794  }
17795  _v = i == size;
17796  }
17797  }
17798  if (_v) {
17799  {
17800  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
17801  _v = 0;
17802  } else {
17803  const bool is_tuple = PyTuple_Check(argv[3]);
17804  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
17805  size_t i = 0;
17806  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
17807  :PyList_GetItem(argv[3], i))) {
17808  ++i;
17809  }
17810  _v = i == size;
17811  }
17812  }
17813  if (_v) {
17814  {
17815  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
17816  _v = 0;
17817  } else {
17818  const bool is_tuple = PyTuple_Check(argv[4]);
17819  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
17820  size_t i = 0;
17821  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[4], i)
17822  :PyList_GetItem(argv[4], i))) {
17823  ++i;
17824  }
17825  _v = i == size;
17826  }
17827  }
17828  if (_v) {
17829  return _wrap_Solver_PathCumul__SWIG_0(self, args);
17830  }
17831  }
17832  }
17833  }
17834  }
17835  }
17836  if (argc == 5) {
17837  int _v;
17838  void *vptr = 0;
17839  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
17840  _v = SWIG_CheckState(res);
17841  if (_v) {
17842  {
17843  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
17844  _v = 0;
17845  } else {
17846  const bool is_tuple = PyTuple_Check(argv[1]);
17847  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
17848  size_t i = 0;
17849  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
17850  :PyList_GetItem(argv[1], i))) {
17851  ++i;
17852  }
17853  _v = i == size;
17854  }
17855  }
17856  if (_v) {
17857  {
17858  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
17859  _v = 0;
17860  } else {
17861  const bool is_tuple = PyTuple_Check(argv[2]);
17862  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
17863  size_t i = 0;
17864  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
17865  :PyList_GetItem(argv[2], i))) {
17866  ++i;
17867  }
17868  _v = i == size;
17869  }
17870  }
17871  if (_v) {
17872  {
17873  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
17874  _v = 0;
17875  } else {
17876  const bool is_tuple = PyTuple_Check(argv[3]);
17877  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
17878  size_t i = 0;
17879  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
17880  :PyList_GetItem(argv[3], i))) {
17881  ++i;
17882  }
17883  _v = i == size;
17884  }
17885  }
17886  if (_v) {
17887  {
17888  _v = PyCallable_Check(argv[4]);
17889  }
17890  if (_v) {
17891  return _wrap_Solver_PathCumul__SWIG_1(self, args);
17892  }
17893  }
17894  }
17895  }
17896  }
17897  }
17898  if (argc == 6) {
17899  int _v;
17900  void *vptr = 0;
17901  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
17902  _v = SWIG_CheckState(res);
17903  if (_v) {
17904  {
17905  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
17906  _v = 0;
17907  } else {
17908  const bool is_tuple = PyTuple_Check(argv[1]);
17909  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
17910  size_t i = 0;
17911  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
17912  :PyList_GetItem(argv[1], i))) {
17913  ++i;
17914  }
17915  _v = i == size;
17916  }
17917  }
17918  if (_v) {
17919  {
17920  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
17921  _v = 0;
17922  } else {
17923  const bool is_tuple = PyTuple_Check(argv[2]);
17924  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
17925  size_t i = 0;
17926  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
17927  :PyList_GetItem(argv[2], i))) {
17928  ++i;
17929  }
17930  _v = i == size;
17931  }
17932  }
17933  if (_v) {
17934  {
17935  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
17936  _v = 0;
17937  } else {
17938  const bool is_tuple = PyTuple_Check(argv[3]);
17939  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
17940  size_t i = 0;
17941  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
17942  :PyList_GetItem(argv[3], i))) {
17943  ++i;
17944  }
17945  _v = i == size;
17946  }
17947  }
17948  if (_v) {
17949  {
17950  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
17951  _v = 0;
17952  } else {
17953  const bool is_tuple = PyTuple_Check(argv[4]);
17954  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
17955  size_t i = 0;
17956  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[4], i)
17957  :PyList_GetItem(argv[4], i))) {
17958  ++i;
17959  }
17960  _v = i == size;
17961  }
17962  }
17963  if (_v) {
17964  {
17965  _v = PyCallable_Check(argv[5]);
17966  }
17967  if (_v) {
17968  return _wrap_Solver_PathCumul__SWIG_2(self, args);
17969  }
17970  }
17971  }
17972  }
17973  }
17974  }
17975  }
17976 
17977 fail:
17978  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_PathCumul'.\n"
17979  " Possible C/C++ prototypes are:\n"
17980  " operations_research::Solver::MakePathCumul(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &)\n"
17981  " operations_research::Solver::MakePathCumul(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::Solver::IndexEvaluator2)\n"
17982  " operations_research::Solver::MakePathCumul(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::Solver::IndexEvaluator2)\n");
17983  return 0;
17984 }
17985 
17986 
17987 SWIGINTERN PyObject *_wrap_Solver_AllowedAssignments__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
17988  PyObject *resultobj = 0;
17990  std::vector< operations_research::IntVar * > *arg2 = 0 ;
17992  void *argp1 = 0 ;
17993  int res1 = 0 ;
17994  std::vector< operations_research::IntVar * > temp2 ;
17995  void *argp3 = 0 ;
17996  int res3 = 0 ;
17997  PyObject * obj0 = 0 ;
17998  PyObject * obj1 = 0 ;
17999  PyObject * obj2 = 0 ;
18000  operations_research::Constraint *result = 0 ;
18001 
18002  if (!PyArg_UnpackTuple(args, "Solver_AllowedAssignments", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
18003  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18004  if (!SWIG_IsOK(res1)) {
18005  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllowedAssignments" "', argument " "1"" of type '" "operations_research::Solver *""'");
18006  }
18007  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18008  {
18009  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18010  if (!PyErr_Occurred())
18011  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18012  return NULL;
18013  }
18014  arg2 = &temp2;
18015  }
18016  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_operations_research__IntTupleSet, 0 | 0);
18017  if (!SWIG_IsOK(res3)) {
18018  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_AllowedAssignments" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18019  }
18020  if (!argp3) {
18021  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_AllowedAssignments" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18022  }
18023  arg3 = reinterpret_cast< operations_research::IntTupleSet * >(argp3);
18024  {
18025  try {
18026  result = (operations_research::Constraint *)(arg1)->MakeAllowedAssignments((std::vector< operations_research::IntVar * > const &)*arg2,(operations_research::IntTupleSet const &)*arg3);
18027  }
18028  catch (Swig::DirectorException &e) {
18029  SWIG_fail;
18030  }
18031  }
18033  return resultobj;
18034 fail:
18035  return NULL;
18036 }
18037 
18038 
18039 SWIGINTERN PyObject *_wrap_Solver_TransitionConstraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
18040  PyObject *resultobj = 0;
18042  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18044  int64_t arg4 ;
18045  std::vector< int64_t > *arg5 = 0 ;
18046  void *argp1 = 0 ;
18047  int res1 = 0 ;
18048  std::vector< operations_research::IntVar * > temp2 ;
18049  void *argp3 = 0 ;
18050  int res3 = 0 ;
18051  long val4 ;
18052  int ecode4 = 0 ;
18053  std::vector< int64_t > temp5 ;
18054  PyObject * obj0 = 0 ;
18055  PyObject * obj1 = 0 ;
18056  PyObject * obj2 = 0 ;
18057  PyObject * obj3 = 0 ;
18058  PyObject * obj4 = 0 ;
18059  operations_research::Constraint *result = 0 ;
18060 
18061  if (!PyArg_UnpackTuple(args, "Solver_TransitionConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18062  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18063  if (!SWIG_IsOK(res1)) {
18064  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TransitionConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18065  }
18066  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18067  {
18068  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18069  if (!PyErr_Occurred())
18070  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18071  return NULL;
18072  }
18073  arg2 = &temp2;
18074  }
18075  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_operations_research__IntTupleSet, 0 | 0);
18076  if (!SWIG_IsOK(res3)) {
18077  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_TransitionConstraint" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18078  }
18079  if (!argp3) {
18080  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_TransitionConstraint" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18081  }
18082  arg3 = reinterpret_cast< operations_research::IntTupleSet * >(argp3);
18083  ecode4 = SWIG_AsVal_long(obj3, &val4);
18084  if (!SWIG_IsOK(ecode4)) {
18085  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_TransitionConstraint" "', argument " "4"" of type '" "int64_t""'");
18086  }
18087  arg4 = static_cast< int64_t >(val4);
18088  {
18089  if (!vector_input_helper(obj4, &temp5, PyObjAs<int64_t>)) {
18090  if (!PyErr_Occurred())
18091  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
18092  return NULL;
18093  }
18094  arg5 = &temp5;
18095  }
18096  {
18097  try {
18098  result = (operations_research::Constraint *)(arg1)->MakeTransitionConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(operations_research::IntTupleSet const &)*arg3,arg4,(std::vector< int64_t > const &)*arg5);
18099  }
18100  catch (Swig::DirectorException &e) {
18101  SWIG_fail;
18102  }
18103  }
18105  return resultobj;
18106 fail:
18107  return NULL;
18108 }
18109 
18110 
18111 SWIGINTERN PyObject *_wrap_Solver_TransitionConstraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
18112  PyObject *resultobj = 0;
18114  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18116  int64_t arg4 ;
18117  std::vector< int > *arg5 = 0 ;
18118  void *argp1 = 0 ;
18119  int res1 = 0 ;
18120  std::vector< operations_research::IntVar * > temp2 ;
18121  void *argp3 = 0 ;
18122  int res3 = 0 ;
18123  long val4 ;
18124  int ecode4 = 0 ;
18125  std::vector< int > temp5 ;
18126  PyObject * obj0 = 0 ;
18127  PyObject * obj1 = 0 ;
18128  PyObject * obj2 = 0 ;
18129  PyObject * obj3 = 0 ;
18130  PyObject * obj4 = 0 ;
18131  operations_research::Constraint *result = 0 ;
18132 
18133  if (!PyArg_UnpackTuple(args, "Solver_TransitionConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18134  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18135  if (!SWIG_IsOK(res1)) {
18136  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TransitionConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18137  }
18138  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18139  {
18140  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18141  if (!PyErr_Occurred())
18142  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18143  return NULL;
18144  }
18145  arg2 = &temp2;
18146  }
18147  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_operations_research__IntTupleSet, 0 | 0);
18148  if (!SWIG_IsOK(res3)) {
18149  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_TransitionConstraint" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18150  }
18151  if (!argp3) {
18152  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_TransitionConstraint" "', argument " "3"" of type '" "operations_research::IntTupleSet const &""'");
18153  }
18154  arg3 = reinterpret_cast< operations_research::IntTupleSet * >(argp3);
18155  ecode4 = SWIG_AsVal_long(obj3, &val4);
18156  if (!SWIG_IsOK(ecode4)) {
18157  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_TransitionConstraint" "', argument " "4"" of type '" "int64_t""'");
18158  }
18159  arg4 = static_cast< int64_t >(val4);
18160  {
18161  if (!vector_input_helper(obj4, &temp5, PyObjAs<int>)) {
18162  if (!PyErr_Occurred())
18163  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
18164  return NULL;
18165  }
18166  arg5 = &temp5;
18167  }
18168  {
18169  try {
18170  result = (operations_research::Constraint *)(arg1)->MakeTransitionConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(operations_research::IntTupleSet const &)*arg3,arg4,(std::vector< int > const &)*arg5);
18171  }
18172  catch (Swig::DirectorException &e) {
18173  SWIG_fail;
18174  }
18175  }
18177  return resultobj;
18178 fail:
18179  return NULL;
18180 }
18181 
18182 
18183 SWIGINTERN PyObject *_wrap_Solver_AllowedAssignments__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
18184  PyObject *resultobj = 0;
18186  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18187  std::vector< std::vector< int64_t > > *arg3 = 0 ;
18188  void *argp1 = 0 ;
18189  int res1 = 0 ;
18190  std::vector< operations_research::IntVar * > temp2 ;
18191  std::vector< std::vector< int64_t > > temp3 ;
18192  PyObject * obj0 = 0 ;
18193  PyObject * obj1 = 0 ;
18194  PyObject * obj2 = 0 ;
18195  operations_research::Constraint *result = 0 ;
18196 
18197  if (!PyArg_UnpackTuple(args, "Solver_AllowedAssignments", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
18198  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18199  if (!SWIG_IsOK(res1)) {
18200  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllowedAssignments" "', argument " "1"" of type '" "operations_research::Solver *""'");
18201  }
18202  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18203  {
18204  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18205  if (!PyErr_Occurred())
18206  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18207  return NULL;
18208  }
18209  arg2 = &temp2;
18210  }
18211  {
18212  if (!PyList_Check(obj2)) {
18213  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
18214  SWIG_fail;
18215  }
18216  int len = PyList_Size(obj2);
18217  int arity = -1;
18218  if (len > 0) {
18219  temp3.resize(len);
18220  for (size_t i = 0; i < len; ++i) {
18221  PyObject *tuple = PyList_GetItem(obj2, i);
18222  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
18223  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
18224  SWIG_fail;
18225  }
18226  bool is_tuple = PyTuple_Check(tuple);
18227  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
18228  temp3[i].resize(arity);
18229  for (size_t j = 0; j < arity; ++j) {
18230  bool success = PyObjAs<int64_t>(
18231  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
18232  &temp3[i][j]);
18233  if (!success) {
18234  SWIG_fail;
18235  }
18236  }
18237  }
18238  }
18239  arg3 = &temp3;
18240  }
18241  {
18242  try {
18243  result = (operations_research::Constraint *)(arg1)->MakeAllowedAssignments((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< std::vector< int64_t > > const &)*arg3);
18244  }
18245  catch (Swig::DirectorException &e) {
18246  SWIG_fail;
18247  }
18248  }
18250  return resultobj;
18251 fail:
18252  return NULL;
18253 }
18254 
18255 
18256 SWIGINTERN PyObject *_wrap_Solver_AllowedAssignments(PyObject *self, PyObject *args) {
18257  Py_ssize_t argc;
18258  PyObject *argv[4] = {
18259  0
18260  };
18261  Py_ssize_t ii;
18262 
18263  if (!PyTuple_Check(args)) SWIG_fail;
18264  argc = PyObject_Length(args);
18265  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
18266  argv[ii] = PyTuple_GET_ITEM(args,ii);
18267  }
18268  if (argc == 3) {
18269  int _v;
18270  void *vptr = 0;
18271  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18272  _v = SWIG_CheckState(res);
18273  if (_v) {
18274  {
18275  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18276  _v = 0;
18277  } else {
18278  const bool is_tuple = PyTuple_Check(argv[1]);
18279  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18280  size_t i = 0;
18281  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18282  :PyList_GetItem(argv[1], i))) {
18283  ++i;
18284  }
18285  _v = i == size;
18286  }
18287  }
18288  if (_v) {
18290  _v = SWIG_CheckState(res);
18291  if (_v) {
18292  return _wrap_Solver_AllowedAssignments__SWIG_0(self, args);
18293  }
18294  }
18295  }
18296  }
18297  if (argc == 3) {
18298  int _v;
18299  void *vptr = 0;
18300  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18301  _v = SWIG_CheckState(res);
18302  if (_v) {
18303  {
18304  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18305  _v = 0;
18306  } else {
18307  const bool is_tuple = PyTuple_Check(argv[1]);
18308  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18309  size_t i = 0;
18310  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18311  :PyList_GetItem(argv[1], i))) {
18312  ++i;
18313  }
18314  _v = i == size;
18315  }
18316  }
18317  if (_v) {
18318  {
18319  if (!PyList_Check(argv[2])) {
18320  _v = 0;
18321  } else {
18322  const int size = PyList_Size(argv[2]);
18323  bool failed = false;
18324  for (size_t i = 0; i < size; ++i) {
18325  PyObject* const tuple = PyList_GetItem(argv[2], i);
18326  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
18327  _v = 0;
18328  break;
18329  } else {
18330  const bool is_tuple = PyTuple_Check(tuple);
18331  const int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
18332  for (size_t j = 0; j < arity; ++j) {
18333  PyObject* const entry =
18334  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j);
18335  if (!SwigPyIntOrLong_Check(entry)) {
18336  failed = true;
18337  break;
18338  }
18339  }
18340  }
18341  if (failed) {
18342  break;
18343  }
18344  }
18345  _v = failed ? 0 : 1;
18346  }
18347  }
18348  if (_v) {
18349  return _wrap_Solver_AllowedAssignments__SWIG_1(self, args);
18350  }
18351  }
18352  }
18353  }
18354 
18355 fail:
18356  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_AllowedAssignments'.\n"
18357  " Possible C/C++ prototypes are:\n"
18358  " operations_research::Solver::MakeAllowedAssignments(std::vector< operations_research::IntVar * > const &,operations_research::IntTupleSet const &)\n"
18359  " operations_research::Solver::MakeAllowedAssignments(std::vector< operations_research::IntVar * > const &,std::vector< std::vector< int64_t > > const &)\n");
18360  return 0;
18361 }
18362 
18363 
18364 SWIGINTERN PyObject *_wrap_Solver_TransitionConstraint__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
18365  PyObject *resultobj = 0;
18367  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18368  std::vector< std::vector< int64_t > > *arg3 = 0 ;
18369  int64_t arg4 ;
18370  std::vector< int > *arg5 = 0 ;
18371  void *argp1 = 0 ;
18372  int res1 = 0 ;
18373  std::vector< operations_research::IntVar * > temp2 ;
18374  std::vector< std::vector< int64_t > > temp3 ;
18375  long val4 ;
18376  int ecode4 = 0 ;
18377  std::vector< int > temp5 ;
18378  PyObject * obj0 = 0 ;
18379  PyObject * obj1 = 0 ;
18380  PyObject * obj2 = 0 ;
18381  PyObject * obj3 = 0 ;
18382  PyObject * obj4 = 0 ;
18383  operations_research::Constraint *result = 0 ;
18384 
18385  if (!PyArg_UnpackTuple(args, "Solver_TransitionConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18386  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18387  if (!SWIG_IsOK(res1)) {
18388  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TransitionConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18389  }
18390  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18391  {
18392  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18393  if (!PyErr_Occurred())
18394  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18395  return NULL;
18396  }
18397  arg2 = &temp2;
18398  }
18399  {
18400  if (!PyList_Check(obj2)) {
18401  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
18402  SWIG_fail;
18403  }
18404  int len = PyList_Size(obj2);
18405  int arity = -1;
18406  if (len > 0) {
18407  temp3.resize(len);
18408  for (size_t i = 0; i < len; ++i) {
18409  PyObject *tuple = PyList_GetItem(obj2, i);
18410  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
18411  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
18412  SWIG_fail;
18413  }
18414  bool is_tuple = PyTuple_Check(tuple);
18415  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
18416  temp3[i].resize(arity);
18417  for (size_t j = 0; j < arity; ++j) {
18418  bool success = PyObjAs<int64_t>(
18419  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
18420  &temp3[i][j]);
18421  if (!success) {
18422  SWIG_fail;
18423  }
18424  }
18425  }
18426  }
18427  arg3 = &temp3;
18428  }
18429  ecode4 = SWIG_AsVal_long(obj3, &val4);
18430  if (!SWIG_IsOK(ecode4)) {
18431  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_TransitionConstraint" "', argument " "4"" of type '" "int64_t""'");
18432  }
18433  arg4 = static_cast< int64_t >(val4);
18434  {
18435  if (!vector_input_helper(obj4, &temp5, PyObjAs<int>)) {
18436  if (!PyErr_Occurred())
18437  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
18438  return NULL;
18439  }
18440  arg5 = &temp5;
18441  }
18442  {
18443  try {
18444  result = (operations_research::Constraint *)(arg1)->MakeTransitionConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< std::vector< int64_t > > const &)*arg3,arg4,(std::vector< int > const &)*arg5);
18445  }
18446  catch (Swig::DirectorException &e) {
18447  SWIG_fail;
18448  }
18449  }
18451  return resultobj;
18452 fail:
18453  return NULL;
18454 }
18455 
18456 
18457 SWIGINTERN PyObject *_wrap_Solver_TransitionConstraint(PyObject *self, PyObject *args) {
18458  Py_ssize_t argc;
18459  PyObject *argv[6] = {
18460  0
18461  };
18462  Py_ssize_t ii;
18463 
18464  if (!PyTuple_Check(args)) SWIG_fail;
18465  argc = PyObject_Length(args);
18466  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
18467  argv[ii] = PyTuple_GET_ITEM(args,ii);
18468  }
18469  if (argc == 5) {
18470  int _v;
18471  void *vptr = 0;
18472  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18473  _v = SWIG_CheckState(res);
18474  if (_v) {
18475  {
18476  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18477  _v = 0;
18478  } else {
18479  const bool is_tuple = PyTuple_Check(argv[1]);
18480  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18481  size_t i = 0;
18482  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18483  :PyList_GetItem(argv[1], i))) {
18484  ++i;
18485  }
18486  _v = i == size;
18487  }
18488  }
18489  if (_v) {
18491  _v = SWIG_CheckState(res);
18492  if (_v) {
18493  {
18494  int res = SWIG_AsVal_long(argv[3], NULL);
18495  _v = SWIG_CheckState(res);
18496  }
18497  if (_v) {
18498  {
18499  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
18500  _v = 0;
18501  } else {
18502  const bool is_tuple = PyTuple_Check(argv[4]);
18503  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
18504  size_t i = 0;
18505  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
18506  :PyList_GetItem(argv[4], i))) {
18507  ++i;
18508  }
18509  _v = i == size;
18510  }
18511  }
18512  if (_v) {
18513  return _wrap_Solver_TransitionConstraint__SWIG_0(self, args);
18514  }
18515  }
18516  }
18517  }
18518  }
18519  }
18520  if (argc == 5) {
18521  int _v;
18522  void *vptr = 0;
18523  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18524  _v = SWIG_CheckState(res);
18525  if (_v) {
18526  {
18527  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18528  _v = 0;
18529  } else {
18530  const bool is_tuple = PyTuple_Check(argv[1]);
18531  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18532  size_t i = 0;
18533  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18534  :PyList_GetItem(argv[1], i))) {
18535  ++i;
18536  }
18537  _v = i == size;
18538  }
18539  }
18540  if (_v) {
18542  _v = SWIG_CheckState(res);
18543  if (_v) {
18544  {
18545  int res = SWIG_AsVal_long(argv[3], NULL);
18546  _v = SWIG_CheckState(res);
18547  }
18548  if (_v) {
18549  {
18550  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
18551  _v = 0;
18552  } else {
18553  const bool is_tuple = PyTuple_Check(argv[4]);
18554  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
18555  size_t i = 0;
18556  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
18557  :PyList_GetItem(argv[4], i))) {
18558  ++i;
18559  }
18560  _v = i == size;
18561  }
18562  }
18563  if (_v) {
18564  return _wrap_Solver_TransitionConstraint__SWIG_1(self, args);
18565  }
18566  }
18567  }
18568  }
18569  }
18570  }
18571  if (argc == 5) {
18572  int _v;
18573  void *vptr = 0;
18574  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18575  _v = SWIG_CheckState(res);
18576  if (_v) {
18577  {
18578  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18579  _v = 0;
18580  } else {
18581  const bool is_tuple = PyTuple_Check(argv[1]);
18582  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18583  size_t i = 0;
18584  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18585  :PyList_GetItem(argv[1], i))) {
18586  ++i;
18587  }
18588  _v = i == size;
18589  }
18590  }
18591  if (_v) {
18592  {
18593  if (!PyList_Check(argv[2])) {
18594  _v = 0;
18595  } else {
18596  const int size = PyList_Size(argv[2]);
18597  bool failed = false;
18598  for (size_t i = 0; i < size; ++i) {
18599  PyObject* const tuple = PyList_GetItem(argv[2], i);
18600  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
18601  _v = 0;
18602  break;
18603  } else {
18604  const bool is_tuple = PyTuple_Check(tuple);
18605  const int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
18606  for (size_t j = 0; j < arity; ++j) {
18607  PyObject* const entry =
18608  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j);
18609  if (!SwigPyIntOrLong_Check(entry)) {
18610  failed = true;
18611  break;
18612  }
18613  }
18614  }
18615  if (failed) {
18616  break;
18617  }
18618  }
18619  _v = failed ? 0 : 1;
18620  }
18621  }
18622  if (_v) {
18623  {
18624  int res = SWIG_AsVal_long(argv[3], NULL);
18625  _v = SWIG_CheckState(res);
18626  }
18627  if (_v) {
18628  {
18629  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
18630  _v = 0;
18631  } else {
18632  const bool is_tuple = PyTuple_Check(argv[4]);
18633  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
18634  size_t i = 0;
18635  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
18636  :PyList_GetItem(argv[4], i))) {
18637  ++i;
18638  }
18639  _v = i == size;
18640  }
18641  }
18642  if (_v) {
18643  return _wrap_Solver_TransitionConstraint__SWIG_2(self, args);
18644  }
18645  }
18646  }
18647  }
18648  }
18649  }
18650 
18651 fail:
18652  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_TransitionConstraint'.\n"
18653  " Possible C/C++ prototypes are:\n"
18654  " operations_research::Solver::MakeTransitionConstraint(std::vector< operations_research::IntVar * > const &,operations_research::IntTupleSet const &,int64_t,std::vector< int64_t > const &)\n"
18655  " operations_research::Solver::MakeTransitionConstraint(std::vector< operations_research::IntVar * > const &,operations_research::IntTupleSet const &,int64_t,std::vector< int > const &)\n"
18656  " operations_research::Solver::MakeTransitionConstraint(std::vector< operations_research::IntVar * > const &,std::vector< std::vector< int64_t > > const &,int64_t,std::vector< int > const &)\n");
18657  return 0;
18658 }
18659 
18660 
18662  PyObject *resultobj = 0;
18664  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18665  std::vector< operations_research::IntVar * > *arg3 = 0 ;
18666  std::vector< operations_research::IntVar * > *arg4 = 0 ;
18667  std::vector< operations_research::IntVar * > *arg5 = 0 ;
18668  void *argp1 = 0 ;
18669  int res1 = 0 ;
18670  std::vector< operations_research::IntVar * > temp2 ;
18671  std::vector< operations_research::IntVar * > temp3 ;
18672  std::vector< operations_research::IntVar * > temp4 ;
18673  std::vector< operations_research::IntVar * > temp5 ;
18674  PyObject * obj0 = 0 ;
18675  PyObject * obj1 = 0 ;
18676  PyObject * obj2 = 0 ;
18677  PyObject * obj3 = 0 ;
18678  PyObject * obj4 = 0 ;
18679  operations_research::Constraint *result = 0 ;
18680 
18681  if (!PyArg_UnpackTuple(args, "Solver_NonOverlappingBoxesConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18682  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18683  if (!SWIG_IsOK(res1)) {
18684  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NonOverlappingBoxesConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18685  }
18686  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18687  {
18688  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18689  if (!PyErr_Occurred())
18690  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18691  return NULL;
18692  }
18693  arg2 = &temp2;
18694  }
18695  {
18696  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
18697  if (!PyErr_Occurred())
18698  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18699  return NULL;
18700  }
18701  arg3 = &temp3;
18702  }
18703  {
18704  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
18705  if (!PyErr_Occurred())
18706  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18707  return NULL;
18708  }
18709  arg4 = &temp4;
18710  }
18711  {
18712  if (!vector_input_helper(obj4, &temp5, PyObjAs<operations_research::IntVar*>)) {
18713  if (!PyErr_Occurred())
18714  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18715  return NULL;
18716  }
18717  arg5 = &temp5;
18718  }
18719  {
18720  try {
18721  result = (operations_research::Constraint *)(arg1)->MakeNonOverlappingBoxesConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< operations_research::IntVar * > const &)*arg4,(std::vector< operations_research::IntVar * > const &)*arg5);
18722  }
18723  catch (Swig::DirectorException &e) {
18724  SWIG_fail;
18725  }
18726  }
18728  return resultobj;
18729 fail:
18730  return NULL;
18731 }
18732 
18733 
18735  PyObject *resultobj = 0;
18737  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18738  std::vector< operations_research::IntVar * > *arg3 = 0 ;
18739  std::vector< int64_t > *arg4 = 0 ;
18740  std::vector< int64_t > *arg5 = 0 ;
18741  void *argp1 = 0 ;
18742  int res1 = 0 ;
18743  std::vector< operations_research::IntVar * > temp2 ;
18744  std::vector< operations_research::IntVar * > temp3 ;
18745  std::vector< int64_t > temp4 ;
18746  std::vector< int64_t > temp5 ;
18747  PyObject * obj0 = 0 ;
18748  PyObject * obj1 = 0 ;
18749  PyObject * obj2 = 0 ;
18750  PyObject * obj3 = 0 ;
18751  PyObject * obj4 = 0 ;
18752  operations_research::Constraint *result = 0 ;
18753 
18754  if (!PyArg_UnpackTuple(args, "Solver_NonOverlappingBoxesConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18755  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18756  if (!SWIG_IsOK(res1)) {
18757  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NonOverlappingBoxesConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18758  }
18759  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18760  {
18761  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18762  if (!PyErr_Occurred())
18763  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18764  return NULL;
18765  }
18766  arg2 = &temp2;
18767  }
18768  {
18769  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
18770  if (!PyErr_Occurred())
18771  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18772  return NULL;
18773  }
18774  arg3 = &temp3;
18775  }
18776  {
18777  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
18778  if (!PyErr_Occurred())
18779  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
18780  return NULL;
18781  }
18782  arg4 = &temp4;
18783  }
18784  {
18785  if (!vector_input_helper(obj4, &temp5, PyObjAs<int64_t>)) {
18786  if (!PyErr_Occurred())
18787  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
18788  return NULL;
18789  }
18790  arg5 = &temp5;
18791  }
18792  {
18793  try {
18794  result = (operations_research::Constraint *)(arg1)->MakeNonOverlappingBoxesConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< int64_t > const &)*arg4,(std::vector< int64_t > const &)*arg5);
18795  }
18796  catch (Swig::DirectorException &e) {
18797  SWIG_fail;
18798  }
18799  }
18801  return resultobj;
18802 fail:
18803  return NULL;
18804 }
18805 
18806 
18808  PyObject *resultobj = 0;
18810  std::vector< operations_research::IntVar * > *arg2 = 0 ;
18811  std::vector< operations_research::IntVar * > *arg3 = 0 ;
18812  std::vector< int > *arg4 = 0 ;
18813  std::vector< int > *arg5 = 0 ;
18814  void *argp1 = 0 ;
18815  int res1 = 0 ;
18816  std::vector< operations_research::IntVar * > temp2 ;
18817  std::vector< operations_research::IntVar * > temp3 ;
18818  std::vector< int > temp4 ;
18819  std::vector< int > temp5 ;
18820  PyObject * obj0 = 0 ;
18821  PyObject * obj1 = 0 ;
18822  PyObject * obj2 = 0 ;
18823  PyObject * obj3 = 0 ;
18824  PyObject * obj4 = 0 ;
18825  operations_research::Constraint *result = 0 ;
18826 
18827  if (!PyArg_UnpackTuple(args, "Solver_NonOverlappingBoxesConstraint", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
18828  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
18829  if (!SWIG_IsOK(res1)) {
18830  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NonOverlappingBoxesConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
18831  }
18832  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
18833  {
18834  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
18835  if (!PyErr_Occurred())
18836  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18837  return NULL;
18838  }
18839  arg2 = &temp2;
18840  }
18841  {
18842  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
18843  if (!PyErr_Occurred())
18844  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
18845  return NULL;
18846  }
18847  arg3 = &temp3;
18848  }
18849  {
18850  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
18851  if (!PyErr_Occurred())
18852  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
18853  return NULL;
18854  }
18855  arg4 = &temp4;
18856  }
18857  {
18858  if (!vector_input_helper(obj4, &temp5, PyObjAs<int>)) {
18859  if (!PyErr_Occurred())
18860  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
18861  return NULL;
18862  }
18863  arg5 = &temp5;
18864  }
18865  {
18866  try {
18867  result = (operations_research::Constraint *)(arg1)->MakeNonOverlappingBoxesConstraint((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< int > const &)*arg4,(std::vector< int > const &)*arg5);
18868  }
18869  catch (Swig::DirectorException &e) {
18870  SWIG_fail;
18871  }
18872  }
18874  return resultobj;
18875 fail:
18876  return NULL;
18877 }
18878 
18879 
18880 SWIGINTERN PyObject *_wrap_Solver_NonOverlappingBoxesConstraint(PyObject *self, PyObject *args) {
18881  Py_ssize_t argc;
18882  PyObject *argv[6] = {
18883  0
18884  };
18885  Py_ssize_t ii;
18886 
18887  if (!PyTuple_Check(args)) SWIG_fail;
18888  argc = PyObject_Length(args);
18889  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
18890  argv[ii] = PyTuple_GET_ITEM(args,ii);
18891  }
18892  if (argc == 5) {
18893  int _v;
18894  void *vptr = 0;
18895  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18896  _v = SWIG_CheckState(res);
18897  if (_v) {
18898  {
18899  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18900  _v = 0;
18901  } else {
18902  const bool is_tuple = PyTuple_Check(argv[1]);
18903  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18904  size_t i = 0;
18905  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18906  :PyList_GetItem(argv[1], i))) {
18907  ++i;
18908  }
18909  _v = i == size;
18910  }
18911  }
18912  if (_v) {
18913  {
18914  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
18915  _v = 0;
18916  } else {
18917  const bool is_tuple = PyTuple_Check(argv[2]);
18918  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
18919  size_t i = 0;
18920  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
18921  :PyList_GetItem(argv[2], i))) {
18922  ++i;
18923  }
18924  _v = i == size;
18925  }
18926  }
18927  if (_v) {
18928  {
18929  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
18930  _v = 0;
18931  } else {
18932  const bool is_tuple = PyTuple_Check(argv[3]);
18933  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
18934  size_t i = 0;
18935  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[3], i)
18936  :PyList_GetItem(argv[3], i))) {
18937  ++i;
18938  }
18939  _v = i == size;
18940  }
18941  }
18942  if (_v) {
18943  {
18944  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
18945  _v = 0;
18946  } else {
18947  const bool is_tuple = PyTuple_Check(argv[4]);
18948  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
18949  size_t i = 0;
18950  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[4], i)
18951  :PyList_GetItem(argv[4], i))) {
18952  ++i;
18953  }
18954  _v = i == size;
18955  }
18956  }
18957  if (_v) {
18959  }
18960  }
18961  }
18962  }
18963  }
18964  }
18965  if (argc == 5) {
18966  int _v;
18967  void *vptr = 0;
18968  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
18969  _v = SWIG_CheckState(res);
18970  if (_v) {
18971  {
18972  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
18973  _v = 0;
18974  } else {
18975  const bool is_tuple = PyTuple_Check(argv[1]);
18976  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
18977  size_t i = 0;
18978  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
18979  :PyList_GetItem(argv[1], i))) {
18980  ++i;
18981  }
18982  _v = i == size;
18983  }
18984  }
18985  if (_v) {
18986  {
18987  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
18988  _v = 0;
18989  } else {
18990  const bool is_tuple = PyTuple_Check(argv[2]);
18991  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
18992  size_t i = 0;
18993  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
18994  :PyList_GetItem(argv[2], i))) {
18995  ++i;
18996  }
18997  _v = i == size;
18998  }
18999  }
19000  if (_v) {
19001  {
19002  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
19003  _v = 0;
19004  } else {
19005  const bool is_tuple = PyTuple_Check(argv[3]);
19006  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
19007  size_t i = 0;
19008  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
19009  :PyList_GetItem(argv[3], i))) {
19010  ++i;
19011  }
19012  _v = i == size;
19013  }
19014  }
19015  if (_v) {
19016  {
19017  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
19018  _v = 0;
19019  } else {
19020  const bool is_tuple = PyTuple_Check(argv[4]);
19021  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
19022  size_t i = 0;
19023  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
19024  :PyList_GetItem(argv[4], i))) {
19025  ++i;
19026  }
19027  _v = i == size;
19028  }
19029  }
19030  if (_v) {
19032  }
19033  }
19034  }
19035  }
19036  }
19037  }
19038  if (argc == 5) {
19039  int _v;
19040  void *vptr = 0;
19041  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
19042  _v = SWIG_CheckState(res);
19043  if (_v) {
19044  {
19045  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
19046  _v = 0;
19047  } else {
19048  const bool is_tuple = PyTuple_Check(argv[1]);
19049  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
19050  size_t i = 0;
19051  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
19052  :PyList_GetItem(argv[1], i))) {
19053  ++i;
19054  }
19055  _v = i == size;
19056  }
19057  }
19058  if (_v) {
19059  {
19060  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
19061  _v = 0;
19062  } else {
19063  const bool is_tuple = PyTuple_Check(argv[2]);
19064  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
19065  size_t i = 0;
19066  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
19067  :PyList_GetItem(argv[2], i))) {
19068  ++i;
19069  }
19070  _v = i == size;
19071  }
19072  }
19073  if (_v) {
19074  {
19075  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
19076  _v = 0;
19077  } else {
19078  const bool is_tuple = PyTuple_Check(argv[3]);
19079  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
19080  size_t i = 0;
19081  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
19082  :PyList_GetItem(argv[3], i))) {
19083  ++i;
19084  }
19085  _v = i == size;
19086  }
19087  }
19088  if (_v) {
19089  {
19090  if (!PyTuple_Check(argv[4]) && !PyList_Check(argv[4])) {
19091  _v = 0;
19092  } else {
19093  const bool is_tuple = PyTuple_Check(argv[4]);
19094  const size_t size = is_tuple ? PyTuple_Size(argv[4]) : PyList_Size(argv[4]);
19095  size_t i = 0;
19096  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[4], i)
19097  :PyList_GetItem(argv[4], i))) {
19098  ++i;
19099  }
19100  _v = i == size;
19101  }
19102  }
19103  if (_v) {
19105  }
19106  }
19107  }
19108  }
19109  }
19110  }
19111 
19112 fail:
19113  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_NonOverlappingBoxesConstraint'.\n"
19114  " Possible C/C++ prototypes are:\n"
19115  " operations_research::Solver::MakeNonOverlappingBoxesConstraint(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &)\n"
19116  " operations_research::Solver::MakeNonOverlappingBoxesConstraint(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,std::vector< int64_t > const &)\n"
19117  " operations_research::Solver::MakeNonOverlappingBoxesConstraint(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,std::vector< int > const &,std::vector< int > const &)\n");
19118  return 0;
19119 }
19120 
19121 
19122 SWIGINTERN PyObject *_wrap_Solver_Pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19123  PyObject *resultobj = 0;
19125  std::vector< operations_research::IntVar * > *arg2 = 0 ;
19126  int arg3 ;
19127  void *argp1 = 0 ;
19128  int res1 = 0 ;
19129  std::vector< operations_research::IntVar * > temp2 ;
19130  int val3 ;
19131  int ecode3 = 0 ;
19132  PyObject * obj0 = 0 ;
19133  PyObject * obj1 = 0 ;
19134  PyObject * obj2 = 0 ;
19135  operations_research::Pack *result = 0 ;
19136 
19137  if (!PyArg_UnpackTuple(args, "Solver_Pack", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
19138  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19139  if (!SWIG_IsOK(res1)) {
19140  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Pack" "', argument " "1"" of type '" "operations_research::Solver *""'");
19141  }
19142  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19143  {
19144  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
19145  if (!PyErr_Occurred())
19146  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
19147  return NULL;
19148  }
19149  arg2 = &temp2;
19150  }
19151  ecode3 = SWIG_AsVal_int(obj2, &val3);
19152  if (!SWIG_IsOK(ecode3)) {
19153  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Pack" "', argument " "3"" of type '" "int""'");
19154  }
19155  arg3 = static_cast< int >(val3);
19156  {
19157  try {
19158  result = (operations_research::Pack *)(arg1)->MakePack((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
19159  }
19160  catch (Swig::DirectorException &e) {
19161  SWIG_fail;
19162  }
19163  }
19165  return resultobj;
19166 fail:
19167  return NULL;
19168 }
19169 
19170 
19172  PyObject *resultobj = 0;
19174  int64_t arg2 ;
19175  int64_t arg3 ;
19176  int64_t arg4 ;
19177  bool arg5 ;
19178  std::string *arg6 = 0 ;
19179  void *argp1 = 0 ;
19180  int res1 = 0 ;
19181  long val2 ;
19182  int ecode2 = 0 ;
19183  long val3 ;
19184  int ecode3 = 0 ;
19185  long val4 ;
19186  int ecode4 = 0 ;
19187  bool val5 ;
19188  int ecode5 = 0 ;
19189  int res6 = SWIG_OLDOBJ ;
19190  PyObject * obj0 = 0 ;
19191  PyObject * obj1 = 0 ;
19192  PyObject * obj2 = 0 ;
19193  PyObject * obj3 = 0 ;
19194  PyObject * obj4 = 0 ;
19195  PyObject * obj5 = 0 ;
19196  operations_research::IntervalVar *result = 0 ;
19197 
19198  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationIntervalVar", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
19199  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19200  if (!SWIG_IsOK(res1)) {
19201  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19202  }
19203  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19204  ecode2 = SWIG_AsVal_long(obj1, &val2);
19205  if (!SWIG_IsOK(ecode2)) {
19206  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "2"" of type '" "int64_t""'");
19207  }
19208  arg2 = static_cast< int64_t >(val2);
19209  ecode3 = SWIG_AsVal_long(obj2, &val3);
19210  if (!SWIG_IsOK(ecode3)) {
19211  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19212  }
19213  arg3 = static_cast< int64_t >(val3);
19214  ecode4 = SWIG_AsVal_long(obj3, &val4);
19215  if (!SWIG_IsOK(ecode4)) {
19216  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "4"" of type '" "int64_t""'");
19217  }
19218  arg4 = static_cast< int64_t >(val4);
19219  ecode5 = SWIG_AsVal_bool(obj4, &val5);
19220  if (!SWIG_IsOK(ecode5)) {
19221  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "5"" of type '" "bool""'");
19222  }
19223  arg5 = static_cast< bool >(val5);
19224  {
19225  std::string *ptr = (std::string *)0;
19226  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
19227  if (!SWIG_IsOK(res6)) {
19228  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "6"" of type '" "std::string const &""'");
19229  }
19230  if (!ptr) {
19231  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_FixedDurationIntervalVar" "', argument " "6"" of type '" "std::string const &""'");
19232  }
19233  arg6 = ptr;
19234  }
19235  {
19236  try {
19237  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationIntervalVar(arg2,arg3,arg4,arg5,(std::string const &)*arg6);
19238  }
19239  catch (Swig::DirectorException &e) {
19240  SWIG_fail;
19241  }
19242  }
19244  if (SWIG_IsNewObj(res6)) delete arg6;
19245  return resultobj;
19246 fail:
19247  if (SWIG_IsNewObj(res6)) delete arg6;
19248  return NULL;
19249 }
19250 
19251 
19253  PyObject *resultobj = 0;
19256  int64_t arg3 ;
19257  std::string *arg4 = 0 ;
19258  void *argp1 = 0 ;
19259  int res1 = 0 ;
19260  long val3 ;
19261  int ecode3 = 0 ;
19262  int res4 = SWIG_OLDOBJ ;
19263  PyObject * obj0 = 0 ;
19264  PyObject * obj1 = 0 ;
19265  PyObject * obj2 = 0 ;
19266  PyObject * obj3 = 0 ;
19267  operations_research::IntervalVar *result = 0 ;
19268 
19269  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationIntervalVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19270  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19271  if (!SWIG_IsOK(res1)) {
19272  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19273  }
19274  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19275  {
19276  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19277  }
19278  ecode3 = SWIG_AsVal_long(obj2, &val3);
19279  if (!SWIG_IsOK(ecode3)) {
19280  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19281  }
19282  arg3 = static_cast< int64_t >(val3);
19283  {
19284  std::string *ptr = (std::string *)0;
19285  res4 = SWIG_AsPtr_std_string(obj3, &ptr);
19286  if (!SWIG_IsOK(res4)) {
19287  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "4"" of type '" "std::string const &""'");
19288  }
19289  if (!ptr) {
19290  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_FixedDurationIntervalVar" "', argument " "4"" of type '" "std::string const &""'");
19291  }
19292  arg4 = ptr;
19293  }
19294  {
19295  try {
19296  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationIntervalVar(arg2,arg3,(std::string const &)*arg4);
19297  }
19298  catch (Swig::DirectorException &e) {
19299  SWIG_fail;
19300  }
19301  }
19303  if (SWIG_IsNewObj(res4)) delete arg4;
19304  return resultobj;
19305 fail:
19306  if (SWIG_IsNewObj(res4)) delete arg4;
19307  return NULL;
19308 }
19309 
19310 
19312  PyObject *resultobj = 0;
19315  int64_t arg3 ;
19317  std::string *arg5 = 0 ;
19318  void *argp1 = 0 ;
19319  int res1 = 0 ;
19320  long val3 ;
19321  int ecode3 = 0 ;
19322  int res5 = SWIG_OLDOBJ ;
19323  PyObject * obj0 = 0 ;
19324  PyObject * obj1 = 0 ;
19325  PyObject * obj2 = 0 ;
19326  PyObject * obj3 = 0 ;
19327  PyObject * obj4 = 0 ;
19328  operations_research::IntervalVar *result = 0 ;
19329 
19330  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationIntervalVar", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
19331  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19332  if (!SWIG_IsOK(res1)) {
19333  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19334  }
19335  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19336  {
19337  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19338  }
19339  ecode3 = SWIG_AsVal_long(obj2, &val3);
19340  if (!SWIG_IsOK(ecode3)) {
19341  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19342  }
19343  arg3 = static_cast< int64_t >(val3);
19344  {
19345  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
19346  }
19347  {
19348  std::string *ptr = (std::string *)0;
19349  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
19350  if (!SWIG_IsOK(res5)) {
19351  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_FixedDurationIntervalVar" "', argument " "5"" of type '" "std::string const &""'");
19352  }
19353  if (!ptr) {
19354  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_FixedDurationIntervalVar" "', argument " "5"" of type '" "std::string const &""'");
19355  }
19356  arg5 = ptr;
19357  }
19358  {
19359  try {
19360  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationIntervalVar(arg2,arg3,arg4,(std::string const &)*arg5);
19361  }
19362  catch (Swig::DirectorException &e) {
19363  SWIG_fail;
19364  }
19365  }
19367  if (SWIG_IsNewObj(res5)) delete arg5;
19368  return resultobj;
19369 fail:
19370  if (SWIG_IsNewObj(res5)) delete arg5;
19371  return NULL;
19372 }
19373 
19374 
19375 SWIGINTERN PyObject *_wrap_Solver_FixedDurationIntervalVar(PyObject *self, PyObject *args) {
19376  Py_ssize_t argc;
19377  PyObject *argv[7] = {
19378  0
19379  };
19380  Py_ssize_t ii;
19381 
19382  if (!PyTuple_Check(args)) SWIG_fail;
19383  argc = PyObject_Length(args);
19384  for (ii = 0; (ii < 6) && (ii < argc); ii++) {
19385  argv[ii] = PyTuple_GET_ITEM(args,ii);
19386  }
19387  if (argc == 4) {
19388  int _v;
19389  void *vptr = 0;
19390  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
19391  _v = SWIG_CheckState(res);
19392  if (_v) {
19393  {
19394  _v = CanConvertToIntVar(argv[1]);
19395  if (_v == 0) PyErr_Clear();
19396  }
19397  if (_v) {
19398  {
19399  int res = SWIG_AsVal_long(argv[2], NULL);
19400  _v = SWIG_CheckState(res);
19401  }
19402  if (_v) {
19403  int res = SWIG_AsPtr_std_string(argv[3], (std::string**)(0));
19404  _v = SWIG_CheckState(res);
19405  if (_v) {
19407  }
19408  }
19409  }
19410  }
19411  }
19412  if (argc == 5) {
19413  int _v;
19414  void *vptr = 0;
19415  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
19416  _v = SWIG_CheckState(res);
19417  if (_v) {
19418  {
19419  _v = CanConvertToIntVar(argv[1]);
19420  if (_v == 0) PyErr_Clear();
19421  }
19422  if (_v) {
19423  {
19424  int res = SWIG_AsVal_long(argv[2], NULL);
19425  _v = SWIG_CheckState(res);
19426  }
19427  if (_v) {
19428  {
19429  _v = CanConvertToIntVar(argv[3]);
19430  if (_v == 0) PyErr_Clear();
19431  }
19432  if (_v) {
19433  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
19434  _v = SWIG_CheckState(res);
19435  if (_v) {
19437  }
19438  }
19439  }
19440  }
19441  }
19442  }
19443  if (argc == 6) {
19444  int _v;
19445  void *vptr = 0;
19446  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
19447  _v = SWIG_CheckState(res);
19448  if (_v) {
19449  {
19450  int res = SWIG_AsVal_long(argv[1], NULL);
19451  _v = SWIG_CheckState(res);
19452  }
19453  if (_v) {
19454  {
19455  int res = SWIG_AsVal_long(argv[2], NULL);
19456  _v = SWIG_CheckState(res);
19457  }
19458  if (_v) {
19459  {
19460  int res = SWIG_AsVal_long(argv[3], NULL);
19461  _v = SWIG_CheckState(res);
19462  }
19463  if (_v) {
19464  {
19465  int res = SWIG_AsVal_bool(argv[4], NULL);
19466  _v = SWIG_CheckState(res);
19467  }
19468  if (_v) {
19469  int res = SWIG_AsPtr_std_string(argv[5], (std::string**)(0));
19470  _v = SWIG_CheckState(res);
19471  if (_v) {
19473  }
19474  }
19475  }
19476  }
19477  }
19478  }
19479  }
19480 
19481 fail:
19482  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_FixedDurationIntervalVar'.\n"
19483  " Possible C/C++ prototypes are:\n"
19484  " operations_research::Solver::MakeFixedDurationIntervalVar(int64_t,int64_t,int64_t,bool,std::string const &)\n"
19485  " operations_research::Solver::MakeFixedDurationIntervalVar(operations_research::IntVar *const,int64_t,std::string const &)\n"
19486  " operations_research::Solver::MakeFixedDurationIntervalVar(operations_research::IntVar *const,int64_t,operations_research::IntVar *const,std::string const &)\n");
19487  return 0;
19488 }
19489 
19490 
19491 SWIGINTERN PyObject *_wrap_Solver_FixedInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19492  PyObject *resultobj = 0;
19494  int64_t arg2 ;
19495  int64_t arg3 ;
19496  std::string *arg4 = 0 ;
19497  void *argp1 = 0 ;
19498  int res1 = 0 ;
19499  long val2 ;
19500  int ecode2 = 0 ;
19501  long val3 ;
19502  int ecode3 = 0 ;
19503  int res4 = SWIG_OLDOBJ ;
19504  PyObject * obj0 = 0 ;
19505  PyObject * obj1 = 0 ;
19506  PyObject * obj2 = 0 ;
19507  PyObject * obj3 = 0 ;
19508  operations_research::IntervalVar *result = 0 ;
19509 
19510  if (!PyArg_UnpackTuple(args, "Solver_FixedInterval", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19511  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19512  if (!SWIG_IsOK(res1)) {
19513  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedInterval" "', argument " "1"" of type '" "operations_research::Solver *""'");
19514  }
19515  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19516  ecode2 = SWIG_AsVal_long(obj1, &val2);
19517  if (!SWIG_IsOK(ecode2)) {
19518  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_FixedInterval" "', argument " "2"" of type '" "int64_t""'");
19519  }
19520  arg2 = static_cast< int64_t >(val2);
19521  ecode3 = SWIG_AsVal_long(obj2, &val3);
19522  if (!SWIG_IsOK(ecode3)) {
19523  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedInterval" "', argument " "3"" of type '" "int64_t""'");
19524  }
19525  arg3 = static_cast< int64_t >(val3);
19526  {
19527  std::string *ptr = (std::string *)0;
19528  res4 = SWIG_AsPtr_std_string(obj3, &ptr);
19529  if (!SWIG_IsOK(res4)) {
19530  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_FixedInterval" "', argument " "4"" of type '" "std::string const &""'");
19531  }
19532  if (!ptr) {
19533  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_FixedInterval" "', argument " "4"" of type '" "std::string const &""'");
19534  }
19535  arg4 = ptr;
19536  }
19537  {
19538  try {
19539  result = (operations_research::IntervalVar *)(arg1)->MakeFixedInterval(arg2,arg3,(std::string const &)*arg4);
19540  }
19541  catch (Swig::DirectorException &e) {
19542  SWIG_fail;
19543  }
19544  }
19546  if (SWIG_IsNewObj(res4)) delete arg4;
19547  return resultobj;
19548 fail:
19549  if (SWIG_IsNewObj(res4)) delete arg4;
19550  return NULL;
19551 }
19552 
19553 
19554 SWIGINTERN PyObject *_wrap_Solver_IntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19555  PyObject *resultobj = 0;
19557  int64_t arg2 ;
19558  int64_t arg3 ;
19559  int64_t arg4 ;
19560  int64_t arg5 ;
19561  int64_t arg6 ;
19562  int64_t arg7 ;
19563  bool arg8 ;
19564  std::string *arg9 = 0 ;
19565  void *argp1 = 0 ;
19566  int res1 = 0 ;
19567  long val2 ;
19568  int ecode2 = 0 ;
19569  long val3 ;
19570  int ecode3 = 0 ;
19571  long val4 ;
19572  int ecode4 = 0 ;
19573  long val5 ;
19574  int ecode5 = 0 ;
19575  long val6 ;
19576  int ecode6 = 0 ;
19577  long val7 ;
19578  int ecode7 = 0 ;
19579  bool val8 ;
19580  int ecode8 = 0 ;
19581  int res9 = SWIG_OLDOBJ ;
19582  PyObject * obj0 = 0 ;
19583  PyObject * obj1 = 0 ;
19584  PyObject * obj2 = 0 ;
19585  PyObject * obj3 = 0 ;
19586  PyObject * obj4 = 0 ;
19587  PyObject * obj5 = 0 ;
19588  PyObject * obj6 = 0 ;
19589  PyObject * obj7 = 0 ;
19590  PyObject * obj8 = 0 ;
19591  operations_research::IntervalVar *result = 0 ;
19592 
19593  if (!PyArg_UnpackTuple(args, "Solver_IntervalVar", 9, 9, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6, &obj7, &obj8)) SWIG_fail;
19594  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19595  if (!SWIG_IsOK(res1)) {
19596  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19597  }
19598  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19599  ecode2 = SWIG_AsVal_long(obj1, &val2);
19600  if (!SWIG_IsOK(ecode2)) {
19601  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_IntervalVar" "', argument " "2"" of type '" "int64_t""'");
19602  }
19603  arg2 = static_cast< int64_t >(val2);
19604  ecode3 = SWIG_AsVal_long(obj2, &val3);
19605  if (!SWIG_IsOK(ecode3)) {
19606  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_IntervalVar" "', argument " "3"" of type '" "int64_t""'");
19607  }
19608  arg3 = static_cast< int64_t >(val3);
19609  ecode4 = SWIG_AsVal_long(obj3, &val4);
19610  if (!SWIG_IsOK(ecode4)) {
19611  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_IntervalVar" "', argument " "4"" of type '" "int64_t""'");
19612  }
19613  arg4 = static_cast< int64_t >(val4);
19614  ecode5 = SWIG_AsVal_long(obj4, &val5);
19615  if (!SWIG_IsOK(ecode5)) {
19616  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_IntervalVar" "', argument " "5"" of type '" "int64_t""'");
19617  }
19618  arg5 = static_cast< int64_t >(val5);
19619  ecode6 = SWIG_AsVal_long(obj5, &val6);
19620  if (!SWIG_IsOK(ecode6)) {
19621  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_IntervalVar" "', argument " "6"" of type '" "int64_t""'");
19622  }
19623  arg6 = static_cast< int64_t >(val6);
19624  ecode7 = SWIG_AsVal_long(obj6, &val7);
19625  if (!SWIG_IsOK(ecode7)) {
19626  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_IntervalVar" "', argument " "7"" of type '" "int64_t""'");
19627  }
19628  arg7 = static_cast< int64_t >(val7);
19629  ecode8 = SWIG_AsVal_bool(obj7, &val8);
19630  if (!SWIG_IsOK(ecode8)) {
19631  SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Solver_IntervalVar" "', argument " "8"" of type '" "bool""'");
19632  }
19633  arg8 = static_cast< bool >(val8);
19634  {
19635  std::string *ptr = (std::string *)0;
19636  res9 = SWIG_AsPtr_std_string(obj8, &ptr);
19637  if (!SWIG_IsOK(res9)) {
19638  SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "Solver_IntervalVar" "', argument " "9"" of type '" "std::string const &""'");
19639  }
19640  if (!ptr) {
19641  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_IntervalVar" "', argument " "9"" of type '" "std::string const &""'");
19642  }
19643  arg9 = ptr;
19644  }
19645  {
19646  try {
19647  result = (operations_research::IntervalVar *)(arg1)->MakeIntervalVar(arg2,arg3,arg4,arg5,arg6,arg7,arg8,(std::string const &)*arg9);
19648  }
19649  catch (Swig::DirectorException &e) {
19650  SWIG_fail;
19651  }
19652  }
19654  if (SWIG_IsNewObj(res9)) delete arg9;
19655  return resultobj;
19656 fail:
19657  if (SWIG_IsNewObj(res9)) delete arg9;
19658  return NULL;
19659 }
19660 
19661 
19662 SWIGINTERN PyObject *_wrap_Solver_MirrorInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19663  PyObject *resultobj = 0;
19666  void *argp1 = 0 ;
19667  int res1 = 0 ;
19668  PyObject * obj0 = 0 ;
19669  PyObject * obj1 = 0 ;
19670  operations_research::IntervalVar *result = 0 ;
19671 
19672  if (!PyArg_UnpackTuple(args, "Solver_MirrorInterval", 2, 2, &obj0, &obj1)) SWIG_fail;
19673  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19674  if (!SWIG_IsOK(res1)) {
19675  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MirrorInterval" "', argument " "1"" of type '" "operations_research::Solver *""'");
19676  }
19677  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19678  {
19679  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19680  }
19681  {
19682  try {
19683  result = (operations_research::IntervalVar *)(arg1)->MakeMirrorInterval(arg2);
19684  }
19685  catch (Swig::DirectorException &e) {
19686  SWIG_fail;
19687  }
19688  }
19690  return resultobj;
19691 fail:
19692  return NULL;
19693 }
19694 
19695 
19697  PyObject *resultobj = 0;
19700  int64_t arg3 ;
19701  int64_t arg4 ;
19702  void *argp1 = 0 ;
19703  int res1 = 0 ;
19704  long val3 ;
19705  int ecode3 = 0 ;
19706  long val4 ;
19707  int ecode4 = 0 ;
19708  PyObject * obj0 = 0 ;
19709  PyObject * obj1 = 0 ;
19710  PyObject * obj2 = 0 ;
19711  PyObject * obj3 = 0 ;
19712  operations_research::IntervalVar *result = 0 ;
19713 
19714  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationStartSyncedOnStartIntervalVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19715  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19716  if (!SWIG_IsOK(res1)) {
19717  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationStartSyncedOnStartIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19718  }
19719  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19720  {
19721  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19722  }
19723  ecode3 = SWIG_AsVal_long(obj2, &val3);
19724  if (!SWIG_IsOK(ecode3)) {
19725  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationStartSyncedOnStartIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19726  }
19727  arg3 = static_cast< int64_t >(val3);
19728  ecode4 = SWIG_AsVal_long(obj3, &val4);
19729  if (!SWIG_IsOK(ecode4)) {
19730  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_FixedDurationStartSyncedOnStartIntervalVar" "', argument " "4"" of type '" "int64_t""'");
19731  }
19732  arg4 = static_cast< int64_t >(val4);
19733  {
19734  try {
19735  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationStartSyncedOnStartIntervalVar(arg2,arg3,arg4);
19736  }
19737  catch (Swig::DirectorException &e) {
19738  SWIG_fail;
19739  }
19740  }
19742  return resultobj;
19743 fail:
19744  return NULL;
19745 }
19746 
19747 
19749  PyObject *resultobj = 0;
19752  int64_t arg3 ;
19753  int64_t arg4 ;
19754  void *argp1 = 0 ;
19755  int res1 = 0 ;
19756  long val3 ;
19757  int ecode3 = 0 ;
19758  long val4 ;
19759  int ecode4 = 0 ;
19760  PyObject * obj0 = 0 ;
19761  PyObject * obj1 = 0 ;
19762  PyObject * obj2 = 0 ;
19763  PyObject * obj3 = 0 ;
19764  operations_research::IntervalVar *result = 0 ;
19765 
19766  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationStartSyncedOnEndIntervalVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19767  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19768  if (!SWIG_IsOK(res1)) {
19769  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationStartSyncedOnEndIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19770  }
19771  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19772  {
19773  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19774  }
19775  ecode3 = SWIG_AsVal_long(obj2, &val3);
19776  if (!SWIG_IsOK(ecode3)) {
19777  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationStartSyncedOnEndIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19778  }
19779  arg3 = static_cast< int64_t >(val3);
19780  ecode4 = SWIG_AsVal_long(obj3, &val4);
19781  if (!SWIG_IsOK(ecode4)) {
19782  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_FixedDurationStartSyncedOnEndIntervalVar" "', argument " "4"" of type '" "int64_t""'");
19783  }
19784  arg4 = static_cast< int64_t >(val4);
19785  {
19786  try {
19787  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationStartSyncedOnEndIntervalVar(arg2,arg3,arg4);
19788  }
19789  catch (Swig::DirectorException &e) {
19790  SWIG_fail;
19791  }
19792  }
19794  return resultobj;
19795 fail:
19796  return NULL;
19797 }
19798 
19799 
19801  PyObject *resultobj = 0;
19804  int64_t arg3 ;
19805  int64_t arg4 ;
19806  void *argp1 = 0 ;
19807  int res1 = 0 ;
19808  long val3 ;
19809  int ecode3 = 0 ;
19810  long val4 ;
19811  int ecode4 = 0 ;
19812  PyObject * obj0 = 0 ;
19813  PyObject * obj1 = 0 ;
19814  PyObject * obj2 = 0 ;
19815  PyObject * obj3 = 0 ;
19816  operations_research::IntervalVar *result = 0 ;
19817 
19818  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationEndSyncedOnStartIntervalVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19819  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19820  if (!SWIG_IsOK(res1)) {
19821  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationEndSyncedOnStartIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19822  }
19823  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19824  {
19825  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19826  }
19827  ecode3 = SWIG_AsVal_long(obj2, &val3);
19828  if (!SWIG_IsOK(ecode3)) {
19829  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationEndSyncedOnStartIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19830  }
19831  arg3 = static_cast< int64_t >(val3);
19832  ecode4 = SWIG_AsVal_long(obj3, &val4);
19833  if (!SWIG_IsOK(ecode4)) {
19834  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_FixedDurationEndSyncedOnStartIntervalVar" "', argument " "4"" of type '" "int64_t""'");
19835  }
19836  arg4 = static_cast< int64_t >(val4);
19837  {
19838  try {
19839  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationEndSyncedOnStartIntervalVar(arg2,arg3,arg4);
19840  }
19841  catch (Swig::DirectorException &e) {
19842  SWIG_fail;
19843  }
19844  }
19846  return resultobj;
19847 fail:
19848  return NULL;
19849 }
19850 
19851 
19853  PyObject *resultobj = 0;
19856  int64_t arg3 ;
19857  int64_t arg4 ;
19858  void *argp1 = 0 ;
19859  int res1 = 0 ;
19860  long val3 ;
19861  int ecode3 = 0 ;
19862  long val4 ;
19863  int ecode4 = 0 ;
19864  PyObject * obj0 = 0 ;
19865  PyObject * obj1 = 0 ;
19866  PyObject * obj2 = 0 ;
19867  PyObject * obj3 = 0 ;
19868  operations_research::IntervalVar *result = 0 ;
19869 
19870  if (!PyArg_UnpackTuple(args, "Solver_FixedDurationEndSyncedOnEndIntervalVar", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19871  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19872  if (!SWIG_IsOK(res1)) {
19873  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FixedDurationEndSyncedOnEndIntervalVar" "', argument " "1"" of type '" "operations_research::Solver *""'");
19874  }
19875  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19876  {
19877  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19878  }
19879  ecode3 = SWIG_AsVal_long(obj2, &val3);
19880  if (!SWIG_IsOK(ecode3)) {
19881  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_FixedDurationEndSyncedOnEndIntervalVar" "', argument " "3"" of type '" "int64_t""'");
19882  }
19883  arg3 = static_cast< int64_t >(val3);
19884  ecode4 = SWIG_AsVal_long(obj3, &val4);
19885  if (!SWIG_IsOK(ecode4)) {
19886  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_FixedDurationEndSyncedOnEndIntervalVar" "', argument " "4"" of type '" "int64_t""'");
19887  }
19888  arg4 = static_cast< int64_t >(val4);
19889  {
19890  try {
19891  result = (operations_research::IntervalVar *)(arg1)->MakeFixedDurationEndSyncedOnEndIntervalVar(arg2,arg3,arg4);
19892  }
19893  catch (Swig::DirectorException &e) {
19894  SWIG_fail;
19895  }
19896  }
19898  return resultobj;
19899 fail:
19900  return NULL;
19901 }
19902 
19903 
19904 SWIGINTERN PyObject *_wrap_Solver_IntervalRelaxedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19905  PyObject *resultobj = 0;
19908  void *argp1 = 0 ;
19909  int res1 = 0 ;
19910  PyObject * obj0 = 0 ;
19911  PyObject * obj1 = 0 ;
19912  operations_research::IntervalVar *result = 0 ;
19913 
19914  if (!PyArg_UnpackTuple(args, "Solver_IntervalRelaxedMin", 2, 2, &obj0, &obj1)) SWIG_fail;
19915  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19916  if (!SWIG_IsOK(res1)) {
19917  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntervalRelaxedMin" "', argument " "1"" of type '" "operations_research::Solver *""'");
19918  }
19919  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19920  {
19921  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19922  }
19923  {
19924  try {
19925  result = (operations_research::IntervalVar *)(arg1)->MakeIntervalRelaxedMin(arg2);
19926  }
19927  catch (Swig::DirectorException &e) {
19928  SWIG_fail;
19929  }
19930  }
19932  return resultobj;
19933 fail:
19934  return NULL;
19935 }
19936 
19937 
19938 SWIGINTERN PyObject *_wrap_Solver_IntervalRelaxedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19939  PyObject *resultobj = 0;
19942  void *argp1 = 0 ;
19943  int res1 = 0 ;
19944  PyObject * obj0 = 0 ;
19945  PyObject * obj1 = 0 ;
19946  operations_research::IntervalVar *result = 0 ;
19947 
19948  if (!PyArg_UnpackTuple(args, "Solver_IntervalRelaxedMax", 2, 2, &obj0, &obj1)) SWIG_fail;
19949  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19950  if (!SWIG_IsOK(res1)) {
19951  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_IntervalRelaxedMax" "', argument " "1"" of type '" "operations_research::Solver *""'");
19952  }
19953  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19954  {
19955  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19956  }
19957  {
19958  try {
19959  result = (operations_research::IntervalVar *)(arg1)->MakeIntervalRelaxedMax(arg2);
19960  }
19961  catch (Swig::DirectorException &e) {
19962  SWIG_fail;
19963  }
19964  }
19966  return resultobj;
19967 fail:
19968  return NULL;
19969 }
19970 
19971 
19972 SWIGINTERN PyObject *_wrap_Solver_TemporalDisjunction__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
19973  PyObject *resultobj = 0;
19978  void *argp1 = 0 ;
19979  int res1 = 0 ;
19980  PyObject * obj0 = 0 ;
19981  PyObject * obj1 = 0 ;
19982  PyObject * obj2 = 0 ;
19983  PyObject * obj3 = 0 ;
19984  operations_research::Constraint *result = 0 ;
19985 
19986  if (!PyArg_UnpackTuple(args, "Solver_TemporalDisjunction", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
19987  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
19988  if (!SWIG_IsOK(res1)) {
19989  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TemporalDisjunction" "', argument " "1"" of type '" "operations_research::Solver *""'");
19990  }
19991  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
19992  {
19993  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
19994  }
19995  {
19996  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
19997  }
19998  {
19999  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
20000  }
20001  {
20002  try {
20003  result = (operations_research::Constraint *)(arg1)->MakeTemporalDisjunction(arg2,arg3,arg4);
20004  }
20005  catch (Swig::DirectorException &e) {
20006  SWIG_fail;
20007  }
20008  }
20010  return resultobj;
20011 fail:
20012  return NULL;
20013 }
20014 
20015 
20016 SWIGINTERN PyObject *_wrap_Solver_TemporalDisjunction__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20017  PyObject *resultobj = 0;
20021  void *argp1 = 0 ;
20022  int res1 = 0 ;
20023  PyObject * obj0 = 0 ;
20024  PyObject * obj1 = 0 ;
20025  PyObject * obj2 = 0 ;
20026  operations_research::Constraint *result = 0 ;
20027 
20028  if (!PyArg_UnpackTuple(args, "Solver_TemporalDisjunction", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
20029  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20030  if (!SWIG_IsOK(res1)) {
20031  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TemporalDisjunction" "', argument " "1"" of type '" "operations_research::Solver *""'");
20032  }
20033  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20034  {
20035  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
20036  }
20037  {
20038  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
20039  }
20040  {
20041  try {
20042  result = (operations_research::Constraint *)(arg1)->MakeTemporalDisjunction(arg2,arg3);
20043  }
20044  catch (Swig::DirectorException &e) {
20045  SWIG_fail;
20046  }
20047  }
20049  return resultobj;
20050 fail:
20051  return NULL;
20052 }
20053 
20054 
20055 SWIGINTERN PyObject *_wrap_Solver_TemporalDisjunction(PyObject *self, PyObject *args) {
20056  Py_ssize_t argc;
20057  PyObject *argv[5] = {
20058  0
20059  };
20060  Py_ssize_t ii;
20061 
20062  if (!PyTuple_Check(args)) SWIG_fail;
20063  argc = PyObject_Length(args);
20064  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
20065  argv[ii] = PyTuple_GET_ITEM(args,ii);
20066  }
20067  if (argc == 3) {
20068  int _v;
20069  void *vptr = 0;
20070  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20071  _v = SWIG_CheckState(res);
20072  if (_v) {
20073  {
20074  _v = CanConvertToIntervalVar(argv[1]);
20075  if (_v == 0) PyErr_Clear();
20076  }
20077  if (_v) {
20078  {
20079  _v = CanConvertToIntervalVar(argv[2]);
20080  if (_v == 0) PyErr_Clear();
20081  }
20082  if (_v) {
20083  return _wrap_Solver_TemporalDisjunction__SWIG_1(self, args);
20084  }
20085  }
20086  }
20087  }
20088  if (argc == 4) {
20089  int _v;
20090  void *vptr = 0;
20091  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20092  _v = SWIG_CheckState(res);
20093  if (_v) {
20094  {
20095  _v = CanConvertToIntervalVar(argv[1]);
20096  if (_v == 0) PyErr_Clear();
20097  }
20098  if (_v) {
20099  {
20100  _v = CanConvertToIntervalVar(argv[2]);
20101  if (_v == 0) PyErr_Clear();
20102  }
20103  if (_v) {
20104  {
20105  _v = CanConvertToIntVar(argv[3]);
20106  if (_v == 0) PyErr_Clear();
20107  }
20108  if (_v) {
20109  return _wrap_Solver_TemporalDisjunction__SWIG_0(self, args);
20110  }
20111  }
20112  }
20113  }
20114  }
20115 
20116 fail:
20117  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_TemporalDisjunction'.\n"
20118  " Possible C/C++ prototypes are:\n"
20119  " operations_research::Solver::MakeTemporalDisjunction(operations_research::IntervalVar *const,operations_research::IntervalVar *const,operations_research::IntVar *const)\n"
20120  " operations_research::Solver::MakeTemporalDisjunction(operations_research::IntervalVar *const,operations_research::IntervalVar *const)\n");
20121  return 0;
20122 }
20123 
20124 
20125 SWIGINTERN PyObject *_wrap_Solver_DisjunctiveConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20126  PyObject *resultobj = 0;
20128  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20129  std::string *arg3 = 0 ;
20130  void *argp1 = 0 ;
20131  int res1 = 0 ;
20132  std::vector< operations_research::IntervalVar * > temp2 ;
20133  int res3 = SWIG_OLDOBJ ;
20134  PyObject * obj0 = 0 ;
20135  PyObject * obj1 = 0 ;
20136  PyObject * obj2 = 0 ;
20138 
20139  if (!PyArg_UnpackTuple(args, "Solver_DisjunctiveConstraint", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
20140  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20141  if (!SWIG_IsOK(res1)) {
20142  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DisjunctiveConstraint" "', argument " "1"" of type '" "operations_research::Solver *""'");
20143  }
20144  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20145  {
20146  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20147  if (!PyErr_Occurred())
20148  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20149  return NULL;
20150  }
20151  arg2 = &temp2;
20152  }
20153  {
20154  std::string *ptr = (std::string *)0;
20155  res3 = SWIG_AsPtr_std_string(obj2, &ptr);
20156  if (!SWIG_IsOK(res3)) {
20157  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_DisjunctiveConstraint" "', argument " "3"" of type '" "std::string const &""'");
20158  }
20159  if (!ptr) {
20160  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_DisjunctiveConstraint" "', argument " "3"" of type '" "std::string const &""'");
20161  }
20162  arg3 = ptr;
20163  }
20164  {
20165  try {
20166  result = (operations_research::DisjunctiveConstraint *)(arg1)->MakeDisjunctiveConstraint((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::string const &)*arg3);
20167  }
20168  catch (Swig::DirectorException &e) {
20169  SWIG_fail;
20170  }
20171  }
20173  if (SWIG_IsNewObj(res3)) delete arg3;
20174  return resultobj;
20175 fail:
20176  if (SWIG_IsNewObj(res3)) delete arg3;
20177  return NULL;
20178 }
20179 
20180 
20181 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20182  PyObject *resultobj = 0;
20184  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20185  std::vector< int64_t > *arg3 = 0 ;
20186  int64_t arg4 ;
20187  std::string *arg5 = 0 ;
20188  void *argp1 = 0 ;
20189  int res1 = 0 ;
20190  std::vector< operations_research::IntervalVar * > temp2 ;
20191  std::vector< int64_t > temp3 ;
20192  long val4 ;
20193  int ecode4 = 0 ;
20194  int res5 = SWIG_OLDOBJ ;
20195  PyObject * obj0 = 0 ;
20196  PyObject * obj1 = 0 ;
20197  PyObject * obj2 = 0 ;
20198  PyObject * obj3 = 0 ;
20199  PyObject * obj4 = 0 ;
20200  operations_research::Constraint *result = 0 ;
20201 
20202  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20203  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20204  if (!SWIG_IsOK(res1)) {
20205  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20206  }
20207  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20208  {
20209  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20210  if (!PyErr_Occurred())
20211  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20212  return NULL;
20213  }
20214  arg2 = &temp2;
20215  }
20216  {
20217  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
20218  if (!PyErr_Occurred())
20219  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
20220  return NULL;
20221  }
20222  arg3 = &temp3;
20223  }
20224  ecode4 = SWIG_AsVal_long(obj3, &val4);
20225  if (!SWIG_IsOK(ecode4)) {
20226  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Cumulative" "', argument " "4"" of type '" "int64_t""'");
20227  }
20228  arg4 = static_cast< int64_t >(val4);
20229  {
20230  std::string *ptr = (std::string *)0;
20231  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20232  if (!SWIG_IsOK(res5)) {
20233  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20234  }
20235  if (!ptr) {
20236  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20237  }
20238  arg5 = ptr;
20239  }
20240  {
20241  try {
20242  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4,(std::string const &)*arg5);
20243  }
20244  catch (Swig::DirectorException &e) {
20245  SWIG_fail;
20246  }
20247  }
20249  if (SWIG_IsNewObj(res5)) delete arg5;
20250  return resultobj;
20251 fail:
20252  if (SWIG_IsNewObj(res5)) delete arg5;
20253  return NULL;
20254 }
20255 
20256 
20257 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20258  PyObject *resultobj = 0;
20260  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20261  std::vector< int > *arg3 = 0 ;
20262  int64_t arg4 ;
20263  std::string *arg5 = 0 ;
20264  void *argp1 = 0 ;
20265  int res1 = 0 ;
20266  std::vector< operations_research::IntervalVar * > temp2 ;
20267  std::vector< int > temp3 ;
20268  long val4 ;
20269  int ecode4 = 0 ;
20270  int res5 = SWIG_OLDOBJ ;
20271  PyObject * obj0 = 0 ;
20272  PyObject * obj1 = 0 ;
20273  PyObject * obj2 = 0 ;
20274  PyObject * obj3 = 0 ;
20275  PyObject * obj4 = 0 ;
20276  operations_research::Constraint *result = 0 ;
20277 
20278  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20279  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20280  if (!SWIG_IsOK(res1)) {
20281  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20282  }
20283  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20284  {
20285  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20286  if (!PyErr_Occurred())
20287  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20288  return NULL;
20289  }
20290  arg2 = &temp2;
20291  }
20292  {
20293  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
20294  if (!PyErr_Occurred())
20295  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
20296  return NULL;
20297  }
20298  arg3 = &temp3;
20299  }
20300  ecode4 = SWIG_AsVal_long(obj3, &val4);
20301  if (!SWIG_IsOK(ecode4)) {
20302  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Cumulative" "', argument " "4"" of type '" "int64_t""'");
20303  }
20304  arg4 = static_cast< int64_t >(val4);
20305  {
20306  std::string *ptr = (std::string *)0;
20307  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20308  if (!SWIG_IsOK(res5)) {
20309  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20310  }
20311  if (!ptr) {
20312  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20313  }
20314  arg5 = ptr;
20315  }
20316  {
20317  try {
20318  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4,(std::string const &)*arg5);
20319  }
20320  catch (Swig::DirectorException &e) {
20321  SWIG_fail;
20322  }
20323  }
20325  if (SWIG_IsNewObj(res5)) delete arg5;
20326  return resultobj;
20327 fail:
20328  if (SWIG_IsNewObj(res5)) delete arg5;
20329  return NULL;
20330 }
20331 
20332 
20333 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20334  PyObject *resultobj = 0;
20336  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20337  std::vector< int64_t > *arg3 = 0 ;
20339  std::string *arg5 = 0 ;
20340  void *argp1 = 0 ;
20341  int res1 = 0 ;
20342  std::vector< operations_research::IntervalVar * > temp2 ;
20343  std::vector< int64_t > temp3 ;
20344  int res5 = SWIG_OLDOBJ ;
20345  PyObject * obj0 = 0 ;
20346  PyObject * obj1 = 0 ;
20347  PyObject * obj2 = 0 ;
20348  PyObject * obj3 = 0 ;
20349  PyObject * obj4 = 0 ;
20350  operations_research::Constraint *result = 0 ;
20351 
20352  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20353  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20354  if (!SWIG_IsOK(res1)) {
20355  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20356  }
20357  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20358  {
20359  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20360  if (!PyErr_Occurred())
20361  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20362  return NULL;
20363  }
20364  arg2 = &temp2;
20365  }
20366  {
20367  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
20368  if (!PyErr_Occurred())
20369  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
20370  return NULL;
20371  }
20372  arg3 = &temp3;
20373  }
20374  {
20375  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
20376  }
20377  {
20378  std::string *ptr = (std::string *)0;
20379  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20380  if (!SWIG_IsOK(res5)) {
20381  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20382  }
20383  if (!ptr) {
20384  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20385  }
20386  arg5 = ptr;
20387  }
20388  {
20389  try {
20390  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4,(std::string const &)*arg5);
20391  }
20392  catch (Swig::DirectorException &e) {
20393  SWIG_fail;
20394  }
20395  }
20397  if (SWIG_IsNewObj(res5)) delete arg5;
20398  return resultobj;
20399 fail:
20400  if (SWIG_IsNewObj(res5)) delete arg5;
20401  return NULL;
20402 }
20403 
20404 
20405 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20406  PyObject *resultobj = 0;
20408  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20409  std::vector< int > *arg3 = 0 ;
20411  std::string *arg5 = 0 ;
20412  void *argp1 = 0 ;
20413  int res1 = 0 ;
20414  std::vector< operations_research::IntervalVar * > temp2 ;
20415  std::vector< int > temp3 ;
20416  int res5 = SWIG_OLDOBJ ;
20417  PyObject * obj0 = 0 ;
20418  PyObject * obj1 = 0 ;
20419  PyObject * obj2 = 0 ;
20420  PyObject * obj3 = 0 ;
20421  PyObject * obj4 = 0 ;
20422  operations_research::Constraint *result = 0 ;
20423 
20424  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20425  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20426  if (!SWIG_IsOK(res1)) {
20427  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20428  }
20429  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20430  {
20431  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20432  if (!PyErr_Occurred())
20433  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20434  return NULL;
20435  }
20436  arg2 = &temp2;
20437  }
20438  {
20439  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
20440  if (!PyErr_Occurred())
20441  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
20442  return NULL;
20443  }
20444  arg3 = &temp3;
20445  }
20446  {
20447  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
20448  }
20449  {
20450  std::string *ptr = (std::string *)0;
20451  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20452  if (!SWIG_IsOK(res5)) {
20453  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20454  }
20455  if (!ptr) {
20456  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20457  }
20458  arg5 = ptr;
20459  }
20460  {
20461  try {
20462  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4,(std::string const &)*arg5);
20463  }
20464  catch (Swig::DirectorException &e) {
20465  SWIG_fail;
20466  }
20467  }
20469  if (SWIG_IsNewObj(res5)) delete arg5;
20470  return resultobj;
20471 fail:
20472  if (SWIG_IsNewObj(res5)) delete arg5;
20473  return NULL;
20474 }
20475 
20476 
20477 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20478  PyObject *resultobj = 0;
20480  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20481  std::vector< operations_research::IntVar * > *arg3 = 0 ;
20482  int64_t arg4 ;
20483  std::string *arg5 = 0 ;
20484  void *argp1 = 0 ;
20485  int res1 = 0 ;
20486  std::vector< operations_research::IntervalVar * > temp2 ;
20487  std::vector< operations_research::IntVar * > temp3 ;
20488  long val4 ;
20489  int ecode4 = 0 ;
20490  int res5 = SWIG_OLDOBJ ;
20491  PyObject * obj0 = 0 ;
20492  PyObject * obj1 = 0 ;
20493  PyObject * obj2 = 0 ;
20494  PyObject * obj3 = 0 ;
20495  PyObject * obj4 = 0 ;
20496  operations_research::Constraint *result = 0 ;
20497 
20498  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20499  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20500  if (!SWIG_IsOK(res1)) {
20501  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20502  }
20503  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20504  {
20505  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20506  if (!PyErr_Occurred())
20507  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20508  return NULL;
20509  }
20510  arg2 = &temp2;
20511  }
20512  {
20513  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
20514  if (!PyErr_Occurred())
20515  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
20516  return NULL;
20517  }
20518  arg3 = &temp3;
20519  }
20520  ecode4 = SWIG_AsVal_long(obj3, &val4);
20521  if (!SWIG_IsOK(ecode4)) {
20522  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Cumulative" "', argument " "4"" of type '" "int64_t""'");
20523  }
20524  arg4 = static_cast< int64_t >(val4);
20525  {
20526  std::string *ptr = (std::string *)0;
20527  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20528  if (!SWIG_IsOK(res5)) {
20529  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20530  }
20531  if (!ptr) {
20532  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20533  }
20534  arg5 = ptr;
20535  }
20536  {
20537  try {
20538  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4,(std::string const &)*arg5);
20539  }
20540  catch (Swig::DirectorException &e) {
20541  SWIG_fail;
20542  }
20543  }
20545  if (SWIG_IsNewObj(res5)) delete arg5;
20546  return resultobj;
20547 fail:
20548  if (SWIG_IsNewObj(res5)) delete arg5;
20549  return NULL;
20550 }
20551 
20552 
20553 SWIGINTERN PyObject *_wrap_Solver_Cumulative__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20554  PyObject *resultobj = 0;
20556  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20557  std::vector< operations_research::IntVar * > *arg3 = 0 ;
20559  std::string *arg5 = 0 ;
20560  void *argp1 = 0 ;
20561  int res1 = 0 ;
20562  std::vector< operations_research::IntervalVar * > temp2 ;
20563  std::vector< operations_research::IntVar * > temp3 ;
20564  int res5 = SWIG_OLDOBJ ;
20565  PyObject * obj0 = 0 ;
20566  PyObject * obj1 = 0 ;
20567  PyObject * obj2 = 0 ;
20568  PyObject * obj3 = 0 ;
20569  PyObject * obj4 = 0 ;
20570  operations_research::Constraint *result = 0 ;
20571 
20572  if (!PyArg_UnpackTuple(args, "Solver_Cumulative", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
20573  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20574  if (!SWIG_IsOK(res1)) {
20575  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cumulative" "', argument " "1"" of type '" "operations_research::Solver *""'");
20576  }
20577  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20578  {
20579  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20580  if (!PyErr_Occurred())
20581  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20582  return NULL;
20583  }
20584  arg2 = &temp2;
20585  }
20586  {
20587  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
20588  if (!PyErr_Occurred())
20589  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
20590  return NULL;
20591  }
20592  arg3 = &temp3;
20593  }
20594  {
20595  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
20596  }
20597  {
20598  std::string *ptr = (std::string *)0;
20599  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
20600  if (!SWIG_IsOK(res5)) {
20601  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20602  }
20603  if (!ptr) {
20604  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Cumulative" "', argument " "5"" of type '" "std::string const &""'");
20605  }
20606  arg5 = ptr;
20607  }
20608  {
20609  try {
20610  result = (operations_research::Constraint *)(arg1)->MakeCumulative((std::vector< operations_research::IntervalVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4,(std::string const &)*arg5);
20611  }
20612  catch (Swig::DirectorException &e) {
20613  SWIG_fail;
20614  }
20615  }
20617  if (SWIG_IsNewObj(res5)) delete arg5;
20618  return resultobj;
20619 fail:
20620  if (SWIG_IsNewObj(res5)) delete arg5;
20621  return NULL;
20622 }
20623 
20624 
20625 SWIGINTERN PyObject *_wrap_Solver_Cumulative(PyObject *self, PyObject *args) {
20626  Py_ssize_t argc;
20627  PyObject *argv[6] = {
20628  0
20629  };
20630  Py_ssize_t ii;
20631 
20632  if (!PyTuple_Check(args)) SWIG_fail;
20633  argc = PyObject_Length(args);
20634  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
20635  argv[ii] = PyTuple_GET_ITEM(args,ii);
20636  }
20637  if (argc == 5) {
20638  int _v;
20639  void *vptr = 0;
20640  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20641  _v = SWIG_CheckState(res);
20642  if (_v) {
20643  {
20644  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20645  _v = 0;
20646  } else {
20647  const bool is_tuple = PyTuple_Check(argv[1]);
20648  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20649  size_t i = 0;
20650  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20651  :PyList_GetItem(argv[1], i))) {
20652  ++i;
20653  }
20654  _v = i == size;
20655  }
20656  }
20657  if (_v) {
20658  {
20659  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20660  _v = 0;
20661  } else {
20662  const bool is_tuple = PyTuple_Check(argv[2]);
20663  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20664  size_t i = 0;
20665  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
20666  :PyList_GetItem(argv[2], i))) {
20667  ++i;
20668  }
20669  _v = i == size;
20670  }
20671  }
20672  if (_v) {
20673  {
20674  _v = CanConvertToIntVar(argv[3]);
20675  if (_v == 0) PyErr_Clear();
20676  }
20677  if (_v) {
20678  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20679  _v = SWIG_CheckState(res);
20680  if (_v) {
20681  return _wrap_Solver_Cumulative__SWIG_2(self, args);
20682  }
20683  }
20684  }
20685  }
20686  }
20687  }
20688  if (argc == 5) {
20689  int _v;
20690  void *vptr = 0;
20691  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20692  _v = SWIG_CheckState(res);
20693  if (_v) {
20694  {
20695  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20696  _v = 0;
20697  } else {
20698  const bool is_tuple = PyTuple_Check(argv[1]);
20699  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20700  size_t i = 0;
20701  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20702  :PyList_GetItem(argv[1], i))) {
20703  ++i;
20704  }
20705  _v = i == size;
20706  }
20707  }
20708  if (_v) {
20709  {
20710  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20711  _v = 0;
20712  } else {
20713  const bool is_tuple = PyTuple_Check(argv[2]);
20714  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20715  size_t i = 0;
20716  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
20717  :PyList_GetItem(argv[2], i))) {
20718  ++i;
20719  }
20720  _v = i == size;
20721  }
20722  }
20723  if (_v) {
20724  {
20725  _v = CanConvertToIntVar(argv[3]);
20726  if (_v == 0) PyErr_Clear();
20727  }
20728  if (_v) {
20729  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20730  _v = SWIG_CheckState(res);
20731  if (_v) {
20732  return _wrap_Solver_Cumulative__SWIG_3(self, args);
20733  }
20734  }
20735  }
20736  }
20737  }
20738  }
20739  if (argc == 5) {
20740  int _v;
20741  void *vptr = 0;
20742  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20743  _v = SWIG_CheckState(res);
20744  if (_v) {
20745  {
20746  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20747  _v = 0;
20748  } else {
20749  const bool is_tuple = PyTuple_Check(argv[1]);
20750  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20751  size_t i = 0;
20752  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20753  :PyList_GetItem(argv[1], i))) {
20754  ++i;
20755  }
20756  _v = i == size;
20757  }
20758  }
20759  if (_v) {
20760  {
20761  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20762  _v = 0;
20763  } else {
20764  const bool is_tuple = PyTuple_Check(argv[2]);
20765  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20766  size_t i = 0;
20767  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
20768  :PyList_GetItem(argv[2], i))) {
20769  ++i;
20770  }
20771  _v = i == size;
20772  }
20773  }
20774  if (_v) {
20775  {
20776  int res = SWIG_AsVal_long(argv[3], NULL);
20777  _v = SWIG_CheckState(res);
20778  }
20779  if (_v) {
20780  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20781  _v = SWIG_CheckState(res);
20782  if (_v) {
20783  return _wrap_Solver_Cumulative__SWIG_0(self, args);
20784  }
20785  }
20786  }
20787  }
20788  }
20789  }
20790  if (argc == 5) {
20791  int _v;
20792  void *vptr = 0;
20793  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20794  _v = SWIG_CheckState(res);
20795  if (_v) {
20796  {
20797  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20798  _v = 0;
20799  } else {
20800  const bool is_tuple = PyTuple_Check(argv[1]);
20801  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20802  size_t i = 0;
20803  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20804  :PyList_GetItem(argv[1], i))) {
20805  ++i;
20806  }
20807  _v = i == size;
20808  }
20809  }
20810  if (_v) {
20811  {
20812  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20813  _v = 0;
20814  } else {
20815  const bool is_tuple = PyTuple_Check(argv[2]);
20816  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20817  size_t i = 0;
20818  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
20819  :PyList_GetItem(argv[2], i))) {
20820  ++i;
20821  }
20822  _v = i == size;
20823  }
20824  }
20825  if (_v) {
20826  {
20827  int res = SWIG_AsVal_long(argv[3], NULL);
20828  _v = SWIG_CheckState(res);
20829  }
20830  if (_v) {
20831  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20832  _v = SWIG_CheckState(res);
20833  if (_v) {
20834  return _wrap_Solver_Cumulative__SWIG_1(self, args);
20835  }
20836  }
20837  }
20838  }
20839  }
20840  }
20841  if (argc == 5) {
20842  int _v;
20843  void *vptr = 0;
20844  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20845  _v = SWIG_CheckState(res);
20846  if (_v) {
20847  {
20848  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20849  _v = 0;
20850  } else {
20851  const bool is_tuple = PyTuple_Check(argv[1]);
20852  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20853  size_t i = 0;
20854  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20855  :PyList_GetItem(argv[1], i))) {
20856  ++i;
20857  }
20858  _v = i == size;
20859  }
20860  }
20861  if (_v) {
20862  {
20863  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20864  _v = 0;
20865  } else {
20866  const bool is_tuple = PyTuple_Check(argv[2]);
20867  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20868  size_t i = 0;
20869  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
20870  :PyList_GetItem(argv[2], i))) {
20871  ++i;
20872  }
20873  _v = i == size;
20874  }
20875  }
20876  if (_v) {
20877  {
20878  _v = CanConvertToIntVar(argv[3]);
20879  if (_v == 0) PyErr_Clear();
20880  }
20881  if (_v) {
20882  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20883  _v = SWIG_CheckState(res);
20884  if (_v) {
20885  return _wrap_Solver_Cumulative__SWIG_5(self, args);
20886  }
20887  }
20888  }
20889  }
20890  }
20891  }
20892  if (argc == 5) {
20893  int _v;
20894  void *vptr = 0;
20895  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
20896  _v = SWIG_CheckState(res);
20897  if (_v) {
20898  {
20899  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
20900  _v = 0;
20901  } else {
20902  const bool is_tuple = PyTuple_Check(argv[1]);
20903  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
20904  size_t i = 0;
20905  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
20906  :PyList_GetItem(argv[1], i))) {
20907  ++i;
20908  }
20909  _v = i == size;
20910  }
20911  }
20912  if (_v) {
20913  {
20914  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
20915  _v = 0;
20916  } else {
20917  const bool is_tuple = PyTuple_Check(argv[2]);
20918  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
20919  size_t i = 0;
20920  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
20921  :PyList_GetItem(argv[2], i))) {
20922  ++i;
20923  }
20924  _v = i == size;
20925  }
20926  }
20927  if (_v) {
20928  {
20929  int res = SWIG_AsVal_long(argv[3], NULL);
20930  _v = SWIG_CheckState(res);
20931  }
20932  if (_v) {
20933  int res = SWIG_AsPtr_std_string(argv[4], (std::string**)(0));
20934  _v = SWIG_CheckState(res);
20935  if (_v) {
20936  return _wrap_Solver_Cumulative__SWIG_4(self, args);
20937  }
20938  }
20939  }
20940  }
20941  }
20942  }
20943 
20944 fail:
20945  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Cumulative'.\n"
20946  " Possible C/C++ prototypes are:\n"
20947  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< int64_t > const &,int64_t,std::string const &)\n"
20948  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< int > const &,int64_t,std::string const &)\n"
20949  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< int64_t > const &,operations_research::IntVar *const,std::string const &)\n"
20950  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< int > const &,operations_research::IntVar *const,std::string const &)\n"
20951  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< operations_research::IntVar * > const &,int64_t,std::string const &)\n"
20952  " operations_research::Solver::MakeCumulative(std::vector< operations_research::IntervalVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::IntVar *const,std::string const &)\n");
20953  return 0;
20954 }
20955 
20956 
20957 SWIGINTERN PyObject *_wrap_Solver_Cover(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
20958  PyObject *resultobj = 0;
20960  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
20962  void *argp1 = 0 ;
20963  int res1 = 0 ;
20964  std::vector< operations_research::IntervalVar * > temp2 ;
20965  PyObject * obj0 = 0 ;
20966  PyObject * obj1 = 0 ;
20967  PyObject * obj2 = 0 ;
20968  operations_research::Constraint *result = 0 ;
20969 
20970  if (!PyArg_UnpackTuple(args, "Solver_Cover", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
20971  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
20972  if (!SWIG_IsOK(res1)) {
20973  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Cover" "', argument " "1"" of type '" "operations_research::Solver *""'");
20974  }
20975  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
20976  {
20977  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
20978  if (!PyErr_Occurred())
20979  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
20980  return NULL;
20981  }
20982  arg2 = &temp2;
20983  }
20984  {
20985  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
20986  }
20987  {
20988  try {
20989  result = (operations_research::Constraint *)(arg1)->MakeCover((std::vector< operations_research::IntervalVar * > const &)*arg2,arg3);
20990  }
20991  catch (Swig::DirectorException &e) {
20992  SWIG_fail;
20993  }
20994  }
20996  return resultobj;
20997 fail:
20998  return NULL;
20999 }
21000 
21001 
21002 SWIGINTERN PyObject *_wrap_Solver_Assignment__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21003  PyObject *resultobj = 0;
21005  void *argp1 = 0 ;
21006  int res1 = 0 ;
21007  PyObject * obj0 = 0 ;
21008  operations_research::Assignment *result = 0 ;
21009 
21010  if (!PyArg_UnpackTuple(args, "Solver_Assignment", 1, 1, &obj0)) SWIG_fail;
21011  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21012  if (!SWIG_IsOK(res1)) {
21013  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Assignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
21014  }
21015  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21016  {
21017  try {
21018  result = (operations_research::Assignment *)(arg1)->MakeAssignment();
21019  }
21020  catch (Swig::DirectorException &e) {
21021  SWIG_fail;
21022  }
21023  }
21025  return resultobj;
21026 fail:
21027  return NULL;
21028 }
21029 
21030 
21031 SWIGINTERN PyObject *_wrap_Solver_Assignment__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21032  PyObject *resultobj = 0;
21035  void *argp1 = 0 ;
21036  int res1 = 0 ;
21037  void *argp2 = 0 ;
21038  int res2 = 0 ;
21039  PyObject * obj0 = 0 ;
21040  PyObject * obj1 = 0 ;
21041  operations_research::Assignment *result = 0 ;
21042 
21043  if (!PyArg_UnpackTuple(args, "Solver_Assignment", 2, 2, &obj0, &obj1)) SWIG_fail;
21044  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21045  if (!SWIG_IsOK(res1)) {
21046  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Assignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
21047  }
21048  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21049  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
21050  if (!SWIG_IsOK(res2)) {
21051  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Assignment" "', argument " "2"" of type '" "operations_research::Assignment const *const""'");
21052  }
21053  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
21054  {
21055  try {
21056  result = (operations_research::Assignment *)(arg1)->MakeAssignment((operations_research::Assignment const *)arg2);
21057  }
21058  catch (Swig::DirectorException &e) {
21059  SWIG_fail;
21060  }
21061  }
21063  return resultobj;
21064 fail:
21065  return NULL;
21066 }
21067 
21068 
21069 SWIGINTERN PyObject *_wrap_Solver_Assignment(PyObject *self, PyObject *args) {
21070  Py_ssize_t argc;
21071  PyObject *argv[3] = {
21072  0
21073  };
21074  Py_ssize_t ii;
21075 
21076  if (!PyTuple_Check(args)) SWIG_fail;
21077  argc = PyObject_Length(args);
21078  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
21079  argv[ii] = PyTuple_GET_ITEM(args,ii);
21080  }
21081  if (argc == 1) {
21082  int _v;
21083  void *vptr = 0;
21084  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21085  _v = SWIG_CheckState(res);
21086  if (_v) {
21087  return _wrap_Solver_Assignment__SWIG_0(self, args);
21088  }
21089  }
21090  if (argc == 2) {
21091  int _v;
21092  void *vptr = 0;
21093  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21094  _v = SWIG_CheckState(res);
21095  if (_v) {
21096  void *vptr = 0;
21097  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
21098  _v = SWIG_CheckState(res);
21099  if (_v) {
21100  return _wrap_Solver_Assignment__SWIG_1(self, args);
21101  }
21102  }
21103  }
21104 
21105 fail:
21106  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Assignment'.\n"
21107  " Possible C/C++ prototypes are:\n"
21108  " operations_research::Solver::MakeAssignment()\n"
21109  " operations_research::Solver::MakeAssignment(operations_research::Assignment const *const)\n");
21110  return 0;
21111 }
21112 
21113 
21114 SWIGINTERN PyObject *_wrap_Solver_FirstSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21115  PyObject *resultobj = 0;
21118  void *argp1 = 0 ;
21119  int res1 = 0 ;
21120  void *argp2 = 0 ;
21121  int res2 = 0 ;
21122  PyObject * obj0 = 0 ;
21123  PyObject * obj1 = 0 ;
21125 
21126  if (!PyArg_UnpackTuple(args, "Solver_FirstSolutionCollector", 2, 2, &obj0, &obj1)) SWIG_fail;
21127  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21128  if (!SWIG_IsOK(res1)) {
21129  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FirstSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21130  }
21131  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21132  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
21133  if (!SWIG_IsOK(res2)) {
21134  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_FirstSolutionCollector" "', argument " "2"" of type '" "operations_research::Assignment const *const""'");
21135  }
21136  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
21137  {
21138  try {
21139  result = (operations_research::SolutionCollector *)(arg1)->MakeFirstSolutionCollector((operations_research::Assignment const *)arg2);
21140  }
21141  catch (Swig::DirectorException &e) {
21142  SWIG_fail;
21143  }
21144  }
21146  return resultobj;
21147 fail:
21148  return NULL;
21149 }
21150 
21151 
21152 SWIGINTERN PyObject *_wrap_Solver_FirstSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21153  PyObject *resultobj = 0;
21155  void *argp1 = 0 ;
21156  int res1 = 0 ;
21157  PyObject * obj0 = 0 ;
21159 
21160  if (!PyArg_UnpackTuple(args, "Solver_FirstSolutionCollector", 1, 1, &obj0)) SWIG_fail;
21161  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21162  if (!SWIG_IsOK(res1)) {
21163  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FirstSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21164  }
21165  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21166  {
21167  try {
21168  result = (operations_research::SolutionCollector *)(arg1)->MakeFirstSolutionCollector();
21169  }
21170  catch (Swig::DirectorException &e) {
21171  SWIG_fail;
21172  }
21173  }
21175  return resultobj;
21176 fail:
21177  return NULL;
21178 }
21179 
21180 
21181 SWIGINTERN PyObject *_wrap_Solver_FirstSolutionCollector(PyObject *self, PyObject *args) {
21182  Py_ssize_t argc;
21183  PyObject *argv[3] = {
21184  0
21185  };
21186  Py_ssize_t ii;
21187 
21188  if (!PyTuple_Check(args)) SWIG_fail;
21189  argc = PyObject_Length(args);
21190  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
21191  argv[ii] = PyTuple_GET_ITEM(args,ii);
21192  }
21193  if (argc == 1) {
21194  int _v;
21195  void *vptr = 0;
21196  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21197  _v = SWIG_CheckState(res);
21198  if (_v) {
21200  }
21201  }
21202  if (argc == 2) {
21203  int _v;
21204  void *vptr = 0;
21205  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21206  _v = SWIG_CheckState(res);
21207  if (_v) {
21208  void *vptr = 0;
21209  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
21210  _v = SWIG_CheckState(res);
21211  if (_v) {
21213  }
21214  }
21215  }
21216 
21217 fail:
21218  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_FirstSolutionCollector'.\n"
21219  " Possible C/C++ prototypes are:\n"
21220  " operations_research::Solver::MakeFirstSolutionCollector(operations_research::Assignment const *const)\n"
21221  " operations_research::Solver::MakeFirstSolutionCollector()\n");
21222  return 0;
21223 }
21224 
21225 
21226 SWIGINTERN PyObject *_wrap_Solver_LastSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21227  PyObject *resultobj = 0;
21230  void *argp1 = 0 ;
21231  int res1 = 0 ;
21232  void *argp2 = 0 ;
21233  int res2 = 0 ;
21234  PyObject * obj0 = 0 ;
21235  PyObject * obj1 = 0 ;
21237 
21238  if (!PyArg_UnpackTuple(args, "Solver_LastSolutionCollector", 2, 2, &obj0, &obj1)) SWIG_fail;
21239  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21240  if (!SWIG_IsOK(res1)) {
21241  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LastSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21242  }
21243  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21244  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
21245  if (!SWIG_IsOK(res2)) {
21246  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LastSolutionCollector" "', argument " "2"" of type '" "operations_research::Assignment const *const""'");
21247  }
21248  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
21249  {
21250  try {
21251  result = (operations_research::SolutionCollector *)(arg1)->MakeLastSolutionCollector((operations_research::Assignment const *)arg2);
21252  }
21253  catch (Swig::DirectorException &e) {
21254  SWIG_fail;
21255  }
21256  }
21258  return resultobj;
21259 fail:
21260  return NULL;
21261 }
21262 
21263 
21264 SWIGINTERN PyObject *_wrap_Solver_LastSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21265  PyObject *resultobj = 0;
21267  void *argp1 = 0 ;
21268  int res1 = 0 ;
21269  PyObject * obj0 = 0 ;
21271 
21272  if (!PyArg_UnpackTuple(args, "Solver_LastSolutionCollector", 1, 1, &obj0)) SWIG_fail;
21273  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21274  if (!SWIG_IsOK(res1)) {
21275  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LastSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21276  }
21277  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21278  {
21279  try {
21280  result = (operations_research::SolutionCollector *)(arg1)->MakeLastSolutionCollector();
21281  }
21282  catch (Swig::DirectorException &e) {
21283  SWIG_fail;
21284  }
21285  }
21287  return resultobj;
21288 fail:
21289  return NULL;
21290 }
21291 
21292 
21293 SWIGINTERN PyObject *_wrap_Solver_LastSolutionCollector(PyObject *self, PyObject *args) {
21294  Py_ssize_t argc;
21295  PyObject *argv[3] = {
21296  0
21297  };
21298  Py_ssize_t ii;
21299 
21300  if (!PyTuple_Check(args)) SWIG_fail;
21301  argc = PyObject_Length(args);
21302  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
21303  argv[ii] = PyTuple_GET_ITEM(args,ii);
21304  }
21305  if (argc == 1) {
21306  int _v;
21307  void *vptr = 0;
21308  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21309  _v = SWIG_CheckState(res);
21310  if (_v) {
21311  return _wrap_Solver_LastSolutionCollector__SWIG_1(self, args);
21312  }
21313  }
21314  if (argc == 2) {
21315  int _v;
21316  void *vptr = 0;
21317  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21318  _v = SWIG_CheckState(res);
21319  if (_v) {
21320  void *vptr = 0;
21321  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
21322  _v = SWIG_CheckState(res);
21323  if (_v) {
21324  return _wrap_Solver_LastSolutionCollector__SWIG_0(self, args);
21325  }
21326  }
21327  }
21328 
21329 fail:
21330  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_LastSolutionCollector'.\n"
21331  " Possible C/C++ prototypes are:\n"
21332  " operations_research::Solver::MakeLastSolutionCollector(operations_research::Assignment const *const)\n"
21333  " operations_research::Solver::MakeLastSolutionCollector()\n");
21334  return 0;
21335 }
21336 
21337 
21339  PyObject *resultobj = 0;
21342  bool arg3 ;
21343  void *argp1 = 0 ;
21344  int res1 = 0 ;
21345  void *argp2 = 0 ;
21346  int res2 = 0 ;
21347  bool val3 ;
21348  int ecode3 = 0 ;
21349  PyObject * obj0 = 0 ;
21350  PyObject * obj1 = 0 ;
21351  PyObject * obj2 = 0 ;
21353 
21354  if (!PyArg_UnpackTuple(args, "Solver_BestValueSolutionCollector", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
21355  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21356  if (!SWIG_IsOK(res1)) {
21357  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BestValueSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21358  }
21359  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21360  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
21361  if (!SWIG_IsOK(res2)) {
21362  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_BestValueSolutionCollector" "', argument " "2"" of type '" "operations_research::Assignment const *const""'");
21363  }
21364  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
21365  ecode3 = SWIG_AsVal_bool(obj2, &val3);
21366  if (!SWIG_IsOK(ecode3)) {
21367  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_BestValueSolutionCollector" "', argument " "3"" of type '" "bool""'");
21368  }
21369  arg3 = static_cast< bool >(val3);
21370  {
21371  try {
21372  result = (operations_research::SolutionCollector *)(arg1)->MakeBestValueSolutionCollector((operations_research::Assignment const *)arg2,arg3);
21373  }
21374  catch (Swig::DirectorException &e) {
21375  SWIG_fail;
21376  }
21377  }
21379  return resultobj;
21380 fail:
21381  return NULL;
21382 }
21383 
21384 
21386  PyObject *resultobj = 0;
21388  bool arg2 ;
21389  void *argp1 = 0 ;
21390  int res1 = 0 ;
21391  bool val2 ;
21392  int ecode2 = 0 ;
21393  PyObject * obj0 = 0 ;
21394  PyObject * obj1 = 0 ;
21396 
21397  if (!PyArg_UnpackTuple(args, "Solver_BestValueSolutionCollector", 2, 2, &obj0, &obj1)) SWIG_fail;
21398  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21399  if (!SWIG_IsOK(res1)) {
21400  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BestValueSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21401  }
21402  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21403  ecode2 = SWIG_AsVal_bool(obj1, &val2);
21404  if (!SWIG_IsOK(ecode2)) {
21405  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_BestValueSolutionCollector" "', argument " "2"" of type '" "bool""'");
21406  }
21407  arg2 = static_cast< bool >(val2);
21408  {
21409  try {
21410  result = (operations_research::SolutionCollector *)(arg1)->MakeBestValueSolutionCollector(arg2);
21411  }
21412  catch (Swig::DirectorException &e) {
21413  SWIG_fail;
21414  }
21415  }
21417  return resultobj;
21418 fail:
21419  return NULL;
21420 }
21421 
21422 
21423 SWIGINTERN PyObject *_wrap_Solver_BestValueSolutionCollector(PyObject *self, PyObject *args) {
21424  Py_ssize_t argc;
21425  PyObject *argv[4] = {
21426  0
21427  };
21428  Py_ssize_t ii;
21429 
21430  if (!PyTuple_Check(args)) SWIG_fail;
21431  argc = PyObject_Length(args);
21432  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
21433  argv[ii] = PyTuple_GET_ITEM(args,ii);
21434  }
21435  if (argc == 2) {
21436  int _v;
21437  void *vptr = 0;
21438  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21439  _v = SWIG_CheckState(res);
21440  if (_v) {
21441  {
21442  int res = SWIG_AsVal_bool(argv[1], NULL);
21443  _v = SWIG_CheckState(res);
21444  }
21445  if (_v) {
21447  }
21448  }
21449  }
21450  if (argc == 3) {
21451  int _v;
21452  void *vptr = 0;
21453  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21454  _v = SWIG_CheckState(res);
21455  if (_v) {
21456  void *vptr = 0;
21457  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
21458  _v = SWIG_CheckState(res);
21459  if (_v) {
21460  {
21461  int res = SWIG_AsVal_bool(argv[2], NULL);
21462  _v = SWIG_CheckState(res);
21463  }
21464  if (_v) {
21466  }
21467  }
21468  }
21469  }
21470 
21471 fail:
21472  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_BestValueSolutionCollector'.\n"
21473  " Possible C/C++ prototypes are:\n"
21474  " operations_research::Solver::MakeBestValueSolutionCollector(operations_research::Assignment const *const,bool)\n"
21475  " operations_research::Solver::MakeBestValueSolutionCollector(bool)\n");
21476  return 0;
21477 }
21478 
21479 
21480 SWIGINTERN PyObject *_wrap_Solver_AllSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21481  PyObject *resultobj = 0;
21484  void *argp1 = 0 ;
21485  int res1 = 0 ;
21486  void *argp2 = 0 ;
21487  int res2 = 0 ;
21488  PyObject * obj0 = 0 ;
21489  PyObject * obj1 = 0 ;
21491 
21492  if (!PyArg_UnpackTuple(args, "Solver_AllSolutionCollector", 2, 2, &obj0, &obj1)) SWIG_fail;
21493  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21494  if (!SWIG_IsOK(res1)) {
21495  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21496  }
21497  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21498  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
21499  if (!SWIG_IsOK(res2)) {
21500  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_AllSolutionCollector" "', argument " "2"" of type '" "operations_research::Assignment const *const""'");
21501  }
21502  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
21503  {
21504  try {
21505  result = (operations_research::SolutionCollector *)(arg1)->MakeAllSolutionCollector((operations_research::Assignment const *)arg2);
21506  }
21507  catch (Swig::DirectorException &e) {
21508  SWIG_fail;
21509  }
21510  }
21512  return resultobj;
21513 fail:
21514  return NULL;
21515 }
21516 
21517 
21518 SWIGINTERN PyObject *_wrap_Solver_AllSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21519  PyObject *resultobj = 0;
21521  void *argp1 = 0 ;
21522  int res1 = 0 ;
21523  PyObject * obj0 = 0 ;
21525 
21526  if (!PyArg_UnpackTuple(args, "Solver_AllSolutionCollector", 1, 1, &obj0)) SWIG_fail;
21527  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21528  if (!SWIG_IsOK(res1)) {
21529  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AllSolutionCollector" "', argument " "1"" of type '" "operations_research::Solver *""'");
21530  }
21531  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21532  {
21533  try {
21534  result = (operations_research::SolutionCollector *)(arg1)->MakeAllSolutionCollector();
21535  }
21536  catch (Swig::DirectorException &e) {
21537  SWIG_fail;
21538  }
21539  }
21541  return resultobj;
21542 fail:
21543  return NULL;
21544 }
21545 
21546 
21547 SWIGINTERN PyObject *_wrap_Solver_AllSolutionCollector(PyObject *self, PyObject *args) {
21548  Py_ssize_t argc;
21549  PyObject *argv[3] = {
21550  0
21551  };
21552  Py_ssize_t ii;
21553 
21554  if (!PyTuple_Check(args)) SWIG_fail;
21555  argc = PyObject_Length(args);
21556  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
21557  argv[ii] = PyTuple_GET_ITEM(args,ii);
21558  }
21559  if (argc == 1) {
21560  int _v;
21561  void *vptr = 0;
21562  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21563  _v = SWIG_CheckState(res);
21564  if (_v) {
21565  return _wrap_Solver_AllSolutionCollector__SWIG_1(self, args);
21566  }
21567  }
21568  if (argc == 2) {
21569  int _v;
21570  void *vptr = 0;
21571  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21572  _v = SWIG_CheckState(res);
21573  if (_v) {
21574  void *vptr = 0;
21575  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
21576  _v = SWIG_CheckState(res);
21577  if (_v) {
21578  return _wrap_Solver_AllSolutionCollector__SWIG_0(self, args);
21579  }
21580  }
21581  }
21582 
21583 fail:
21584  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_AllSolutionCollector'.\n"
21585  " Possible C/C++ prototypes are:\n"
21586  " operations_research::Solver::MakeAllSolutionCollector(operations_research::Assignment const *const)\n"
21587  " operations_research::Solver::MakeAllSolutionCollector()\n");
21588  return 0;
21589 }
21590 
21591 
21592 SWIGINTERN PyObject *_wrap_Solver_Minimize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21593  PyObject *resultobj = 0;
21596  int64_t arg3 ;
21597  void *argp1 = 0 ;
21598  int res1 = 0 ;
21599  long val3 ;
21600  int ecode3 = 0 ;
21601  PyObject * obj0 = 0 ;
21602  PyObject * obj1 = 0 ;
21603  PyObject * obj2 = 0 ;
21604  operations_research::OptimizeVar *result = 0 ;
21605 
21606  if (!PyArg_UnpackTuple(args, "Solver_Minimize", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
21607  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21608  if (!SWIG_IsOK(res1)) {
21609  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Minimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21610  }
21611  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21612  {
21613  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
21614  }
21615  ecode3 = SWIG_AsVal_long(obj2, &val3);
21616  if (!SWIG_IsOK(ecode3)) {
21617  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Minimize" "', argument " "3"" of type '" "int64_t""'");
21618  }
21619  arg3 = static_cast< int64_t >(val3);
21620  {
21621  try {
21622  result = (operations_research::OptimizeVar *)(arg1)->MakeMinimize(arg2,arg3);
21623  }
21624  catch (Swig::DirectorException &e) {
21625  SWIG_fail;
21626  }
21627  }
21629  return resultobj;
21630 fail:
21631  return NULL;
21632 }
21633 
21634 
21635 SWIGINTERN PyObject *_wrap_Solver_Maximize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21636  PyObject *resultobj = 0;
21639  int64_t arg3 ;
21640  void *argp1 = 0 ;
21641  int res1 = 0 ;
21642  long val3 ;
21643  int ecode3 = 0 ;
21644  PyObject * obj0 = 0 ;
21645  PyObject * obj1 = 0 ;
21646  PyObject * obj2 = 0 ;
21647  operations_research::OptimizeVar *result = 0 ;
21648 
21649  if (!PyArg_UnpackTuple(args, "Solver_Maximize", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
21650  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21651  if (!SWIG_IsOK(res1)) {
21652  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Maximize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21653  }
21654  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21655  {
21656  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
21657  }
21658  ecode3 = SWIG_AsVal_long(obj2, &val3);
21659  if (!SWIG_IsOK(ecode3)) {
21660  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Maximize" "', argument " "3"" of type '" "int64_t""'");
21661  }
21662  arg3 = static_cast< int64_t >(val3);
21663  {
21664  try {
21665  result = (operations_research::OptimizeVar *)(arg1)->MakeMaximize(arg2,arg3);
21666  }
21667  catch (Swig::DirectorException &e) {
21668  SWIG_fail;
21669  }
21670  }
21672  return resultobj;
21673 fail:
21674  return NULL;
21675 }
21676 
21677 
21678 SWIGINTERN PyObject *_wrap_Solver_Optimize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21679  PyObject *resultobj = 0;
21681  bool arg2 ;
21683  int64_t arg4 ;
21684  void *argp1 = 0 ;
21685  int res1 = 0 ;
21686  bool val2 ;
21687  int ecode2 = 0 ;
21688  long val4 ;
21689  int ecode4 = 0 ;
21690  PyObject * obj0 = 0 ;
21691  PyObject * obj1 = 0 ;
21692  PyObject * obj2 = 0 ;
21693  PyObject * obj3 = 0 ;
21694  operations_research::OptimizeVar *result = 0 ;
21695 
21696  if (!PyArg_UnpackTuple(args, "Solver_Optimize", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
21697  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21698  if (!SWIG_IsOK(res1)) {
21699  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Optimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21700  }
21701  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21702  ecode2 = SWIG_AsVal_bool(obj1, &val2);
21703  if (!SWIG_IsOK(ecode2)) {
21704  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Optimize" "', argument " "2"" of type '" "bool""'");
21705  }
21706  arg2 = static_cast< bool >(val2);
21707  {
21708  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
21709  }
21710  ecode4 = SWIG_AsVal_long(obj3, &val4);
21711  if (!SWIG_IsOK(ecode4)) {
21712  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Optimize" "', argument " "4"" of type '" "int64_t""'");
21713  }
21714  arg4 = static_cast< int64_t >(val4);
21715  {
21716  try {
21717  result = (operations_research::OptimizeVar *)(arg1)->MakeOptimize(arg2,arg3,arg4);
21718  }
21719  catch (Swig::DirectorException &e) {
21720  SWIG_fail;
21721  }
21722  }
21724  return resultobj;
21725 fail:
21726  return NULL;
21727 }
21728 
21729 
21730 SWIGINTERN PyObject *_wrap_Solver_WeightedMinimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21731  PyObject *resultobj = 0;
21733  std::vector< operations_research::IntVar * > *arg2 = 0 ;
21734  std::vector< int64_t > *arg3 = 0 ;
21735  int64_t arg4 ;
21736  void *argp1 = 0 ;
21737  int res1 = 0 ;
21738  std::vector< operations_research::IntVar * > temp2 ;
21739  std::vector< int64_t > temp3 ;
21740  long val4 ;
21741  int ecode4 = 0 ;
21742  PyObject * obj0 = 0 ;
21743  PyObject * obj1 = 0 ;
21744  PyObject * obj2 = 0 ;
21745  PyObject * obj3 = 0 ;
21746  operations_research::OptimizeVar *result = 0 ;
21747 
21748  if (!PyArg_UnpackTuple(args, "Solver_WeightedMinimize", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
21749  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21750  if (!SWIG_IsOK(res1)) {
21751  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedMinimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21752  }
21753  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21754  {
21755  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
21756  if (!PyErr_Occurred())
21757  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
21758  return NULL;
21759  }
21760  arg2 = &temp2;
21761  }
21762  {
21763  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
21764  if (!PyErr_Occurred())
21765  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
21766  return NULL;
21767  }
21768  arg3 = &temp3;
21769  }
21770  ecode4 = SWIG_AsVal_long(obj3, &val4);
21771  if (!SWIG_IsOK(ecode4)) {
21772  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_WeightedMinimize" "', argument " "4"" of type '" "int64_t""'");
21773  }
21774  arg4 = static_cast< int64_t >(val4);
21775  {
21776  try {
21777  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedMinimize((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
21778  }
21779  catch (Swig::DirectorException &e) {
21780  SWIG_fail;
21781  }
21782  }
21784  return resultobj;
21785 fail:
21786  return NULL;
21787 }
21788 
21789 
21790 SWIGINTERN PyObject *_wrap_Solver_WeightedMinimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21791  PyObject *resultobj = 0;
21793  std::vector< operations_research::IntVar * > *arg2 = 0 ;
21794  std::vector< int > *arg3 = 0 ;
21795  int64_t arg4 ;
21796  void *argp1 = 0 ;
21797  int res1 = 0 ;
21798  std::vector< operations_research::IntVar * > temp2 ;
21799  std::vector< int > temp3 ;
21800  long val4 ;
21801  int ecode4 = 0 ;
21802  PyObject * obj0 = 0 ;
21803  PyObject * obj1 = 0 ;
21804  PyObject * obj2 = 0 ;
21805  PyObject * obj3 = 0 ;
21806  operations_research::OptimizeVar *result = 0 ;
21807 
21808  if (!PyArg_UnpackTuple(args, "Solver_WeightedMinimize", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
21809  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21810  if (!SWIG_IsOK(res1)) {
21811  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedMinimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21812  }
21813  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21814  {
21815  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
21816  if (!PyErr_Occurred())
21817  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
21818  return NULL;
21819  }
21820  arg2 = &temp2;
21821  }
21822  {
21823  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
21824  if (!PyErr_Occurred())
21825  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
21826  return NULL;
21827  }
21828  arg3 = &temp3;
21829  }
21830  ecode4 = SWIG_AsVal_long(obj3, &val4);
21831  if (!SWIG_IsOK(ecode4)) {
21832  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_WeightedMinimize" "', argument " "4"" of type '" "int64_t""'");
21833  }
21834  arg4 = static_cast< int64_t >(val4);
21835  {
21836  try {
21837  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedMinimize((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
21838  }
21839  catch (Swig::DirectorException &e) {
21840  SWIG_fail;
21841  }
21842  }
21844  return resultobj;
21845 fail:
21846  return NULL;
21847 }
21848 
21849 
21850 SWIGINTERN PyObject *_wrap_Solver_WeightedMinimize(PyObject *self, PyObject *args) {
21851  Py_ssize_t argc;
21852  PyObject *argv[5] = {
21853  0
21854  };
21855  Py_ssize_t ii;
21856 
21857  if (!PyTuple_Check(args)) SWIG_fail;
21858  argc = PyObject_Length(args);
21859  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
21860  argv[ii] = PyTuple_GET_ITEM(args,ii);
21861  }
21862  if (argc == 4) {
21863  int _v;
21864  void *vptr = 0;
21865  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21866  _v = SWIG_CheckState(res);
21867  if (_v) {
21868  {
21869  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
21870  _v = 0;
21871  } else {
21872  const bool is_tuple = PyTuple_Check(argv[1]);
21873  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
21874  size_t i = 0;
21875  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
21876  :PyList_GetItem(argv[1], i))) {
21877  ++i;
21878  }
21879  _v = i == size;
21880  }
21881  }
21882  if (_v) {
21883  {
21884  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
21885  _v = 0;
21886  } else {
21887  const bool is_tuple = PyTuple_Check(argv[2]);
21888  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
21889  size_t i = 0;
21890  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
21891  :PyList_GetItem(argv[2], i))) {
21892  ++i;
21893  }
21894  _v = i == size;
21895  }
21896  }
21897  if (_v) {
21898  {
21899  int res = SWIG_AsVal_long(argv[3], NULL);
21900  _v = SWIG_CheckState(res);
21901  }
21902  if (_v) {
21903  return _wrap_Solver_WeightedMinimize__SWIG_0(self, args);
21904  }
21905  }
21906  }
21907  }
21908  }
21909  if (argc == 4) {
21910  int _v;
21911  void *vptr = 0;
21912  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
21913  _v = SWIG_CheckState(res);
21914  if (_v) {
21915  {
21916  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
21917  _v = 0;
21918  } else {
21919  const bool is_tuple = PyTuple_Check(argv[1]);
21920  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
21921  size_t i = 0;
21922  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
21923  :PyList_GetItem(argv[1], i))) {
21924  ++i;
21925  }
21926  _v = i == size;
21927  }
21928  }
21929  if (_v) {
21930  {
21931  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
21932  _v = 0;
21933  } else {
21934  const bool is_tuple = PyTuple_Check(argv[2]);
21935  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
21936  size_t i = 0;
21937  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
21938  :PyList_GetItem(argv[2], i))) {
21939  ++i;
21940  }
21941  _v = i == size;
21942  }
21943  }
21944  if (_v) {
21945  {
21946  int res = SWIG_AsVal_long(argv[3], NULL);
21947  _v = SWIG_CheckState(res);
21948  }
21949  if (_v) {
21950  return _wrap_Solver_WeightedMinimize__SWIG_1(self, args);
21951  }
21952  }
21953  }
21954  }
21955  }
21956 
21957 fail:
21958  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_WeightedMinimize'.\n"
21959  " Possible C/C++ prototypes are:\n"
21960  " operations_research::Solver::MakeWeightedMinimize(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
21961  " operations_research::Solver::MakeWeightedMinimize(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n");
21962  return 0;
21963 }
21964 
21965 
21966 SWIGINTERN PyObject *_wrap_Solver_WeightedMaximize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
21967  PyObject *resultobj = 0;
21969  std::vector< operations_research::IntVar * > *arg2 = 0 ;
21970  std::vector< int64_t > *arg3 = 0 ;
21971  int64_t arg4 ;
21972  void *argp1 = 0 ;
21973  int res1 = 0 ;
21974  std::vector< operations_research::IntVar * > temp2 ;
21975  std::vector< int64_t > temp3 ;
21976  long val4 ;
21977  int ecode4 = 0 ;
21978  PyObject * obj0 = 0 ;
21979  PyObject * obj1 = 0 ;
21980  PyObject * obj2 = 0 ;
21981  PyObject * obj3 = 0 ;
21982  operations_research::OptimizeVar *result = 0 ;
21983 
21984  if (!PyArg_UnpackTuple(args, "Solver_WeightedMaximize", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
21985  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
21986  if (!SWIG_IsOK(res1)) {
21987  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedMaximize" "', argument " "1"" of type '" "operations_research::Solver *""'");
21988  }
21989  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
21990  {
21991  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
21992  if (!PyErr_Occurred())
21993  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
21994  return NULL;
21995  }
21996  arg2 = &temp2;
21997  }
21998  {
21999  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
22000  if (!PyErr_Occurred())
22001  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
22002  return NULL;
22003  }
22004  arg3 = &temp3;
22005  }
22006  ecode4 = SWIG_AsVal_long(obj3, &val4);
22007  if (!SWIG_IsOK(ecode4)) {
22008  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_WeightedMaximize" "', argument " "4"" of type '" "int64_t""'");
22009  }
22010  arg4 = static_cast< int64_t >(val4);
22011  {
22012  try {
22013  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedMaximize((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3,arg4);
22014  }
22015  catch (Swig::DirectorException &e) {
22016  SWIG_fail;
22017  }
22018  }
22020  return resultobj;
22021 fail:
22022  return NULL;
22023 }
22024 
22025 
22026 SWIGINTERN PyObject *_wrap_Solver_WeightedMaximize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22027  PyObject *resultobj = 0;
22029  std::vector< operations_research::IntVar * > *arg2 = 0 ;
22030  std::vector< int > *arg3 = 0 ;
22031  int64_t arg4 ;
22032  void *argp1 = 0 ;
22033  int res1 = 0 ;
22034  std::vector< operations_research::IntVar * > temp2 ;
22035  std::vector< int > temp3 ;
22036  long val4 ;
22037  int ecode4 = 0 ;
22038  PyObject * obj0 = 0 ;
22039  PyObject * obj1 = 0 ;
22040  PyObject * obj2 = 0 ;
22041  PyObject * obj3 = 0 ;
22042  operations_research::OptimizeVar *result = 0 ;
22043 
22044  if (!PyArg_UnpackTuple(args, "Solver_WeightedMaximize", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
22045  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22046  if (!SWIG_IsOK(res1)) {
22047  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedMaximize" "', argument " "1"" of type '" "operations_research::Solver *""'");
22048  }
22049  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22050  {
22051  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
22052  if (!PyErr_Occurred())
22053  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22054  return NULL;
22055  }
22056  arg2 = &temp2;
22057  }
22058  {
22059  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
22060  if (!PyErr_Occurred())
22061  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
22062  return NULL;
22063  }
22064  arg3 = &temp3;
22065  }
22066  ecode4 = SWIG_AsVal_long(obj3, &val4);
22067  if (!SWIG_IsOK(ecode4)) {
22068  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_WeightedMaximize" "', argument " "4"" of type '" "int64_t""'");
22069  }
22070  arg4 = static_cast< int64_t >(val4);
22071  {
22072  try {
22073  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedMaximize((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int > const &)*arg3,arg4);
22074  }
22075  catch (Swig::DirectorException &e) {
22076  SWIG_fail;
22077  }
22078  }
22080  return resultobj;
22081 fail:
22082  return NULL;
22083 }
22084 
22085 
22086 SWIGINTERN PyObject *_wrap_Solver_WeightedMaximize(PyObject *self, PyObject *args) {
22087  Py_ssize_t argc;
22088  PyObject *argv[5] = {
22089  0
22090  };
22091  Py_ssize_t ii;
22092 
22093  if (!PyTuple_Check(args)) SWIG_fail;
22094  argc = PyObject_Length(args);
22095  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
22096  argv[ii] = PyTuple_GET_ITEM(args,ii);
22097  }
22098  if (argc == 4) {
22099  int _v;
22100  void *vptr = 0;
22101  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22102  _v = SWIG_CheckState(res);
22103  if (_v) {
22104  {
22105  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
22106  _v = 0;
22107  } else {
22108  const bool is_tuple = PyTuple_Check(argv[1]);
22109  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
22110  size_t i = 0;
22111  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
22112  :PyList_GetItem(argv[1], i))) {
22113  ++i;
22114  }
22115  _v = i == size;
22116  }
22117  }
22118  if (_v) {
22119  {
22120  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
22121  _v = 0;
22122  } else {
22123  const bool is_tuple = PyTuple_Check(argv[2]);
22124  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
22125  size_t i = 0;
22126  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
22127  :PyList_GetItem(argv[2], i))) {
22128  ++i;
22129  }
22130  _v = i == size;
22131  }
22132  }
22133  if (_v) {
22134  {
22135  int res = SWIG_AsVal_long(argv[3], NULL);
22136  _v = SWIG_CheckState(res);
22137  }
22138  if (_v) {
22139  return _wrap_Solver_WeightedMaximize__SWIG_0(self, args);
22140  }
22141  }
22142  }
22143  }
22144  }
22145  if (argc == 4) {
22146  int _v;
22147  void *vptr = 0;
22148  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22149  _v = SWIG_CheckState(res);
22150  if (_v) {
22151  {
22152  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
22153  _v = 0;
22154  } else {
22155  const bool is_tuple = PyTuple_Check(argv[1]);
22156  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
22157  size_t i = 0;
22158  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
22159  :PyList_GetItem(argv[1], i))) {
22160  ++i;
22161  }
22162  _v = i == size;
22163  }
22164  }
22165  if (_v) {
22166  {
22167  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
22168  _v = 0;
22169  } else {
22170  const bool is_tuple = PyTuple_Check(argv[2]);
22171  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
22172  size_t i = 0;
22173  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
22174  :PyList_GetItem(argv[2], i))) {
22175  ++i;
22176  }
22177  _v = i == size;
22178  }
22179  }
22180  if (_v) {
22181  {
22182  int res = SWIG_AsVal_long(argv[3], NULL);
22183  _v = SWIG_CheckState(res);
22184  }
22185  if (_v) {
22186  return _wrap_Solver_WeightedMaximize__SWIG_1(self, args);
22187  }
22188  }
22189  }
22190  }
22191  }
22192 
22193 fail:
22194  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_WeightedMaximize'.\n"
22195  " Possible C/C++ prototypes are:\n"
22196  " operations_research::Solver::MakeWeightedMaximize(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
22197  " operations_research::Solver::MakeWeightedMaximize(std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n");
22198  return 0;
22199 }
22200 
22201 
22202 SWIGINTERN PyObject *_wrap_Solver_WeightedOptimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22203  PyObject *resultobj = 0;
22205  bool arg2 ;
22206  std::vector< operations_research::IntVar * > *arg3 = 0 ;
22207  std::vector< int64_t > *arg4 = 0 ;
22208  int64_t arg5 ;
22209  void *argp1 = 0 ;
22210  int res1 = 0 ;
22211  bool val2 ;
22212  int ecode2 = 0 ;
22213  std::vector< operations_research::IntVar * > temp3 ;
22214  std::vector< int64_t > temp4 ;
22215  long val5 ;
22216  int ecode5 = 0 ;
22217  PyObject * obj0 = 0 ;
22218  PyObject * obj1 = 0 ;
22219  PyObject * obj2 = 0 ;
22220  PyObject * obj3 = 0 ;
22221  PyObject * obj4 = 0 ;
22222  operations_research::OptimizeVar *result = 0 ;
22223 
22224  if (!PyArg_UnpackTuple(args, "Solver_WeightedOptimize", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
22225  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22226  if (!SWIG_IsOK(res1)) {
22227  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
22228  }
22229  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22230  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22231  if (!SWIG_IsOK(ecode2)) {
22232  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_WeightedOptimize" "', argument " "2"" of type '" "bool""'");
22233  }
22234  arg2 = static_cast< bool >(val2);
22235  {
22236  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
22237  if (!PyErr_Occurred())
22238  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22239  return NULL;
22240  }
22241  arg3 = &temp3;
22242  }
22243  {
22244  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
22245  if (!PyErr_Occurred())
22246  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
22247  return NULL;
22248  }
22249  arg4 = &temp4;
22250  }
22251  ecode5 = SWIG_AsVal_long(obj4, &val5);
22252  if (!SWIG_IsOK(ecode5)) {
22253  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_WeightedOptimize" "', argument " "5"" of type '" "int64_t""'");
22254  }
22255  arg5 = static_cast< int64_t >(val5);
22256  {
22257  try {
22258  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedOptimize(arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< int64_t > const &)*arg4,arg5);
22259  }
22260  catch (Swig::DirectorException &e) {
22261  SWIG_fail;
22262  }
22263  }
22265  return resultobj;
22266 fail:
22267  return NULL;
22268 }
22269 
22270 
22271 SWIGINTERN PyObject *_wrap_Solver_WeightedOptimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22272  PyObject *resultobj = 0;
22274  bool arg2 ;
22275  std::vector< operations_research::IntVar * > *arg3 = 0 ;
22276  std::vector< int > *arg4 = 0 ;
22277  int64_t arg5 ;
22278  void *argp1 = 0 ;
22279  int res1 = 0 ;
22280  bool val2 ;
22281  int ecode2 = 0 ;
22282  std::vector< operations_research::IntVar * > temp3 ;
22283  std::vector< int > temp4 ;
22284  long val5 ;
22285  int ecode5 = 0 ;
22286  PyObject * obj0 = 0 ;
22287  PyObject * obj1 = 0 ;
22288  PyObject * obj2 = 0 ;
22289  PyObject * obj3 = 0 ;
22290  PyObject * obj4 = 0 ;
22291  operations_research::OptimizeVar *result = 0 ;
22292 
22293  if (!PyArg_UnpackTuple(args, "Solver_WeightedOptimize", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
22294  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22295  if (!SWIG_IsOK(res1)) {
22296  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_WeightedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
22297  }
22298  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22299  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22300  if (!SWIG_IsOK(ecode2)) {
22301  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_WeightedOptimize" "', argument " "2"" of type '" "bool""'");
22302  }
22303  arg2 = static_cast< bool >(val2);
22304  {
22305  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
22306  if (!PyErr_Occurred())
22307  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22308  return NULL;
22309  }
22310  arg3 = &temp3;
22311  }
22312  {
22313  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
22314  if (!PyErr_Occurred())
22315  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
22316  return NULL;
22317  }
22318  arg4 = &temp4;
22319  }
22320  ecode5 = SWIG_AsVal_long(obj4, &val5);
22321  if (!SWIG_IsOK(ecode5)) {
22322  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_WeightedOptimize" "', argument " "5"" of type '" "int64_t""'");
22323  }
22324  arg5 = static_cast< int64_t >(val5);
22325  {
22326  try {
22327  result = (operations_research::OptimizeVar *)(arg1)->MakeWeightedOptimize(arg2,(std::vector< operations_research::IntVar * > const &)*arg3,(std::vector< int > const &)*arg4,arg5);
22328  }
22329  catch (Swig::DirectorException &e) {
22330  SWIG_fail;
22331  }
22332  }
22334  return resultobj;
22335 fail:
22336  return NULL;
22337 }
22338 
22339 
22340 SWIGINTERN PyObject *_wrap_Solver_WeightedOptimize(PyObject *self, PyObject *args) {
22341  Py_ssize_t argc;
22342  PyObject *argv[6] = {
22343  0
22344  };
22345  Py_ssize_t ii;
22346 
22347  if (!PyTuple_Check(args)) SWIG_fail;
22348  argc = PyObject_Length(args);
22349  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
22350  argv[ii] = PyTuple_GET_ITEM(args,ii);
22351  }
22352  if (argc == 5) {
22353  int _v;
22354  void *vptr = 0;
22355  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22356  _v = SWIG_CheckState(res);
22357  if (_v) {
22358  {
22359  int res = SWIG_AsVal_bool(argv[1], NULL);
22360  _v = SWIG_CheckState(res);
22361  }
22362  if (_v) {
22363  {
22364  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
22365  _v = 0;
22366  } else {
22367  const bool is_tuple = PyTuple_Check(argv[2]);
22368  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
22369  size_t i = 0;
22370  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
22371  :PyList_GetItem(argv[2], i))) {
22372  ++i;
22373  }
22374  _v = i == size;
22375  }
22376  }
22377  if (_v) {
22378  {
22379  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
22380  _v = 0;
22381  } else {
22382  const bool is_tuple = PyTuple_Check(argv[3]);
22383  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
22384  size_t i = 0;
22385  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
22386  :PyList_GetItem(argv[3], i))) {
22387  ++i;
22388  }
22389  _v = i == size;
22390  }
22391  }
22392  if (_v) {
22393  {
22394  int res = SWIG_AsVal_long(argv[4], NULL);
22395  _v = SWIG_CheckState(res);
22396  }
22397  if (_v) {
22398  return _wrap_Solver_WeightedOptimize__SWIG_0(self, args);
22399  }
22400  }
22401  }
22402  }
22403  }
22404  }
22405  if (argc == 5) {
22406  int _v;
22407  void *vptr = 0;
22408  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22409  _v = SWIG_CheckState(res);
22410  if (_v) {
22411  {
22412  int res = SWIG_AsVal_bool(argv[1], NULL);
22413  _v = SWIG_CheckState(res);
22414  }
22415  if (_v) {
22416  {
22417  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
22418  _v = 0;
22419  } else {
22420  const bool is_tuple = PyTuple_Check(argv[2]);
22421  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
22422  size_t i = 0;
22423  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
22424  :PyList_GetItem(argv[2], i))) {
22425  ++i;
22426  }
22427  _v = i == size;
22428  }
22429  }
22430  if (_v) {
22431  {
22432  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
22433  _v = 0;
22434  } else {
22435  const bool is_tuple = PyTuple_Check(argv[3]);
22436  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
22437  size_t i = 0;
22438  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
22439  :PyList_GetItem(argv[3], i))) {
22440  ++i;
22441  }
22442  _v = i == size;
22443  }
22444  }
22445  if (_v) {
22446  {
22447  int res = SWIG_AsVal_long(argv[4], NULL);
22448  _v = SWIG_CheckState(res);
22449  }
22450  if (_v) {
22451  return _wrap_Solver_WeightedOptimize__SWIG_1(self, args);
22452  }
22453  }
22454  }
22455  }
22456  }
22457  }
22458 
22459 fail:
22460  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_WeightedOptimize'.\n"
22461  " Possible C/C++ prototypes are:\n"
22462  " operations_research::Solver::MakeWeightedOptimize(bool,std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &,int64_t)\n"
22463  " operations_research::Solver::MakeWeightedOptimize(bool,std::vector< operations_research::IntVar * > const &,std::vector< int > const &,int64_t)\n");
22464  return 0;
22465 }
22466 
22467 
22468 SWIGINTERN PyObject *_wrap_Solver_TabuSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22469  PyObject *resultobj = 0;
22471  bool arg2 ;
22473  int64_t arg4 ;
22474  std::vector< operations_research::IntVar * > *arg5 = 0 ;
22475  int64_t arg6 ;
22476  int64_t arg7 ;
22477  double arg8 ;
22478  void *argp1 = 0 ;
22479  int res1 = 0 ;
22480  bool val2 ;
22481  int ecode2 = 0 ;
22482  long val4 ;
22483  int ecode4 = 0 ;
22484  std::vector< operations_research::IntVar * > temp5 ;
22485  long val6 ;
22486  int ecode6 = 0 ;
22487  long val7 ;
22488  int ecode7 = 0 ;
22489  double val8 ;
22490  int ecode8 = 0 ;
22491  PyObject * obj0 = 0 ;
22492  PyObject * obj1 = 0 ;
22493  PyObject * obj2 = 0 ;
22494  PyObject * obj3 = 0 ;
22495  PyObject * obj4 = 0 ;
22496  PyObject * obj5 = 0 ;
22497  PyObject * obj6 = 0 ;
22498  PyObject * obj7 = 0 ;
22500 
22501  if (!PyArg_UnpackTuple(args, "Solver_TabuSearch", 8, 8, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6, &obj7)) SWIG_fail;
22502  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22503  if (!SWIG_IsOK(res1)) {
22504  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TabuSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
22505  }
22506  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22507  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22508  if (!SWIG_IsOK(ecode2)) {
22509  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_TabuSearch" "', argument " "2"" of type '" "bool""'");
22510  }
22511  arg2 = static_cast< bool >(val2);
22512  {
22513  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
22514  }
22515  ecode4 = SWIG_AsVal_long(obj3, &val4);
22516  if (!SWIG_IsOK(ecode4)) {
22517  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_TabuSearch" "', argument " "4"" of type '" "int64_t""'");
22518  }
22519  arg4 = static_cast< int64_t >(val4);
22520  {
22521  if (!vector_input_helper(obj4, &temp5, PyObjAs<operations_research::IntVar*>)) {
22522  if (!PyErr_Occurred())
22523  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22524  return NULL;
22525  }
22526  arg5 = &temp5;
22527  }
22528  ecode6 = SWIG_AsVal_long(obj5, &val6);
22529  if (!SWIG_IsOK(ecode6)) {
22530  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_TabuSearch" "', argument " "6"" of type '" "int64_t""'");
22531  }
22532  arg6 = static_cast< int64_t >(val6);
22533  ecode7 = SWIG_AsVal_long(obj6, &val7);
22534  if (!SWIG_IsOK(ecode7)) {
22535  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_TabuSearch" "', argument " "7"" of type '" "int64_t""'");
22536  }
22537  arg7 = static_cast< int64_t >(val7);
22538  ecode8 = SWIG_AsVal_double(obj7, &val8);
22539  if (!SWIG_IsOK(ecode8)) {
22540  SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Solver_TabuSearch" "', argument " "8"" of type '" "double""'");
22541  }
22542  arg8 = static_cast< double >(val8);
22543  {
22544  try {
22545  result = (operations_research::SearchMonitor *)(arg1)->MakeTabuSearch(arg2,arg3,arg4,(std::vector< operations_research::IntVar * > const &)*arg5,arg6,arg7,arg8);
22546  }
22547  catch (Swig::DirectorException &e) {
22548  SWIG_fail;
22549  }
22550  }
22552  return resultobj;
22553 fail:
22554  return NULL;
22555 }
22556 
22557 
22558 SWIGINTERN PyObject *_wrap_Solver_SimulatedAnnealing(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22559  PyObject *resultobj = 0;
22561  bool arg2 ;
22563  int64_t arg4 ;
22564  int64_t arg5 ;
22565  void *argp1 = 0 ;
22566  int res1 = 0 ;
22567  bool val2 ;
22568  int ecode2 = 0 ;
22569  long val4 ;
22570  int ecode4 = 0 ;
22571  long val5 ;
22572  int ecode5 = 0 ;
22573  PyObject * obj0 = 0 ;
22574  PyObject * obj1 = 0 ;
22575  PyObject * obj2 = 0 ;
22576  PyObject * obj3 = 0 ;
22577  PyObject * obj4 = 0 ;
22579 
22580  if (!PyArg_UnpackTuple(args, "Solver_SimulatedAnnealing", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
22581  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22582  if (!SWIG_IsOK(res1)) {
22583  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SimulatedAnnealing" "', argument " "1"" of type '" "operations_research::Solver *""'");
22584  }
22585  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22586  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22587  if (!SWIG_IsOK(ecode2)) {
22588  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SimulatedAnnealing" "', argument " "2"" of type '" "bool""'");
22589  }
22590  arg2 = static_cast< bool >(val2);
22591  {
22592  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
22593  }
22594  ecode4 = SWIG_AsVal_long(obj3, &val4);
22595  if (!SWIG_IsOK(ecode4)) {
22596  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_SimulatedAnnealing" "', argument " "4"" of type '" "int64_t""'");
22597  }
22598  arg4 = static_cast< int64_t >(val4);
22599  ecode5 = SWIG_AsVal_long(obj4, &val5);
22600  if (!SWIG_IsOK(ecode5)) {
22601  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_SimulatedAnnealing" "', argument " "5"" of type '" "int64_t""'");
22602  }
22603  arg5 = static_cast< int64_t >(val5);
22604  {
22605  try {
22606  result = (operations_research::SearchMonitor *)(arg1)->MakeSimulatedAnnealing(arg2,arg3,arg4,arg5);
22607  }
22608  catch (Swig::DirectorException &e) {
22609  SWIG_fail;
22610  }
22611  }
22613  return resultobj;
22614 fail:
22615  return NULL;
22616 }
22617 
22618 
22619 SWIGINTERN PyObject *_wrap_Solver_GuidedLocalSearch__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22620  PyObject *resultobj = 0;
22622  bool arg2 ;
22625  int64_t arg5 ;
22626  std::vector< operations_research::IntVar * > *arg6 = 0 ;
22627  double arg7 ;
22628  void *argp1 = 0 ;
22629  int res1 = 0 ;
22630  bool val2 ;
22631  int ecode2 = 0 ;
22632  long val5 ;
22633  int ecode5 = 0 ;
22634  std::vector< operations_research::IntVar * > temp6 ;
22635  double val7 ;
22636  int ecode7 = 0 ;
22637  PyObject * obj0 = 0 ;
22638  PyObject * obj1 = 0 ;
22639  PyObject * obj2 = 0 ;
22640  PyObject * obj3 = 0 ;
22641  PyObject * obj4 = 0 ;
22642  PyObject * obj5 = 0 ;
22643  PyObject * obj6 = 0 ;
22645 
22646  if (!PyArg_UnpackTuple(args, "Solver_GuidedLocalSearch", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
22647  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22648  if (!SWIG_IsOK(res1)) {
22649  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_GuidedLocalSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
22650  }
22651  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22652  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22653  if (!SWIG_IsOK(ecode2)) {
22654  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_GuidedLocalSearch" "', argument " "2"" of type '" "bool""'");
22655  }
22656  arg2 = static_cast< bool >(val2);
22657  {
22658  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
22659  }
22660  {
22661  SharedPyPtr input(obj3);
22662  arg4 = [input](int64_t i, int64_t j) {
22663  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
22664  };
22665  }
22666  ecode5 = SWIG_AsVal_long(obj4, &val5);
22667  if (!SWIG_IsOK(ecode5)) {
22668  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_GuidedLocalSearch" "', argument " "5"" of type '" "int64_t""'");
22669  }
22670  arg5 = static_cast< int64_t >(val5);
22671  {
22672  if (!vector_input_helper(obj5, &temp6, PyObjAs<operations_research::IntVar*>)) {
22673  if (!PyErr_Occurred())
22674  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22675  return NULL;
22676  }
22677  arg6 = &temp6;
22678  }
22679  ecode7 = SWIG_AsVal_double(obj6, &val7);
22680  if (!SWIG_IsOK(ecode7)) {
22681  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_GuidedLocalSearch" "', argument " "7"" of type '" "double""'");
22682  }
22683  arg7 = static_cast< double >(val7);
22684  {
22685  try {
22686  result = (operations_research::SearchMonitor *)(arg1)->MakeGuidedLocalSearch(arg2,arg3,arg4,arg5,(std::vector< operations_research::IntVar * > const &)*arg6,arg7);
22687  }
22688  catch (Swig::DirectorException &e) {
22689  SWIG_fail;
22690  }
22691  }
22693  return resultobj;
22694 fail:
22695  return NULL;
22696 }
22697 
22698 
22699 SWIGINTERN PyObject *_wrap_Solver_GuidedLocalSearch__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22700  PyObject *resultobj = 0;
22702  bool arg2 ;
22705  int64_t arg5 ;
22706  std::vector< operations_research::IntVar * > *arg6 = 0 ;
22707  std::vector< operations_research::IntVar * > *arg7 = 0 ;
22708  double arg8 ;
22709  void *argp1 = 0 ;
22710  int res1 = 0 ;
22711  bool val2 ;
22712  int ecode2 = 0 ;
22713  long val5 ;
22714  int ecode5 = 0 ;
22715  std::vector< operations_research::IntVar * > temp6 ;
22716  std::vector< operations_research::IntVar * > temp7 ;
22717  double val8 ;
22718  int ecode8 = 0 ;
22719  PyObject * obj0 = 0 ;
22720  PyObject * obj1 = 0 ;
22721  PyObject * obj2 = 0 ;
22722  PyObject * obj3 = 0 ;
22723  PyObject * obj4 = 0 ;
22724  PyObject * obj5 = 0 ;
22725  PyObject * obj6 = 0 ;
22726  PyObject * obj7 = 0 ;
22728 
22729  if (!PyArg_UnpackTuple(args, "Solver_GuidedLocalSearch", 8, 8, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6, &obj7)) SWIG_fail;
22730  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22731  if (!SWIG_IsOK(res1)) {
22732  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_GuidedLocalSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
22733  }
22734  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22735  ecode2 = SWIG_AsVal_bool(obj1, &val2);
22736  if (!SWIG_IsOK(ecode2)) {
22737  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_GuidedLocalSearch" "', argument " "2"" of type '" "bool""'");
22738  }
22739  arg2 = static_cast< bool >(val2);
22740  {
22741  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
22742  }
22743  {
22744  SharedPyPtr input(obj3);
22745  arg4 = [input](int64_t i, int64_t j, int64_t k) {
22746  return InvokePythonCallableReturning<int64_t>(input.get(), "LLL", i, j, k);
22747  };
22748  }
22749  ecode5 = SWIG_AsVal_long(obj4, &val5);
22750  if (!SWIG_IsOK(ecode5)) {
22751  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_GuidedLocalSearch" "', argument " "5"" of type '" "int64_t""'");
22752  }
22753  arg5 = static_cast< int64_t >(val5);
22754  {
22755  if (!vector_input_helper(obj5, &temp6, PyObjAs<operations_research::IntVar*>)) {
22756  if (!PyErr_Occurred())
22757  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22758  return NULL;
22759  }
22760  arg6 = &temp6;
22761  }
22762  {
22763  if (!vector_input_helper(obj6, &temp7, PyObjAs<operations_research::IntVar*>)) {
22764  if (!PyErr_Occurred())
22765  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
22766  return NULL;
22767  }
22768  arg7 = &temp7;
22769  }
22770  ecode8 = SWIG_AsVal_double(obj7, &val8);
22771  if (!SWIG_IsOK(ecode8)) {
22772  SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Solver_GuidedLocalSearch" "', argument " "8"" of type '" "double""'");
22773  }
22774  arg8 = static_cast< double >(val8);
22775  {
22776  try {
22777  result = (operations_research::SearchMonitor *)(arg1)->MakeGuidedLocalSearch(arg2,arg3,arg4,arg5,(std::vector< operations_research::IntVar * > const &)*arg6,(std::vector< operations_research::IntVar * > const &)*arg7,arg8);
22778  }
22779  catch (Swig::DirectorException &e) {
22780  SWIG_fail;
22781  }
22782  }
22784  return resultobj;
22785 fail:
22786  return NULL;
22787 }
22788 
22789 
22790 SWIGINTERN PyObject *_wrap_Solver_LubyRestart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22791  PyObject *resultobj = 0;
22793  int arg2 ;
22794  void *argp1 = 0 ;
22795  int res1 = 0 ;
22796  int val2 ;
22797  int ecode2 = 0 ;
22798  PyObject * obj0 = 0 ;
22799  PyObject * obj1 = 0 ;
22801 
22802  if (!PyArg_UnpackTuple(args, "Solver_LubyRestart", 2, 2, &obj0, &obj1)) SWIG_fail;
22803  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22804  if (!SWIG_IsOK(res1)) {
22805  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LubyRestart" "', argument " "1"" of type '" "operations_research::Solver *""'");
22806  }
22807  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22808  ecode2 = SWIG_AsVal_int(obj1, &val2);
22809  if (!SWIG_IsOK(ecode2)) {
22810  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_LubyRestart" "', argument " "2"" of type '" "int""'");
22811  }
22812  arg2 = static_cast< int >(val2);
22813  {
22814  try {
22815  result = (operations_research::SearchMonitor *)(arg1)->MakeLubyRestart(arg2);
22816  }
22817  catch (Swig::DirectorException &e) {
22818  SWIG_fail;
22819  }
22820  }
22822  return resultobj;
22823 fail:
22824  return NULL;
22825 }
22826 
22827 
22828 SWIGINTERN PyObject *_wrap_Solver_ConstantRestart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22829  PyObject *resultobj = 0;
22831  int arg2 ;
22832  void *argp1 = 0 ;
22833  int res1 = 0 ;
22834  int val2 ;
22835  int ecode2 = 0 ;
22836  PyObject * obj0 = 0 ;
22837  PyObject * obj1 = 0 ;
22839 
22840  if (!PyArg_UnpackTuple(args, "Solver_ConstantRestart", 2, 2, &obj0, &obj1)) SWIG_fail;
22841  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22842  if (!SWIG_IsOK(res1)) {
22843  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConstantRestart" "', argument " "1"" of type '" "operations_research::Solver *""'");
22844  }
22845  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22846  ecode2 = SWIG_AsVal_int(obj1, &val2);
22847  if (!SWIG_IsOK(ecode2)) {
22848  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_ConstantRestart" "', argument " "2"" of type '" "int""'");
22849  }
22850  arg2 = static_cast< int >(val2);
22851  {
22852  try {
22853  result = (operations_research::SearchMonitor *)(arg1)->MakeConstantRestart(arg2);
22854  }
22855  catch (Swig::DirectorException &e) {
22856  SWIG_fail;
22857  }
22858  }
22860  return resultobj;
22861 fail:
22862  return NULL;
22863 }
22864 
22865 
22866 SWIGINTERN PyObject *_wrap_Solver_TimeLimit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22867  PyObject *resultobj = 0;
22869  absl::Duration arg2 ;
22870  void *argp1 = 0 ;
22871  int res1 = 0 ;
22872  void *argp2 ;
22873  int res2 = 0 ;
22874  PyObject * obj0 = 0 ;
22875  PyObject * obj1 = 0 ;
22876  operations_research::RegularLimit *result = 0 ;
22877 
22878  if (!PyArg_UnpackTuple(args, "Solver_TimeLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
22879  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22880  if (!SWIG_IsOK(res1)) {
22881  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TimeLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
22882  }
22883  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22884  {
22885  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_absl__Duration, 0 | 0);
22886  if (!SWIG_IsOK(res2)) {
22887  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_TimeLimit" "', argument " "2"" of type '" "absl::Duration""'");
22888  }
22889  if (!argp2) {
22890  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_TimeLimit" "', argument " "2"" of type '" "absl::Duration""'");
22891  } else {
22892  absl::Duration * temp = reinterpret_cast< absl::Duration * >(argp2);
22893  arg2 = *temp;
22894  if (SWIG_IsNewObj(res2)) delete temp;
22895  }
22896  }
22897  {
22898  try {
22899  result = (operations_research::RegularLimit *)(arg1)->MakeTimeLimit(arg2);
22900  }
22901  catch (Swig::DirectorException &e) {
22902  SWIG_fail;
22903  }
22904  }
22906  return resultobj;
22907 fail:
22908  return NULL;
22909 }
22910 
22911 
22912 SWIGINTERN PyObject *_wrap_Solver_TimeLimit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
22913  PyObject *resultobj = 0;
22915  int64_t arg2 ;
22916  void *argp1 = 0 ;
22917  int res1 = 0 ;
22918  long val2 ;
22919  int ecode2 = 0 ;
22920  PyObject * obj0 = 0 ;
22921  PyObject * obj1 = 0 ;
22922  operations_research::RegularLimit *result = 0 ;
22923 
22924  if (!PyArg_UnpackTuple(args, "Solver_TimeLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
22925  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
22926  if (!SWIG_IsOK(res1)) {
22927  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TimeLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
22928  }
22929  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
22930  ecode2 = SWIG_AsVal_long(obj1, &val2);
22931  if (!SWIG_IsOK(ecode2)) {
22932  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_TimeLimit" "', argument " "2"" of type '" "int64_t""'");
22933  }
22934  arg2 = static_cast< int64_t >(val2);
22935  {
22936  try {
22937  result = (operations_research::RegularLimit *)(arg1)->MakeTimeLimit(arg2);
22938  }
22939  catch (Swig::DirectorException &e) {
22940  SWIG_fail;
22941  }
22942  }
22944  return resultobj;
22945 fail:
22946  return NULL;
22947 }
22948 
22949 
22950 SWIGINTERN PyObject *_wrap_Solver_TimeLimit(PyObject *self, PyObject *args) {
22951  Py_ssize_t argc;
22952  PyObject *argv[3] = {
22953  0
22954  };
22955  Py_ssize_t ii;
22956 
22957  if (!PyTuple_Check(args)) SWIG_fail;
22958  argc = PyObject_Length(args);
22959  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
22960  argv[ii] = PyTuple_GET_ITEM(args,ii);
22961  }
22962  if (argc == 2) {
22963  int _v;
22964  void *vptr = 0;
22965  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22966  _v = SWIG_CheckState(res);
22967  if (_v) {
22969  _v = SWIG_CheckState(res);
22970  if (_v) {
22971  return _wrap_Solver_TimeLimit__SWIG_0(self, args);
22972  }
22973  }
22974  }
22975  if (argc == 2) {
22976  int _v;
22977  void *vptr = 0;
22978  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
22979  _v = SWIG_CheckState(res);
22980  if (_v) {
22981  {
22982  int res = SWIG_AsVal_long(argv[1], NULL);
22983  _v = SWIG_CheckState(res);
22984  }
22985  if (_v) {
22986  return _wrap_Solver_TimeLimit__SWIG_1(self, args);
22987  }
22988  }
22989  }
22990 
22991 fail:
22992  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_TimeLimit'.\n"
22993  " Possible C/C++ prototypes are:\n"
22994  " operations_research::Solver::MakeTimeLimit(absl::Duration)\n"
22995  " operations_research::Solver::MakeTimeLimit(int64_t)\n");
22996  return 0;
22997 }
22998 
22999 
23000 SWIGINTERN PyObject *_wrap_Solver_BranchesLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23001  PyObject *resultobj = 0;
23003  int64_t arg2 ;
23004  void *argp1 = 0 ;
23005  int res1 = 0 ;
23006  long val2 ;
23007  int ecode2 = 0 ;
23008  PyObject * obj0 = 0 ;
23009  PyObject * obj1 = 0 ;
23010  operations_research::RegularLimit *result = 0 ;
23011 
23012  if (!PyArg_UnpackTuple(args, "Solver_BranchesLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
23013  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23014  if (!SWIG_IsOK(res1)) {
23015  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_BranchesLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23016  }
23017  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23018  ecode2 = SWIG_AsVal_long(obj1, &val2);
23019  if (!SWIG_IsOK(ecode2)) {
23020  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_BranchesLimit" "', argument " "2"" of type '" "int64_t""'");
23021  }
23022  arg2 = static_cast< int64_t >(val2);
23023  {
23024  try {
23025  result = (operations_research::RegularLimit *)(arg1)->MakeBranchesLimit(arg2);
23026  }
23027  catch (Swig::DirectorException &e) {
23028  SWIG_fail;
23029  }
23030  }
23032  return resultobj;
23033 fail:
23034  return NULL;
23035 }
23036 
23037 
23038 SWIGINTERN PyObject *_wrap_Solver_FailuresLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23039  PyObject *resultobj = 0;
23041  int64_t arg2 ;
23042  void *argp1 = 0 ;
23043  int res1 = 0 ;
23044  long val2 ;
23045  int ecode2 = 0 ;
23046  PyObject * obj0 = 0 ;
23047  PyObject * obj1 = 0 ;
23048  operations_research::RegularLimit *result = 0 ;
23049 
23050  if (!PyArg_UnpackTuple(args, "Solver_FailuresLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
23051  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23052  if (!SWIG_IsOK(res1)) {
23053  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FailuresLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23054  }
23055  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23056  ecode2 = SWIG_AsVal_long(obj1, &val2);
23057  if (!SWIG_IsOK(ecode2)) {
23058  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_FailuresLimit" "', argument " "2"" of type '" "int64_t""'");
23059  }
23060  arg2 = static_cast< int64_t >(val2);
23061  {
23062  try {
23063  result = (operations_research::RegularLimit *)(arg1)->MakeFailuresLimit(arg2);
23064  }
23065  catch (Swig::DirectorException &e) {
23066  SWIG_fail;
23067  }
23068  }
23070  return resultobj;
23071 fail:
23072  return NULL;
23073 }
23074 
23075 
23076 SWIGINTERN PyObject *_wrap_Solver_SolutionsLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23077  PyObject *resultobj = 0;
23079  int64_t arg2 ;
23080  void *argp1 = 0 ;
23081  int res1 = 0 ;
23082  long val2 ;
23083  int ecode2 = 0 ;
23084  PyObject * obj0 = 0 ;
23085  PyObject * obj1 = 0 ;
23086  operations_research::RegularLimit *result = 0 ;
23087 
23088  if (!PyArg_UnpackTuple(args, "Solver_SolutionsLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
23089  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23090  if (!SWIG_IsOK(res1)) {
23091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolutionsLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23092  }
23093  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23094  ecode2 = SWIG_AsVal_long(obj1, &val2);
23095  if (!SWIG_IsOK(ecode2)) {
23096  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SolutionsLimit" "', argument " "2"" of type '" "int64_t""'");
23097  }
23098  arg2 = static_cast< int64_t >(val2);
23099  {
23100  try {
23101  result = (operations_research::RegularLimit *)(arg1)->MakeSolutionsLimit(arg2);
23102  }
23103  catch (Swig::DirectorException &e) {
23104  SWIG_fail;
23105  }
23106  }
23108  return resultobj;
23109 fail:
23110  return NULL;
23111 }
23112 
23113 
23114 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23115  PyObject *resultobj = 0;
23117  absl::Duration arg2 ;
23118  int64_t arg3 ;
23119  int64_t arg4 ;
23120  int64_t arg5 ;
23121  bool arg6 ;
23122  bool arg7 ;
23123  void *argp1 = 0 ;
23124  int res1 = 0 ;
23125  void *argp2 ;
23126  int res2 = 0 ;
23127  long val3 ;
23128  int ecode3 = 0 ;
23129  long val4 ;
23130  int ecode4 = 0 ;
23131  long val5 ;
23132  int ecode5 = 0 ;
23133  bool val6 ;
23134  int ecode6 = 0 ;
23135  bool val7 ;
23136  int ecode7 = 0 ;
23137  PyObject * obj0 = 0 ;
23138  PyObject * obj1 = 0 ;
23139  PyObject * obj2 = 0 ;
23140  PyObject * obj3 = 0 ;
23141  PyObject * obj4 = 0 ;
23142  PyObject * obj5 = 0 ;
23143  PyObject * obj6 = 0 ;
23144  operations_research::RegularLimit *result = 0 ;
23145 
23146  if (!PyArg_UnpackTuple(args, "Solver_Limit", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
23147  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23148  if (!SWIG_IsOK(res1)) {
23149  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23150  }
23151  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23152  {
23153  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_absl__Duration, 0 | 0);
23154  if (!SWIG_IsOK(res2)) {
23155  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23156  }
23157  if (!argp2) {
23158  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23159  } else {
23160  absl::Duration * temp = reinterpret_cast< absl::Duration * >(argp2);
23161  arg2 = *temp;
23162  if (SWIG_IsNewObj(res2)) delete temp;
23163  }
23164  }
23165  ecode3 = SWIG_AsVal_long(obj2, &val3);
23166  if (!SWIG_IsOK(ecode3)) {
23167  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23168  }
23169  arg3 = static_cast< int64_t >(val3);
23170  ecode4 = SWIG_AsVal_long(obj3, &val4);
23171  if (!SWIG_IsOK(ecode4)) {
23172  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23173  }
23174  arg4 = static_cast< int64_t >(val4);
23175  ecode5 = SWIG_AsVal_long(obj4, &val5);
23176  if (!SWIG_IsOK(ecode5)) {
23177  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23178  }
23179  arg5 = static_cast< int64_t >(val5);
23180  ecode6 = SWIG_AsVal_bool(obj5, &val6);
23181  if (!SWIG_IsOK(ecode6)) {
23182  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_Limit" "', argument " "6"" of type '" "bool""'");
23183  }
23184  arg6 = static_cast< bool >(val6);
23185  ecode7 = SWIG_AsVal_bool(obj6, &val7);
23186  if (!SWIG_IsOK(ecode7)) {
23187  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_Limit" "', argument " "7"" of type '" "bool""'");
23188  }
23189  arg7 = static_cast< bool >(val7);
23190  {
23191  try {
23192  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5,arg6,arg7);
23193  }
23194  catch (Swig::DirectorException &e) {
23195  SWIG_fail;
23196  }
23197  }
23199  return resultobj;
23200 fail:
23201  return NULL;
23202 }
23203 
23204 
23205 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23206  PyObject *resultobj = 0;
23208  absl::Duration arg2 ;
23209  int64_t arg3 ;
23210  int64_t arg4 ;
23211  int64_t arg5 ;
23212  bool arg6 ;
23213  void *argp1 = 0 ;
23214  int res1 = 0 ;
23215  void *argp2 ;
23216  int res2 = 0 ;
23217  long val3 ;
23218  int ecode3 = 0 ;
23219  long val4 ;
23220  int ecode4 = 0 ;
23221  long val5 ;
23222  int ecode5 = 0 ;
23223  bool val6 ;
23224  int ecode6 = 0 ;
23225  PyObject * obj0 = 0 ;
23226  PyObject * obj1 = 0 ;
23227  PyObject * obj2 = 0 ;
23228  PyObject * obj3 = 0 ;
23229  PyObject * obj4 = 0 ;
23230  PyObject * obj5 = 0 ;
23231  operations_research::RegularLimit *result = 0 ;
23232 
23233  if (!PyArg_UnpackTuple(args, "Solver_Limit", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
23234  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23235  if (!SWIG_IsOK(res1)) {
23236  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23237  }
23238  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23239  {
23240  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_absl__Duration, 0 | 0);
23241  if (!SWIG_IsOK(res2)) {
23242  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23243  }
23244  if (!argp2) {
23245  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23246  } else {
23247  absl::Duration * temp = reinterpret_cast< absl::Duration * >(argp2);
23248  arg2 = *temp;
23249  if (SWIG_IsNewObj(res2)) delete temp;
23250  }
23251  }
23252  ecode3 = SWIG_AsVal_long(obj2, &val3);
23253  if (!SWIG_IsOK(ecode3)) {
23254  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23255  }
23256  arg3 = static_cast< int64_t >(val3);
23257  ecode4 = SWIG_AsVal_long(obj3, &val4);
23258  if (!SWIG_IsOK(ecode4)) {
23259  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23260  }
23261  arg4 = static_cast< int64_t >(val4);
23262  ecode5 = SWIG_AsVal_long(obj4, &val5);
23263  if (!SWIG_IsOK(ecode5)) {
23264  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23265  }
23266  arg5 = static_cast< int64_t >(val5);
23267  ecode6 = SWIG_AsVal_bool(obj5, &val6);
23268  if (!SWIG_IsOK(ecode6)) {
23269  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_Limit" "', argument " "6"" of type '" "bool""'");
23270  }
23271  arg6 = static_cast< bool >(val6);
23272  {
23273  try {
23274  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5,arg6);
23275  }
23276  catch (Swig::DirectorException &e) {
23277  SWIG_fail;
23278  }
23279  }
23281  return resultobj;
23282 fail:
23283  return NULL;
23284 }
23285 
23286 
23287 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23288  PyObject *resultobj = 0;
23290  absl::Duration arg2 ;
23291  int64_t arg3 ;
23292  int64_t arg4 ;
23293  int64_t arg5 ;
23294  void *argp1 = 0 ;
23295  int res1 = 0 ;
23296  void *argp2 ;
23297  int res2 = 0 ;
23298  long val3 ;
23299  int ecode3 = 0 ;
23300  long val4 ;
23301  int ecode4 = 0 ;
23302  long val5 ;
23303  int ecode5 = 0 ;
23304  PyObject * obj0 = 0 ;
23305  PyObject * obj1 = 0 ;
23306  PyObject * obj2 = 0 ;
23307  PyObject * obj3 = 0 ;
23308  PyObject * obj4 = 0 ;
23309  operations_research::RegularLimit *result = 0 ;
23310 
23311  if (!PyArg_UnpackTuple(args, "Solver_Limit", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
23312  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23313  if (!SWIG_IsOK(res1)) {
23314  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23315  }
23316  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23317  {
23318  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_absl__Duration, 0 | 0);
23319  if (!SWIG_IsOK(res2)) {
23320  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23321  }
23322  if (!argp2) {
23323  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_Limit" "', argument " "2"" of type '" "absl::Duration""'");
23324  } else {
23325  absl::Duration * temp = reinterpret_cast< absl::Duration * >(argp2);
23326  arg2 = *temp;
23327  if (SWIG_IsNewObj(res2)) delete temp;
23328  }
23329  }
23330  ecode3 = SWIG_AsVal_long(obj2, &val3);
23331  if (!SWIG_IsOK(ecode3)) {
23332  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23333  }
23334  arg3 = static_cast< int64_t >(val3);
23335  ecode4 = SWIG_AsVal_long(obj3, &val4);
23336  if (!SWIG_IsOK(ecode4)) {
23337  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23338  }
23339  arg4 = static_cast< int64_t >(val4);
23340  ecode5 = SWIG_AsVal_long(obj4, &val5);
23341  if (!SWIG_IsOK(ecode5)) {
23342  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23343  }
23344  arg5 = static_cast< int64_t >(val5);
23345  {
23346  try {
23347  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5);
23348  }
23349  catch (Swig::DirectorException &e) {
23350  SWIG_fail;
23351  }
23352  }
23354  return resultobj;
23355 fail:
23356  return NULL;
23357 }
23358 
23359 
23360 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23361  PyObject *resultobj = 0;
23364  void *argp1 = 0 ;
23365  int res1 = 0 ;
23366  PyObject * obj0 = 0 ;
23367  PyObject * obj1 = 0 ;
23368  operations_research::RegularLimit *result = 0 ;
23369 
23370  if (!PyArg_UnpackTuple(args, "Solver_Limit", 2, 2, &obj0, &obj1)) SWIG_fail;
23371  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23372  if (!SWIG_IsOK(res1)) {
23373  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23374  }
23375  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23376  {
23378  PyObject* const pyresult = PyObject_CallMethod(
23379  obj1, const_cast<char*>("SerializeToString"), nullptr);
23380  if (pyresult != nullptr) {
23381  char* buffer = nullptr;
23382  Py_ssize_t length = 0;
23383  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
23384  if (buffer != nullptr) {
23385  arg2->ParseFromArray(buffer, length);
23386  }
23387  Py_DECREF(pyresult);
23388  }
23389  }
23390  {
23391  try {
23392  result = (operations_research::RegularLimit *)(arg1)->MakeLimit((operations_research::RegularLimitParameters const &)*arg2);
23393  }
23394  catch (Swig::DirectorException &e) {
23395  SWIG_fail;
23396  }
23397  }
23399  {
23400  delete arg2;
23401  }
23402  return resultobj;
23403 fail:
23404  {
23405  delete arg2;
23406  }
23407  return NULL;
23408 }
23409 
23410 
23411 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23412  PyObject *resultobj = 0;
23414  int64_t arg2 ;
23415  int64_t arg3 ;
23416  int64_t arg4 ;
23417  int64_t arg5 ;
23418  bool arg6 ;
23419  bool arg7 ;
23420  void *argp1 = 0 ;
23421  int res1 = 0 ;
23422  long val2 ;
23423  int ecode2 = 0 ;
23424  long val3 ;
23425  int ecode3 = 0 ;
23426  long val4 ;
23427  int ecode4 = 0 ;
23428  long val5 ;
23429  int ecode5 = 0 ;
23430  bool val6 ;
23431  int ecode6 = 0 ;
23432  bool val7 ;
23433  int ecode7 = 0 ;
23434  PyObject * obj0 = 0 ;
23435  PyObject * obj1 = 0 ;
23436  PyObject * obj2 = 0 ;
23437  PyObject * obj3 = 0 ;
23438  PyObject * obj4 = 0 ;
23439  PyObject * obj5 = 0 ;
23440  PyObject * obj6 = 0 ;
23441  operations_research::RegularLimit *result = 0 ;
23442 
23443  if (!PyArg_UnpackTuple(args, "Solver_Limit", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
23444  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23445  if (!SWIG_IsOK(res1)) {
23446  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23447  }
23448  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23449  ecode2 = SWIG_AsVal_long(obj1, &val2);
23450  if (!SWIG_IsOK(ecode2)) {
23451  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "int64_t""'");
23452  }
23453  arg2 = static_cast< int64_t >(val2);
23454  ecode3 = SWIG_AsVal_long(obj2, &val3);
23455  if (!SWIG_IsOK(ecode3)) {
23456  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23457  }
23458  arg3 = static_cast< int64_t >(val3);
23459  ecode4 = SWIG_AsVal_long(obj3, &val4);
23460  if (!SWIG_IsOK(ecode4)) {
23461  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23462  }
23463  arg4 = static_cast< int64_t >(val4);
23464  ecode5 = SWIG_AsVal_long(obj4, &val5);
23465  if (!SWIG_IsOK(ecode5)) {
23466  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23467  }
23468  arg5 = static_cast< int64_t >(val5);
23469  ecode6 = SWIG_AsVal_bool(obj5, &val6);
23470  if (!SWIG_IsOK(ecode6)) {
23471  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_Limit" "', argument " "6"" of type '" "bool""'");
23472  }
23473  arg6 = static_cast< bool >(val6);
23474  ecode7 = SWIG_AsVal_bool(obj6, &val7);
23475  if (!SWIG_IsOK(ecode7)) {
23476  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_Limit" "', argument " "7"" of type '" "bool""'");
23477  }
23478  arg7 = static_cast< bool >(val7);
23479  {
23480  try {
23481  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5,arg6,arg7);
23482  }
23483  catch (Swig::DirectorException &e) {
23484  SWIG_fail;
23485  }
23486  }
23488  return resultobj;
23489 fail:
23490  return NULL;
23491 }
23492 
23493 
23494 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23495  PyObject *resultobj = 0;
23497  int64_t arg2 ;
23498  int64_t arg3 ;
23499  int64_t arg4 ;
23500  int64_t arg5 ;
23501  bool arg6 ;
23502  void *argp1 = 0 ;
23503  int res1 = 0 ;
23504  long val2 ;
23505  int ecode2 = 0 ;
23506  long val3 ;
23507  int ecode3 = 0 ;
23508  long val4 ;
23509  int ecode4 = 0 ;
23510  long val5 ;
23511  int ecode5 = 0 ;
23512  bool val6 ;
23513  int ecode6 = 0 ;
23514  PyObject * obj0 = 0 ;
23515  PyObject * obj1 = 0 ;
23516  PyObject * obj2 = 0 ;
23517  PyObject * obj3 = 0 ;
23518  PyObject * obj4 = 0 ;
23519  PyObject * obj5 = 0 ;
23520  operations_research::RegularLimit *result = 0 ;
23521 
23522  if (!PyArg_UnpackTuple(args, "Solver_Limit", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
23523  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23524  if (!SWIG_IsOK(res1)) {
23525  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23526  }
23527  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23528  ecode2 = SWIG_AsVal_long(obj1, &val2);
23529  if (!SWIG_IsOK(ecode2)) {
23530  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "int64_t""'");
23531  }
23532  arg2 = static_cast< int64_t >(val2);
23533  ecode3 = SWIG_AsVal_long(obj2, &val3);
23534  if (!SWIG_IsOK(ecode3)) {
23535  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23536  }
23537  arg3 = static_cast< int64_t >(val3);
23538  ecode4 = SWIG_AsVal_long(obj3, &val4);
23539  if (!SWIG_IsOK(ecode4)) {
23540  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23541  }
23542  arg4 = static_cast< int64_t >(val4);
23543  ecode5 = SWIG_AsVal_long(obj4, &val5);
23544  if (!SWIG_IsOK(ecode5)) {
23545  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23546  }
23547  arg5 = static_cast< int64_t >(val5);
23548  ecode6 = SWIG_AsVal_bool(obj5, &val6);
23549  if (!SWIG_IsOK(ecode6)) {
23550  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Solver_Limit" "', argument " "6"" of type '" "bool""'");
23551  }
23552  arg6 = static_cast< bool >(val6);
23553  {
23554  try {
23555  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5,arg6);
23556  }
23557  catch (Swig::DirectorException &e) {
23558  SWIG_fail;
23559  }
23560  }
23562  return resultobj;
23563 fail:
23564  return NULL;
23565 }
23566 
23567 
23568 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23569  PyObject *resultobj = 0;
23571  int64_t arg2 ;
23572  int64_t arg3 ;
23573  int64_t arg4 ;
23574  int64_t arg5 ;
23575  void *argp1 = 0 ;
23576  int res1 = 0 ;
23577  long val2 ;
23578  int ecode2 = 0 ;
23579  long val3 ;
23580  int ecode3 = 0 ;
23581  long val4 ;
23582  int ecode4 = 0 ;
23583  long val5 ;
23584  int ecode5 = 0 ;
23585  PyObject * obj0 = 0 ;
23586  PyObject * obj1 = 0 ;
23587  PyObject * obj2 = 0 ;
23588  PyObject * obj3 = 0 ;
23589  PyObject * obj4 = 0 ;
23590  operations_research::RegularLimit *result = 0 ;
23591 
23592  if (!PyArg_UnpackTuple(args, "Solver_Limit", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
23593  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23594  if (!SWIG_IsOK(res1)) {
23595  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23596  }
23597  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23598  ecode2 = SWIG_AsVal_long(obj1, &val2);
23599  if (!SWIG_IsOK(ecode2)) {
23600  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "int64_t""'");
23601  }
23602  arg2 = static_cast< int64_t >(val2);
23603  ecode3 = SWIG_AsVal_long(obj2, &val3);
23604  if (!SWIG_IsOK(ecode3)) {
23605  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "int64_t""'");
23606  }
23607  arg3 = static_cast< int64_t >(val3);
23608  ecode4 = SWIG_AsVal_long(obj3, &val4);
23609  if (!SWIG_IsOK(ecode4)) {
23610  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Limit" "', argument " "4"" of type '" "int64_t""'");
23611  }
23612  arg4 = static_cast< int64_t >(val4);
23613  ecode5 = SWIG_AsVal_long(obj4, &val5);
23614  if (!SWIG_IsOK(ecode5)) {
23615  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Limit" "', argument " "5"" of type '" "int64_t""'");
23616  }
23617  arg5 = static_cast< int64_t >(val5);
23618  {
23619  try {
23620  result = (operations_research::RegularLimit *)(arg1)->MakeLimit(arg2,arg3,arg4,arg5);
23621  }
23622  catch (Swig::DirectorException &e) {
23623  SWIG_fail;
23624  }
23625  }
23627  return resultobj;
23628 fail:
23629  return NULL;
23630 }
23631 
23632 
23633 SWIGINTERN PyObject *_wrap_Solver_Limit__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23634  PyObject *resultobj = 0;
23638  void *argp1 = 0 ;
23639  int res1 = 0 ;
23640  void *argp2 = 0 ;
23641  int res2 = 0 ;
23642  void *argp3 = 0 ;
23643  int res3 = 0 ;
23644  PyObject * obj0 = 0 ;
23645  PyObject * obj1 = 0 ;
23646  PyObject * obj2 = 0 ;
23647  operations_research::SearchLimit *result = 0 ;
23648 
23649  if (!PyArg_UnpackTuple(args, "Solver_Limit", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
23650  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23651  if (!SWIG_IsOK(res1)) {
23652  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Limit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23653  }
23654  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23655  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
23656  if (!SWIG_IsOK(res2)) {
23657  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Limit" "', argument " "2"" of type '" "operations_research::SearchLimit *const""'");
23658  }
23659  arg2 = reinterpret_cast< operations_research::SearchLimit * >(argp2);
23660  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
23661  if (!SWIG_IsOK(res3)) {
23662  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_Limit" "', argument " "3"" of type '" "operations_research::SearchLimit *const""'");
23663  }
23664  arg3 = reinterpret_cast< operations_research::SearchLimit * >(argp3);
23665  {
23666  try {
23667  result = (operations_research::SearchLimit *)(arg1)->MakeLimit(arg2,arg3);
23668  }
23669  catch (Swig::DirectorException &e) {
23670  SWIG_fail;
23671  }
23672  }
23674  return resultobj;
23675 fail:
23676  return NULL;
23677 }
23678 
23679 
23680 SWIGINTERN PyObject *_wrap_Solver_Limit(PyObject *self, PyObject *args) {
23681  Py_ssize_t argc;
23682  PyObject *argv[8] = {
23683  0
23684  };
23685  Py_ssize_t ii;
23686 
23687  if (!PyTuple_Check(args)) SWIG_fail;
23688  argc = PyObject_Length(args);
23689  for (ii = 0; (ii < 7) && (ii < argc); ii++) {
23690  argv[ii] = PyTuple_GET_ITEM(args,ii);
23691  }
23692  if (argc == 2) {
23693  int _v;
23694  void *vptr = 0;
23695  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23696  _v = SWIG_CheckState(res);
23697  if (_v) {
23698  {
23699  bool ok = false;
23700  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.search_limit_pb2");
23701  if (module != nullptr) {
23702  PyObject* const dict = PyModule_GetDict(module);
23703  if (dict != nullptr) {
23704  PyObject* const clss = PyDict_GetItemString(dict, "RegularLimitParameters");
23705  if (clss != nullptr) {
23706  if (PyObject_IsInstance(argv[1], clss)) {
23707  ok = true;
23708  }
23709  }
23710  }
23711  Py_DECREF(module);
23712  }
23713  _v = ok ? 1 : 0;
23714  }
23715  if (_v) {
23716  return _wrap_Solver_Limit__SWIG_3(self, args);
23717  }
23718  }
23719  }
23720  if (argc == 3) {
23721  int _v;
23722  void *vptr = 0;
23723  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23724  _v = SWIG_CheckState(res);
23725  if (_v) {
23726  void *vptr = 0;
23727  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__SearchLimit, 0);
23728  _v = SWIG_CheckState(res);
23729  if (_v) {
23730  void *vptr = 0;
23731  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__SearchLimit, 0);
23732  _v = SWIG_CheckState(res);
23733  if (_v) {
23734  return _wrap_Solver_Limit__SWIG_7(self, args);
23735  }
23736  }
23737  }
23738  }
23739  if (argc == 5) {
23740  int _v;
23741  void *vptr = 0;
23742  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23743  _v = SWIG_CheckState(res);
23744  if (_v) {
23746  _v = SWIG_CheckState(res);
23747  if (_v) {
23748  {
23749  int res = SWIG_AsVal_long(argv[2], NULL);
23750  _v = SWIG_CheckState(res);
23751  }
23752  if (_v) {
23753  {
23754  int res = SWIG_AsVal_long(argv[3], NULL);
23755  _v = SWIG_CheckState(res);
23756  }
23757  if (_v) {
23758  {
23759  int res = SWIG_AsVal_long(argv[4], NULL);
23760  _v = SWIG_CheckState(res);
23761  }
23762  if (_v) {
23763  return _wrap_Solver_Limit__SWIG_2(self, args);
23764  }
23765  }
23766  }
23767  }
23768  }
23769  }
23770  if (argc == 5) {
23771  int _v;
23772  void *vptr = 0;
23773  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23774  _v = SWIG_CheckState(res);
23775  if (_v) {
23776  {
23777  int res = SWIG_AsVal_long(argv[1], NULL);
23778  _v = SWIG_CheckState(res);
23779  }
23780  if (_v) {
23781  {
23782  int res = SWIG_AsVal_long(argv[2], NULL);
23783  _v = SWIG_CheckState(res);
23784  }
23785  if (_v) {
23786  {
23787  int res = SWIG_AsVal_long(argv[3], NULL);
23788  _v = SWIG_CheckState(res);
23789  }
23790  if (_v) {
23791  {
23792  int res = SWIG_AsVal_long(argv[4], NULL);
23793  _v = SWIG_CheckState(res);
23794  }
23795  if (_v) {
23796  return _wrap_Solver_Limit__SWIG_6(self, args);
23797  }
23798  }
23799  }
23800  }
23801  }
23802  }
23803  if (argc == 6) {
23804  int _v;
23805  void *vptr = 0;
23806  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23807  _v = SWIG_CheckState(res);
23808  if (_v) {
23810  _v = SWIG_CheckState(res);
23811  if (_v) {
23812  {
23813  int res = SWIG_AsVal_long(argv[2], NULL);
23814  _v = SWIG_CheckState(res);
23815  }
23816  if (_v) {
23817  {
23818  int res = SWIG_AsVal_long(argv[3], NULL);
23819  _v = SWIG_CheckState(res);
23820  }
23821  if (_v) {
23822  {
23823  int res = SWIG_AsVal_long(argv[4], NULL);
23824  _v = SWIG_CheckState(res);
23825  }
23826  if (_v) {
23827  {
23828  int res = SWIG_AsVal_bool(argv[5], NULL);
23829  _v = SWIG_CheckState(res);
23830  }
23831  if (_v) {
23832  return _wrap_Solver_Limit__SWIG_1(self, args);
23833  }
23834  }
23835  }
23836  }
23837  }
23838  }
23839  }
23840  if (argc == 6) {
23841  int _v;
23842  void *vptr = 0;
23843  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23844  _v = SWIG_CheckState(res);
23845  if (_v) {
23846  {
23847  int res = SWIG_AsVal_long(argv[1], NULL);
23848  _v = SWIG_CheckState(res);
23849  }
23850  if (_v) {
23851  {
23852  int res = SWIG_AsVal_long(argv[2], NULL);
23853  _v = SWIG_CheckState(res);
23854  }
23855  if (_v) {
23856  {
23857  int res = SWIG_AsVal_long(argv[3], NULL);
23858  _v = SWIG_CheckState(res);
23859  }
23860  if (_v) {
23861  {
23862  int res = SWIG_AsVal_long(argv[4], NULL);
23863  _v = SWIG_CheckState(res);
23864  }
23865  if (_v) {
23866  {
23867  int res = SWIG_AsVal_bool(argv[5], NULL);
23868  _v = SWIG_CheckState(res);
23869  }
23870  if (_v) {
23871  return _wrap_Solver_Limit__SWIG_5(self, args);
23872  }
23873  }
23874  }
23875  }
23876  }
23877  }
23878  }
23879  if (argc == 7) {
23880  int _v;
23881  void *vptr = 0;
23882  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23883  _v = SWIG_CheckState(res);
23884  if (_v) {
23886  _v = SWIG_CheckState(res);
23887  if (_v) {
23888  {
23889  int res = SWIG_AsVal_long(argv[2], NULL);
23890  _v = SWIG_CheckState(res);
23891  }
23892  if (_v) {
23893  {
23894  int res = SWIG_AsVal_long(argv[3], NULL);
23895  _v = SWIG_CheckState(res);
23896  }
23897  if (_v) {
23898  {
23899  int res = SWIG_AsVal_long(argv[4], NULL);
23900  _v = SWIG_CheckState(res);
23901  }
23902  if (_v) {
23903  {
23904  int res = SWIG_AsVal_bool(argv[5], NULL);
23905  _v = SWIG_CheckState(res);
23906  }
23907  if (_v) {
23908  {
23909  int res = SWIG_AsVal_bool(argv[6], NULL);
23910  _v = SWIG_CheckState(res);
23911  }
23912  if (_v) {
23913  return _wrap_Solver_Limit__SWIG_0(self, args);
23914  }
23915  }
23916  }
23917  }
23918  }
23919  }
23920  }
23921  }
23922  if (argc == 7) {
23923  int _v;
23924  void *vptr = 0;
23925  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
23926  _v = SWIG_CheckState(res);
23927  if (_v) {
23928  {
23929  int res = SWIG_AsVal_long(argv[1], NULL);
23930  _v = SWIG_CheckState(res);
23931  }
23932  if (_v) {
23933  {
23934  int res = SWIG_AsVal_long(argv[2], NULL);
23935  _v = SWIG_CheckState(res);
23936  }
23937  if (_v) {
23938  {
23939  int res = SWIG_AsVal_long(argv[3], NULL);
23940  _v = SWIG_CheckState(res);
23941  }
23942  if (_v) {
23943  {
23944  int res = SWIG_AsVal_long(argv[4], NULL);
23945  _v = SWIG_CheckState(res);
23946  }
23947  if (_v) {
23948  {
23949  int res = SWIG_AsVal_bool(argv[5], NULL);
23950  _v = SWIG_CheckState(res);
23951  }
23952  if (_v) {
23953  {
23954  int res = SWIG_AsVal_bool(argv[6], NULL);
23955  _v = SWIG_CheckState(res);
23956  }
23957  if (_v) {
23958  return _wrap_Solver_Limit__SWIG_4(self, args);
23959  }
23960  }
23961  }
23962  }
23963  }
23964  }
23965  }
23966  }
23967 
23968 fail:
23969  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Limit'.\n"
23970  " Possible C/C++ prototypes are:\n"
23971  " operations_research::Solver::MakeLimit(absl::Duration,int64_t,int64_t,int64_t,bool,bool)\n"
23972  " operations_research::Solver::MakeLimit(absl::Duration,int64_t,int64_t,int64_t,bool)\n"
23973  " operations_research::Solver::MakeLimit(absl::Duration,int64_t,int64_t,int64_t)\n"
23974  " operations_research::Solver::MakeLimit(operations_research::RegularLimitParameters const &)\n"
23975  " operations_research::Solver::MakeLimit(int64_t,int64_t,int64_t,int64_t,bool,bool)\n"
23976  " operations_research::Solver::MakeLimit(int64_t,int64_t,int64_t,int64_t,bool)\n"
23977  " operations_research::Solver::MakeLimit(int64_t,int64_t,int64_t,int64_t)\n"
23978  " operations_research::Solver::MakeLimit(operations_research::SearchLimit *const,operations_research::SearchLimit *const)\n");
23979  return 0;
23980 }
23981 
23982 
23983 SWIGINTERN PyObject *_wrap_Solver_CustomLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
23984  PyObject *resultobj = 0;
23986  std::function< bool () > arg2 ;
23987  void *argp1 = 0 ;
23988  int res1 = 0 ;
23989  PyObject * obj0 = 0 ;
23990  PyObject * obj1 = 0 ;
23991  operations_research::SearchLimit *result = 0 ;
23992 
23993  if (!PyArg_UnpackTuple(args, "Solver_CustomLimit", 2, 2, &obj0, &obj1)) SWIG_fail;
23994  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
23995  if (!SWIG_IsOK(res1)) {
23996  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_CustomLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
23997  }
23998  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
23999  {
24000  SharedPyPtr input(obj1);
24001  arg2 = [input]() {
24002  return InvokePythonCallableReturning<bool>(input.get());
24003  };
24004  }
24005  {
24006  try {
24007  result = (operations_research::SearchLimit *)(arg1)->MakeCustomLimit(arg2);
24008  }
24009  catch (Swig::DirectorException &e) {
24010  SWIG_fail;
24011  }
24012  }
24014  return resultobj;
24015 fail:
24016  return NULL;
24017 }
24018 
24019 
24020 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24021  PyObject *resultobj = 0;
24023  int arg2 ;
24024  void *argp1 = 0 ;
24025  int res1 = 0 ;
24026  int val2 ;
24027  int ecode2 = 0 ;
24028  PyObject * obj0 = 0 ;
24029  PyObject * obj1 = 0 ;
24031 
24032  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 2, 2, &obj0, &obj1)) SWIG_fail;
24033  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24034  if (!SWIG_IsOK(res1)) {
24035  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24036  }
24037  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24038  ecode2 = SWIG_AsVal_int(obj1, &val2);
24039  if (!SWIG_IsOK(ecode2)) {
24040  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24041  }
24042  arg2 = static_cast< int >(val2);
24043  {
24044  try {
24045  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2);
24046  }
24047  catch (Swig::DirectorException &e) {
24048  SWIG_fail;
24049  }
24050  }
24052  return resultobj;
24053 fail:
24054  return NULL;
24055 }
24056 
24057 
24058 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24059  PyObject *resultobj = 0;
24061  int arg2 ;
24063  void *argp1 = 0 ;
24064  int res1 = 0 ;
24065  int val2 ;
24066  int ecode2 = 0 ;
24067  PyObject * obj0 = 0 ;
24068  PyObject * obj1 = 0 ;
24069  PyObject * obj2 = 0 ;
24071 
24072  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24073  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24074  if (!SWIG_IsOK(res1)) {
24075  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24076  }
24077  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24078  ecode2 = SWIG_AsVal_int(obj1, &val2);
24079  if (!SWIG_IsOK(ecode2)) {
24080  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24081  }
24082  arg2 = static_cast< int >(val2);
24083  {
24084  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
24085  }
24086  {
24087  try {
24088  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2,arg3);
24089  }
24090  catch (Swig::DirectorException &e) {
24091  SWIG_fail;
24092  }
24093  }
24095  return resultobj;
24096 fail:
24097  return NULL;
24098 }
24099 
24100 
24101 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24102  PyObject *resultobj = 0;
24104  int arg2 ;
24105  SwigValueWrapper< std::function< std::string () > > arg3 ;
24106  void *argp1 = 0 ;
24107  int res1 = 0 ;
24108  int val2 ;
24109  int ecode2 = 0 ;
24110  PyObject * obj0 = 0 ;
24111  PyObject * obj1 = 0 ;
24112  PyObject * obj2 = 0 ;
24114 
24115  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24116  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24117  if (!SWIG_IsOK(res1)) {
24118  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24119  }
24120  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24121  ecode2 = SWIG_AsVal_int(obj1, &val2);
24122  if (!SWIG_IsOK(ecode2)) {
24123  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24124  }
24125  arg2 = static_cast< int >(val2);
24126  {
24127  SharedPyPtr input(obj2);
24128  arg3 = [input]() {
24129  return InvokePythonCallableReturning<std::string>(input.get());
24130  };
24131  }
24132  {
24133  try {
24134  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2,arg3);
24135  }
24136  catch (Swig::DirectorException &e) {
24137  SWIG_fail;
24138  }
24139  }
24141  return resultobj;
24142 fail:
24143  return NULL;
24144 }
24145 
24146 
24147 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24148  PyObject *resultobj = 0;
24150  int arg2 ;
24152  SwigValueWrapper< std::function< std::string () > > arg4 ;
24153  void *argp1 = 0 ;
24154  int res1 = 0 ;
24155  int val2 ;
24156  int ecode2 = 0 ;
24157  void *argp3 = 0 ;
24158  int res3 = 0 ;
24159  PyObject * obj0 = 0 ;
24160  PyObject * obj1 = 0 ;
24161  PyObject * obj2 = 0 ;
24162  PyObject * obj3 = 0 ;
24164 
24165  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
24166  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24167  if (!SWIG_IsOK(res1)) {
24168  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24169  }
24170  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24171  ecode2 = SWIG_AsVal_int(obj1, &val2);
24172  if (!SWIG_IsOK(ecode2)) {
24173  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24174  }
24175  arg2 = static_cast< int >(val2);
24176  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
24177  if (!SWIG_IsOK(res3)) {
24178  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_SearchLog" "', argument " "3"" of type '" "operations_research::IntVar *""'");
24179  }
24180  arg3 = reinterpret_cast< operations_research::IntVar * >(argp3);
24181  {
24182  SharedPyPtr input(obj3);
24183  arg4 = [input]() {
24184  return InvokePythonCallableReturning<std::string>(input.get());
24185  };
24186  }
24187  {
24188  try {
24189  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2,arg3,arg4);
24190  }
24191  catch (Swig::DirectorException &e) {
24192  SWIG_fail;
24193  }
24194  }
24196  return resultobj;
24197 fail:
24198  return NULL;
24199 }
24200 
24201 
24202 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24203  PyObject *resultobj = 0;
24205  int arg2 ;
24207  void *argp1 = 0 ;
24208  int res1 = 0 ;
24209  int val2 ;
24210  int ecode2 = 0 ;
24211  void *argp3 = 0 ;
24212  int res3 = 0 ;
24213  PyObject * obj0 = 0 ;
24214  PyObject * obj1 = 0 ;
24215  PyObject * obj2 = 0 ;
24217 
24218  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24219  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24220  if (!SWIG_IsOK(res1)) {
24221  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24222  }
24223  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24224  ecode2 = SWIG_AsVal_int(obj1, &val2);
24225  if (!SWIG_IsOK(ecode2)) {
24226  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24227  }
24228  arg2 = static_cast< int >(val2);
24229  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
24230  if (!SWIG_IsOK(res3)) {
24231  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_SearchLog" "', argument " "3"" of type '" "operations_research::OptimizeVar *const""'");
24232  }
24233  arg3 = reinterpret_cast< operations_research::OptimizeVar * >(argp3);
24234  {
24235  try {
24236  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2,arg3);
24237  }
24238  catch (Swig::DirectorException &e) {
24239  SWIG_fail;
24240  }
24241  }
24243  return resultobj;
24244 fail:
24245  return NULL;
24246 }
24247 
24248 
24249 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24250  PyObject *resultobj = 0;
24252  int arg2 ;
24254  SwigValueWrapper< std::function< std::string () > > arg4 ;
24255  void *argp1 = 0 ;
24256  int res1 = 0 ;
24257  int val2 ;
24258  int ecode2 = 0 ;
24259  void *argp3 = 0 ;
24260  int res3 = 0 ;
24261  PyObject * obj0 = 0 ;
24262  PyObject * obj1 = 0 ;
24263  PyObject * obj2 = 0 ;
24264  PyObject * obj3 = 0 ;
24266 
24267  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
24268  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24269  if (!SWIG_IsOK(res1)) {
24270  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24271  }
24272  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24273  ecode2 = SWIG_AsVal_int(obj1, &val2);
24274  if (!SWIG_IsOK(ecode2)) {
24275  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "int""'");
24276  }
24277  arg2 = static_cast< int >(val2);
24278  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
24279  if (!SWIG_IsOK(res3)) {
24280  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_SearchLog" "', argument " "3"" of type '" "operations_research::OptimizeVar *const""'");
24281  }
24282  arg3 = reinterpret_cast< operations_research::OptimizeVar * >(argp3);
24283  {
24284  SharedPyPtr input(obj3);
24285  arg4 = [input]() {
24286  return InvokePythonCallableReturning<std::string>(input.get());
24287  };
24288  }
24289  {
24290  try {
24291  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2,arg3,arg4);
24292  }
24293  catch (Swig::DirectorException &e) {
24294  SWIG_fail;
24295  }
24296  }
24298  return resultobj;
24299 fail:
24300  return NULL;
24301 }
24302 
24303 
24304 SWIGINTERN PyObject *_wrap_Solver_SearchLog__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24305  PyObject *resultobj = 0;
24308  void *argp1 = 0 ;
24309  int res1 = 0 ;
24310  void *argp2 ;
24311  int res2 = 0 ;
24312  PyObject * obj0 = 0 ;
24313  PyObject * obj1 = 0 ;
24315 
24316  if (!PyArg_UnpackTuple(args, "Solver_SearchLog", 2, 2, &obj0, &obj1)) SWIG_fail;
24317  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24318  if (!SWIG_IsOK(res1)) {
24319  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLog" "', argument " "1"" of type '" "operations_research::Solver *""'");
24320  }
24321  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24322  {
24324  if (!SWIG_IsOK(res2)) {
24325  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "operations_research::Solver::SearchLogParameters""'");
24326  }
24327  if (!argp2) {
24328  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_SearchLog" "', argument " "2"" of type '" "operations_research::Solver::SearchLogParameters""'");
24329  } else {
24330  operations_research::Solver::SearchLogParameters * temp = reinterpret_cast< operations_research::Solver::SearchLogParameters * >(argp2);
24331  arg2 = *temp;
24332  if (SWIG_IsNewObj(res2)) delete temp;
24333  }
24334  }
24335  {
24336  try {
24337  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchLog(arg2);
24338  }
24339  catch (Swig::DirectorException &e) {
24340  SWIG_fail;
24341  }
24342  }
24344  return resultobj;
24345 fail:
24346  return NULL;
24347 }
24348 
24349 
24350 SWIGINTERN PyObject *_wrap_Solver_SearchLog(PyObject *self, PyObject *args) {
24351  Py_ssize_t argc;
24352  PyObject *argv[5] = {
24353  0
24354  };
24355  Py_ssize_t ii;
24356 
24357  if (!PyTuple_Check(args)) SWIG_fail;
24358  argc = PyObject_Length(args);
24359  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
24360  argv[ii] = PyTuple_GET_ITEM(args,ii);
24361  }
24362  if (argc == 2) {
24363  int _v;
24364  void *vptr = 0;
24365  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24366  _v = SWIG_CheckState(res);
24367  if (_v) {
24369  _v = SWIG_CheckState(res);
24370  if (_v) {
24371  return _wrap_Solver_SearchLog__SWIG_6(self, args);
24372  }
24373  }
24374  }
24375  if (argc == 2) {
24376  int _v;
24377  void *vptr = 0;
24378  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24379  _v = SWIG_CheckState(res);
24380  if (_v) {
24381  {
24382  int res = SWIG_AsVal_int(argv[1], NULL);
24383  _v = SWIG_CheckState(res);
24384  }
24385  if (_v) {
24386  return _wrap_Solver_SearchLog__SWIG_0(self, args);
24387  }
24388  }
24389  }
24390  if (argc == 3) {
24391  int _v;
24392  void *vptr = 0;
24393  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24394  _v = SWIG_CheckState(res);
24395  if (_v) {
24396  {
24397  int res = SWIG_AsVal_int(argv[1], NULL);
24398  _v = SWIG_CheckState(res);
24399  }
24400  if (_v) {
24401  {
24402  _v = PyCallable_Check(argv[2]);
24403  }
24404  if (_v) {
24405  return _wrap_Solver_SearchLog__SWIG_2(self, args);
24406  }
24407  }
24408  }
24409  }
24410  if (argc == 3) {
24411  int _v;
24412  void *vptr = 0;
24413  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24414  _v = SWIG_CheckState(res);
24415  if (_v) {
24416  {
24417  int res = SWIG_AsVal_int(argv[1], NULL);
24418  _v = SWIG_CheckState(res);
24419  }
24420  if (_v) {
24421  void *vptr = 0;
24422  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__OptimizeVar, 0);
24423  _v = SWIG_CheckState(res);
24424  if (_v) {
24425  return _wrap_Solver_SearchLog__SWIG_4(self, args);
24426  }
24427  }
24428  }
24429  }
24430  if (argc == 3) {
24431  int _v;
24432  void *vptr = 0;
24433  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24434  _v = SWIG_CheckState(res);
24435  if (_v) {
24436  {
24437  int res = SWIG_AsVal_int(argv[1], NULL);
24438  _v = SWIG_CheckState(res);
24439  }
24440  if (_v) {
24441  {
24442  _v = CanConvertToIntVar(argv[2]);
24443  if (_v == 0) PyErr_Clear();
24444  }
24445  if (_v) {
24446  return _wrap_Solver_SearchLog__SWIG_1(self, args);
24447  }
24448  }
24449  }
24450  }
24451  if (argc == 4) {
24452  int _v;
24453  void *vptr = 0;
24454  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24455  _v = SWIG_CheckState(res);
24456  if (_v) {
24457  {
24458  int res = SWIG_AsVal_int(argv[1], NULL);
24459  _v = SWIG_CheckState(res);
24460  }
24461  if (_v) {
24462  void *vptr = 0;
24463  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__OptimizeVar, 0);
24464  _v = SWIG_CheckState(res);
24465  if (_v) {
24466  {
24467  _v = PyCallable_Check(argv[3]);
24468  }
24469  if (_v) {
24470  return _wrap_Solver_SearchLog__SWIG_5(self, args);
24471  }
24472  }
24473  }
24474  }
24475  }
24476  if (argc == 4) {
24477  int _v;
24478  void *vptr = 0;
24479  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
24480  _v = SWIG_CheckState(res);
24481  if (_v) {
24482  {
24483  int res = SWIG_AsVal_int(argv[1], NULL);
24484  _v = SWIG_CheckState(res);
24485  }
24486  if (_v) {
24487  void *vptr = 0;
24488  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
24489  _v = SWIG_CheckState(res);
24490  if (_v) {
24491  {
24492  _v = PyCallable_Check(argv[3]);
24493  }
24494  if (_v) {
24495  return _wrap_Solver_SearchLog__SWIG_3(self, args);
24496  }
24497  }
24498  }
24499  }
24500  }
24501 
24502 fail:
24503  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_SearchLog'.\n"
24504  " Possible C/C++ prototypes are:\n"
24505  " operations_research::Solver::MakeSearchLog(int)\n"
24506  " operations_research::Solver::MakeSearchLog(int,operations_research::IntVar *const)\n"
24507  " operations_research::Solver::MakeSearchLog(int,std::function< std::string () >)\n"
24508  " operations_research::Solver::MakeSearchLog(int,operations_research::IntVar *,std::function< std::string () >)\n"
24509  " operations_research::Solver::MakeSearchLog(int,operations_research::OptimizeVar *const)\n"
24510  " operations_research::Solver::MakeSearchLog(int,operations_research::OptimizeVar *const,std::function< std::string () >)\n"
24511  " operations_research::Solver::MakeSearchLog(operations_research::Solver::SearchLogParameters)\n");
24512  return 0;
24513 }
24514 
24515 
24516 SWIGINTERN PyObject *_wrap_Solver_SearchTrace(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24517  PyObject *resultobj = 0;
24519  std::string *arg2 = 0 ;
24520  void *argp1 = 0 ;
24521  int res1 = 0 ;
24522  int res2 = SWIG_OLDOBJ ;
24523  PyObject * obj0 = 0 ;
24524  PyObject * obj1 = 0 ;
24526 
24527  if (!PyArg_UnpackTuple(args, "Solver_SearchTrace", 2, 2, &obj0, &obj1)) SWIG_fail;
24528  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24529  if (!SWIG_IsOK(res1)) {
24530  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchTrace" "', argument " "1"" of type '" "operations_research::Solver *""'");
24531  }
24532  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24533  {
24534  std::string *ptr = (std::string *)0;
24535  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
24536  if (!SWIG_IsOK(res2)) {
24537  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_SearchTrace" "', argument " "2"" of type '" "std::string const &""'");
24538  }
24539  if (!ptr) {
24540  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_SearchTrace" "', argument " "2"" of type '" "std::string const &""'");
24541  }
24542  arg2 = ptr;
24543  }
24544  {
24545  try {
24546  result = (operations_research::SearchMonitor *)(arg1)->MakeSearchTrace((std::string const &)*arg2);
24547  }
24548  catch (Swig::DirectorException &e) {
24549  SWIG_fail;
24550  }
24551  }
24553  if (SWIG_IsNewObj(res2)) delete arg2;
24554  return resultobj;
24555 fail:
24556  if (SWIG_IsNewObj(res2)) delete arg2;
24557  return NULL;
24558 }
24559 
24560 
24561 SWIGINTERN PyObject *_wrap_Solver_PrintModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24562  PyObject *resultobj = 0;
24564  void *argp1 = 0 ;
24565  int res1 = 0 ;
24566  PyObject * obj0 = 0 ;
24567  operations_research::ModelVisitor *result = 0 ;
24568 
24569  if (!PyArg_UnpackTuple(args, "Solver_PrintModelVisitor", 1, 1, &obj0)) SWIG_fail;
24570  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24571  if (!SWIG_IsOK(res1)) {
24572  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_PrintModelVisitor" "', argument " "1"" of type '" "operations_research::Solver *""'");
24573  }
24574  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24575  {
24576  try {
24577  result = (operations_research::ModelVisitor *)(arg1)->MakePrintModelVisitor();
24578  }
24579  catch (Swig::DirectorException &e) {
24580  SWIG_fail;
24581  }
24582  }
24584  return resultobj;
24585 fail:
24586  return NULL;
24587 }
24588 
24589 
24590 SWIGINTERN PyObject *_wrap_Solver_StatisticsModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24591  PyObject *resultobj = 0;
24593  void *argp1 = 0 ;
24594  int res1 = 0 ;
24595  PyObject * obj0 = 0 ;
24596  operations_research::ModelVisitor *result = 0 ;
24597 
24598  if (!PyArg_UnpackTuple(args, "Solver_StatisticsModelVisitor", 1, 1, &obj0)) SWIG_fail;
24599  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24600  if (!SWIG_IsOK(res1)) {
24601  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_StatisticsModelVisitor" "', argument " "1"" of type '" "operations_research::Solver *""'");
24602  }
24603  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24604  {
24605  try {
24606  result = (operations_research::ModelVisitor *)(arg1)->MakeStatisticsModelVisitor();
24607  }
24608  catch (Swig::DirectorException &e) {
24609  SWIG_fail;
24610  }
24611  }
24613  return resultobj;
24614 fail:
24615  return NULL;
24616 }
24617 
24618 
24619 SWIGINTERN PyObject *_wrap_Solver_AssignVariableValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24620  PyObject *resultobj = 0;
24623  int64_t arg3 ;
24624  void *argp1 = 0 ;
24625  int res1 = 0 ;
24626  long val3 ;
24627  int ecode3 = 0 ;
24628  PyObject * obj0 = 0 ;
24629  PyObject * obj1 = 0 ;
24630  PyObject * obj2 = 0 ;
24631  operations_research::Decision *result = 0 ;
24632 
24633  if (!PyArg_UnpackTuple(args, "Solver_AssignVariableValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24634  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24635  if (!SWIG_IsOK(res1)) {
24636  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AssignVariableValue" "', argument " "1"" of type '" "operations_research::Solver *""'");
24637  }
24638  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24639  {
24640  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
24641  }
24642  ecode3 = SWIG_AsVal_long(obj2, &val3);
24643  if (!SWIG_IsOK(ecode3)) {
24644  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_AssignVariableValue" "', argument " "3"" of type '" "int64_t""'");
24645  }
24646  arg3 = static_cast< int64_t >(val3);
24647  {
24648  try {
24649  result = (operations_research::Decision *)(arg1)->MakeAssignVariableValue(arg2,arg3);
24650  }
24651  catch (Swig::DirectorException &e) {
24652  SWIG_fail;
24653  }
24654  }
24656  return resultobj;
24657 fail:
24658  return NULL;
24659 }
24660 
24661 
24662 SWIGINTERN PyObject *_wrap_Solver_VariableLessOrEqualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24663  PyObject *resultobj = 0;
24666  int64_t arg3 ;
24667  void *argp1 = 0 ;
24668  int res1 = 0 ;
24669  long val3 ;
24670  int ecode3 = 0 ;
24671  PyObject * obj0 = 0 ;
24672  PyObject * obj1 = 0 ;
24673  PyObject * obj2 = 0 ;
24674  operations_research::Decision *result = 0 ;
24675 
24676  if (!PyArg_UnpackTuple(args, "Solver_VariableLessOrEqualValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24677  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24678  if (!SWIG_IsOK(res1)) {
24679  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VariableLessOrEqualValue" "', argument " "1"" of type '" "operations_research::Solver *""'");
24680  }
24681  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24682  {
24683  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
24684  }
24685  ecode3 = SWIG_AsVal_long(obj2, &val3);
24686  if (!SWIG_IsOK(ecode3)) {
24687  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_VariableLessOrEqualValue" "', argument " "3"" of type '" "int64_t""'");
24688  }
24689  arg3 = static_cast< int64_t >(val3);
24690  {
24691  try {
24692  result = (operations_research::Decision *)(arg1)->MakeVariableLessOrEqualValue(arg2,arg3);
24693  }
24694  catch (Swig::DirectorException &e) {
24695  SWIG_fail;
24696  }
24697  }
24699  return resultobj;
24700 fail:
24701  return NULL;
24702 }
24703 
24704 
24705 SWIGINTERN PyObject *_wrap_Solver_VariableGreaterOrEqualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24706  PyObject *resultobj = 0;
24709  int64_t arg3 ;
24710  void *argp1 = 0 ;
24711  int res1 = 0 ;
24712  long val3 ;
24713  int ecode3 = 0 ;
24714  PyObject * obj0 = 0 ;
24715  PyObject * obj1 = 0 ;
24716  PyObject * obj2 = 0 ;
24717  operations_research::Decision *result = 0 ;
24718 
24719  if (!PyArg_UnpackTuple(args, "Solver_VariableGreaterOrEqualValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24720  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24721  if (!SWIG_IsOK(res1)) {
24722  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VariableGreaterOrEqualValue" "', argument " "1"" of type '" "operations_research::Solver *""'");
24723  }
24724  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24725  {
24726  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
24727  }
24728  ecode3 = SWIG_AsVal_long(obj2, &val3);
24729  if (!SWIG_IsOK(ecode3)) {
24730  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_VariableGreaterOrEqualValue" "', argument " "3"" of type '" "int64_t""'");
24731  }
24732  arg3 = static_cast< int64_t >(val3);
24733  {
24734  try {
24735  result = (operations_research::Decision *)(arg1)->MakeVariableGreaterOrEqualValue(arg2,arg3);
24736  }
24737  catch (Swig::DirectorException &e) {
24738  SWIG_fail;
24739  }
24740  }
24742  return resultobj;
24743 fail:
24744  return NULL;
24745 }
24746 
24747 
24748 SWIGINTERN PyObject *_wrap_Solver_SplitVariableDomain(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24749  PyObject *resultobj = 0;
24752  int64_t arg3 ;
24753  bool arg4 ;
24754  void *argp1 = 0 ;
24755  int res1 = 0 ;
24756  long val3 ;
24757  int ecode3 = 0 ;
24758  bool val4 ;
24759  int ecode4 = 0 ;
24760  PyObject * obj0 = 0 ;
24761  PyObject * obj1 = 0 ;
24762  PyObject * obj2 = 0 ;
24763  PyObject * obj3 = 0 ;
24764  operations_research::Decision *result = 0 ;
24765 
24766  if (!PyArg_UnpackTuple(args, "Solver_SplitVariableDomain", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
24767  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24768  if (!SWIG_IsOK(res1)) {
24769  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SplitVariableDomain" "', argument " "1"" of type '" "operations_research::Solver *""'");
24770  }
24771  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24772  {
24773  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
24774  }
24775  ecode3 = SWIG_AsVal_long(obj2, &val3);
24776  if (!SWIG_IsOK(ecode3)) {
24777  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_SplitVariableDomain" "', argument " "3"" of type '" "int64_t""'");
24778  }
24779  arg3 = static_cast< int64_t >(val3);
24780  ecode4 = SWIG_AsVal_bool(obj3, &val4);
24781  if (!SWIG_IsOK(ecode4)) {
24782  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_SplitVariableDomain" "', argument " "4"" of type '" "bool""'");
24783  }
24784  arg4 = static_cast< bool >(val4);
24785  {
24786  try {
24787  result = (operations_research::Decision *)(arg1)->MakeSplitVariableDomain(arg2,arg3,arg4);
24788  }
24789  catch (Swig::DirectorException &e) {
24790  SWIG_fail;
24791  }
24792  }
24794  return resultobj;
24795 fail:
24796  return NULL;
24797 }
24798 
24799 
24800 SWIGINTERN PyObject *_wrap_Solver_AssignVariableValueOrFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24801  PyObject *resultobj = 0;
24804  int64_t arg3 ;
24805  void *argp1 = 0 ;
24806  int res1 = 0 ;
24807  long val3 ;
24808  int ecode3 = 0 ;
24809  PyObject * obj0 = 0 ;
24810  PyObject * obj1 = 0 ;
24811  PyObject * obj2 = 0 ;
24812  operations_research::Decision *result = 0 ;
24813 
24814  if (!PyArg_UnpackTuple(args, "Solver_AssignVariableValueOrFail", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24815  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24816  if (!SWIG_IsOK(res1)) {
24817  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AssignVariableValueOrFail" "', argument " "1"" of type '" "operations_research::Solver *""'");
24818  }
24819  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24820  {
24821  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
24822  }
24823  ecode3 = SWIG_AsVal_long(obj2, &val3);
24824  if (!SWIG_IsOK(ecode3)) {
24825  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_AssignVariableValueOrFail" "', argument " "3"" of type '" "int64_t""'");
24826  }
24827  arg3 = static_cast< int64_t >(val3);
24828  {
24829  try {
24830  result = (operations_research::Decision *)(arg1)->MakeAssignVariableValueOrFail(arg2,arg3);
24831  }
24832  catch (Swig::DirectorException &e) {
24833  SWIG_fail;
24834  }
24835  }
24837  return resultobj;
24838 fail:
24839  return NULL;
24840 }
24841 
24842 
24843 SWIGINTERN PyObject *_wrap_Solver_AssignVariablesValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24844  PyObject *resultobj = 0;
24846  std::vector< operations_research::IntVar * > *arg2 = 0 ;
24847  std::vector< int64_t > *arg3 = 0 ;
24848  void *argp1 = 0 ;
24849  int res1 = 0 ;
24850  std::vector< operations_research::IntVar * > temp2 ;
24851  std::vector< int64_t > temp3 ;
24852  PyObject * obj0 = 0 ;
24853  PyObject * obj1 = 0 ;
24854  PyObject * obj2 = 0 ;
24855  operations_research::Decision *result = 0 ;
24856 
24857  if (!PyArg_UnpackTuple(args, "Solver_AssignVariablesValues", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24858  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24859  if (!SWIG_IsOK(res1)) {
24860  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_AssignVariablesValues" "', argument " "1"" of type '" "operations_research::Solver *""'");
24861  }
24862  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24863  {
24864  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
24865  if (!PyErr_Occurred())
24866  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
24867  return NULL;
24868  }
24869  arg2 = &temp2;
24870  }
24871  {
24872  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
24873  if (!PyErr_Occurred())
24874  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
24875  return NULL;
24876  }
24877  arg3 = &temp3;
24878  }
24879  {
24880  try {
24881  result = (operations_research::Decision *)(arg1)->MakeAssignVariablesValues((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3);
24882  }
24883  catch (Swig::DirectorException &e) {
24884  SWIG_fail;
24885  }
24886  }
24888  return resultobj;
24889 fail:
24890  return NULL;
24891 }
24892 
24893 
24894 SWIGINTERN PyObject *_wrap_Solver_FailDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24895  PyObject *resultobj = 0;
24897  void *argp1 = 0 ;
24898  int res1 = 0 ;
24899  PyObject * obj0 = 0 ;
24900  operations_research::Decision *result = 0 ;
24901 
24902  if (!PyArg_UnpackTuple(args, "Solver_FailDecision", 1, 1, &obj0)) SWIG_fail;
24903  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24904  if (!SWIG_IsOK(res1)) {
24905  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FailDecision" "', argument " "1"" of type '" "operations_research::Solver *""'");
24906  }
24907  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24908  {
24909  try {
24910  result = (operations_research::Decision *)(arg1)->MakeFailDecision();
24911  }
24912  catch (Swig::DirectorException &e) {
24913  SWIG_fail;
24914  }
24915  }
24917  return resultobj;
24918 fail:
24919  return NULL;
24920 }
24921 
24922 
24923 SWIGINTERN PyObject *_wrap_Solver_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24924  PyObject *resultobj = 0;
24926  SwigValueWrapper< std::function< void (operations_research::Solver *) > > arg2 ;
24927  SwigValueWrapper< std::function< void (operations_research::Solver *) > > arg3 ;
24928  void *argp1 = 0 ;
24929  int res1 = 0 ;
24930  PyObject * obj0 = 0 ;
24931  PyObject * obj1 = 0 ;
24932  PyObject * obj2 = 0 ;
24933  operations_research::Decision *result = 0 ;
24934 
24935  if (!PyArg_UnpackTuple(args, "Solver_Decision", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
24936  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24937  if (!SWIG_IsOK(res1)) {
24938  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Decision" "', argument " "1"" of type '" "operations_research::Solver *""'");
24939  }
24940  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24941  {
24942  arg2 = [obj1](operations_research::Solver* s) {
24943  return PyFunctionSolverToVoid(obj1, s);
24944  };
24945  }
24946  {
24947  arg3 = [obj2](operations_research::Solver* s) {
24948  return PyFunctionSolverToVoid(obj2, s);
24949  };
24950  }
24951  {
24952  try {
24953  result = (operations_research::Decision *)(arg1)->MakeDecision(arg2,arg3);
24954  }
24955  catch (Swig::DirectorException &e) {
24956  SWIG_fail;
24957  }
24958  }
24960  return resultobj;
24961 fail:
24962  return NULL;
24963 }
24964 
24965 
24966 SWIGINTERN PyObject *_wrap_Solver_Compose(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
24967  PyObject *resultobj = 0;
24969  std::vector< operations_research::DecisionBuilder * > *arg2 = 0 ;
24970  void *argp1 = 0 ;
24971  int res1 = 0 ;
24972  std::vector< operations_research::DecisionBuilder * > temp2 ;
24973  PyObject * obj0 = 0 ;
24974  PyObject * obj1 = 0 ;
24976 
24977  if (!PyArg_UnpackTuple(args, "Solver_Compose", 2, 2, &obj0, &obj1)) SWIG_fail;
24978  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
24979  if (!SWIG_IsOK(res1)) {
24980  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Compose" "', argument " "1"" of type '" "operations_research::Solver *""'");
24981  }
24982  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
24983  {
24984  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::DecisionBuilder*>)) {
24985  if (!PyErr_Occurred())
24986  SWIG_Error(SWIG_TypeError, "sequence(operations_research::DecisionBuilder*) expected");
24987  return NULL;
24988  }
24989  arg2 = &temp2;
24990  }
24991  {
24992  try {
24993  result = (operations_research::DecisionBuilder *)(arg1)->Compose((std::vector< operations_research::DecisionBuilder * > const &)*arg2);
24994  }
24995  catch (Swig::DirectorException &e) {
24996  SWIG_fail;
24997  }
24998  }
25000  return resultobj;
25001 fail:
25002  return NULL;
25003 }
25004 
25005 
25006 SWIGINTERN PyObject *_wrap_Solver_Try(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25007  PyObject *resultobj = 0;
25009  std::vector< operations_research::DecisionBuilder * > *arg2 = 0 ;
25010  void *argp1 = 0 ;
25011  int res1 = 0 ;
25012  std::vector< operations_research::DecisionBuilder * > temp2 ;
25013  PyObject * obj0 = 0 ;
25014  PyObject * obj1 = 0 ;
25016 
25017  if (!PyArg_UnpackTuple(args, "Solver_Try", 2, 2, &obj0, &obj1)) SWIG_fail;
25018  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25019  if (!SWIG_IsOK(res1)) {
25020  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Try" "', argument " "1"" of type '" "operations_research::Solver *""'");
25021  }
25022  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25023  {
25024  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::DecisionBuilder*>)) {
25025  if (!PyErr_Occurred())
25026  SWIG_Error(SWIG_TypeError, "sequence(operations_research::DecisionBuilder*) expected");
25027  return NULL;
25028  }
25029  arg2 = &temp2;
25030  }
25031  {
25032  try {
25033  result = (operations_research::DecisionBuilder *)(arg1)->Try((std::vector< operations_research::DecisionBuilder * > const &)*arg2);
25034  }
25035  catch (Swig::DirectorException &e) {
25036  SWIG_fail;
25037  }
25038  }
25040  return resultobj;
25041 fail:
25042  return NULL;
25043 }
25044 
25045 
25046 SWIGINTERN PyObject *_wrap_Solver_Phase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25047  PyObject *resultobj = 0;
25049  std::vector< operations_research::IntVar * > *arg2 = 0 ;
25052  void *argp1 = 0 ;
25053  int res1 = 0 ;
25054  std::vector< operations_research::IntVar * > temp2 ;
25055  int val3 ;
25056  int ecode3 = 0 ;
25057  int val4 ;
25058  int ecode4 = 0 ;
25059  PyObject * obj0 = 0 ;
25060  PyObject * obj1 = 0 ;
25061  PyObject * obj2 = 0 ;
25062  PyObject * obj3 = 0 ;
25064 
25065  if (!PyArg_UnpackTuple(args, "Solver_Phase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
25066  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25067  if (!SWIG_IsOK(res1)) {
25068  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Phase" "', argument " "1"" of type '" "operations_research::Solver *""'");
25069  }
25070  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25071  {
25072  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
25073  if (!PyErr_Occurred())
25074  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
25075  return NULL;
25076  }
25077  arg2 = &temp2;
25078  }
25079  ecode3 = SWIG_AsVal_int(obj2, &val3);
25080  if (!SWIG_IsOK(ecode3)) {
25081  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Phase" "', argument " "3"" of type '" "operations_research::Solver::IntVarStrategy""'");
25082  }
25083  arg3 = static_cast< operations_research::Solver::IntVarStrategy >(val3);
25084  ecode4 = SWIG_AsVal_int(obj3, &val4);
25085  if (!SWIG_IsOK(ecode4)) {
25086  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Phase" "', argument " "4"" of type '" "operations_research::Solver::IntValueStrategy""'");
25087  }
25088  arg4 = static_cast< operations_research::Solver::IntValueStrategy >(val4);
25089  {
25090  try {
25091  result = (operations_research::DecisionBuilder *)(arg1)->MakePhase((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
25092  }
25093  catch (Swig::DirectorException &e) {
25094  SWIG_fail;
25095  }
25096  }
25098  return resultobj;
25099 fail:
25100  return NULL;
25101 }
25102 
25103 
25104 SWIGINTERN PyObject *_wrap_Solver_DefaultPhase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25105  PyObject *resultobj = 0;
25107  std::vector< operations_research::IntVar * > *arg2 = 0 ;
25108  void *argp1 = 0 ;
25109  int res1 = 0 ;
25110  std::vector< operations_research::IntVar * > temp2 ;
25111  PyObject * obj0 = 0 ;
25112  PyObject * obj1 = 0 ;
25114 
25115  if (!PyArg_UnpackTuple(args, "Solver_DefaultPhase", 2, 2, &obj0, &obj1)) SWIG_fail;
25116  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25117  if (!SWIG_IsOK(res1)) {
25118  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DefaultPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
25119  }
25120  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25121  {
25122  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
25123  if (!PyErr_Occurred())
25124  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
25125  return NULL;
25126  }
25127  arg2 = &temp2;
25128  }
25129  {
25130  try {
25131  result = (operations_research::DecisionBuilder *)(arg1)->MakeDefaultPhase((std::vector< operations_research::IntVar * > const &)*arg2);
25132  }
25133  catch (Swig::DirectorException &e) {
25134  SWIG_fail;
25135  }
25136  }
25138  return resultobj;
25139 fail:
25140  return NULL;
25141 }
25142 
25143 
25144 SWIGINTERN PyObject *_wrap_Solver_DefaultPhase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25145  PyObject *resultobj = 0;
25147  std::vector< operations_research::IntVar * > *arg2 = 0 ;
25149  void *argp1 = 0 ;
25150  int res1 = 0 ;
25151  std::vector< operations_research::IntVar * > temp2 ;
25152  void *argp3 = 0 ;
25153  int res3 = 0 ;
25154  PyObject * obj0 = 0 ;
25155  PyObject * obj1 = 0 ;
25156  PyObject * obj2 = 0 ;
25158 
25159  if (!PyArg_UnpackTuple(args, "Solver_DefaultPhase", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25160  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25161  if (!SWIG_IsOK(res1)) {
25162  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DefaultPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
25163  }
25164  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25165  {
25166  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
25167  if (!PyErr_Occurred())
25168  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
25169  return NULL;
25170  }
25171  arg2 = &temp2;
25172  }
25174  if (!SWIG_IsOK(res3)) {
25175  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_DefaultPhase" "', argument " "3"" of type '" "operations_research::DefaultPhaseParameters const &""'");
25176  }
25177  if (!argp3) {
25178  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_DefaultPhase" "', argument " "3"" of type '" "operations_research::DefaultPhaseParameters const &""'");
25179  }
25180  arg3 = reinterpret_cast< operations_research::DefaultPhaseParameters * >(argp3);
25181  {
25182  try {
25183  result = (operations_research::DecisionBuilder *)(arg1)->MakeDefaultPhase((std::vector< operations_research::IntVar * > const &)*arg2,(operations_research::DefaultPhaseParameters const &)*arg3);
25184  }
25185  catch (Swig::DirectorException &e) {
25186  SWIG_fail;
25187  }
25188  }
25190  return resultobj;
25191 fail:
25192  return NULL;
25193 }
25194 
25195 
25196 SWIGINTERN PyObject *_wrap_Solver_DefaultPhase(PyObject *self, PyObject *args) {
25197  Py_ssize_t argc;
25198  PyObject *argv[4] = {
25199  0
25200  };
25201  Py_ssize_t ii;
25202 
25203  if (!PyTuple_Check(args)) SWIG_fail;
25204  argc = PyObject_Length(args);
25205  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
25206  argv[ii] = PyTuple_GET_ITEM(args,ii);
25207  }
25208  if (argc == 2) {
25209  int _v;
25210  void *vptr = 0;
25211  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
25212  _v = SWIG_CheckState(res);
25213  if (_v) {
25214  {
25215  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
25216  _v = 0;
25217  } else {
25218  const bool is_tuple = PyTuple_Check(argv[1]);
25219  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
25220  size_t i = 0;
25221  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
25222  :PyList_GetItem(argv[1], i))) {
25223  ++i;
25224  }
25225  _v = i == size;
25226  }
25227  }
25228  if (_v) {
25229  return _wrap_Solver_DefaultPhase__SWIG_0(self, args);
25230  }
25231  }
25232  }
25233  if (argc == 3) {
25234  int _v;
25235  void *vptr = 0;
25236  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
25237  _v = SWIG_CheckState(res);
25238  if (_v) {
25239  {
25240  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
25241  _v = 0;
25242  } else {
25243  const bool is_tuple = PyTuple_Check(argv[1]);
25244  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
25245  size_t i = 0;
25246  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
25247  :PyList_GetItem(argv[1], i))) {
25248  ++i;
25249  }
25250  _v = i == size;
25251  }
25252  }
25253  if (_v) {
25255  _v = SWIG_CheckState(res);
25256  if (_v) {
25257  return _wrap_Solver_DefaultPhase__SWIG_1(self, args);
25258  }
25259  }
25260  }
25261  }
25262 
25263 fail:
25264  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_DefaultPhase'.\n"
25265  " Possible C/C++ prototypes are:\n"
25266  " operations_research::Solver::MakeDefaultPhase(std::vector< operations_research::IntVar * > const &)\n"
25267  " operations_research::Solver::MakeDefaultPhase(std::vector< operations_research::IntVar * > const &,operations_research::DefaultPhaseParameters const &)\n");
25268  return 0;
25269 }
25270 
25271 
25272 SWIGINTERN PyObject *_wrap_Solver_ScheduleOrPostpone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25273  PyObject *resultobj = 0;
25276  int64_t arg3 ;
25277  int64_t *arg4 = (int64_t *) (int64_t *)0 ;
25278  void *argp1 = 0 ;
25279  int res1 = 0 ;
25280  long val3 ;
25281  int ecode3 = 0 ;
25282  void *argp4 = 0 ;
25283  int res4 = 0 ;
25284  PyObject * obj0 = 0 ;
25285  PyObject * obj1 = 0 ;
25286  PyObject * obj2 = 0 ;
25287  PyObject * obj3 = 0 ;
25288  operations_research::Decision *result = 0 ;
25289 
25290  if (!PyArg_UnpackTuple(args, "Solver_ScheduleOrPostpone", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
25291  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25292  if (!SWIG_IsOK(res1)) {
25293  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScheduleOrPostpone" "', argument " "1"" of type '" "operations_research::Solver *""'");
25294  }
25295  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25296  {
25297  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25298  }
25299  ecode3 = SWIG_AsVal_long(obj2, &val3);
25300  if (!SWIG_IsOK(ecode3)) {
25301  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_ScheduleOrPostpone" "', argument " "3"" of type '" "int64_t""'");
25302  }
25303  arg3 = static_cast< int64_t >(val3);
25304  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_long, 0 | 0 );
25305  if (!SWIG_IsOK(res4)) {
25306  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_ScheduleOrPostpone" "', argument " "4"" of type '" "int64_t *const""'");
25307  }
25308  arg4 = reinterpret_cast< int64_t * >(argp4);
25309  {
25310  try {
25311  result = (operations_research::Decision *)(arg1)->MakeScheduleOrPostpone(arg2,arg3,arg4);
25312  }
25313  catch (Swig::DirectorException &e) {
25314  SWIG_fail;
25315  }
25316  }
25318  return resultobj;
25319 fail:
25320  return NULL;
25321 }
25322 
25323 
25324 SWIGINTERN PyObject *_wrap_Solver_ScheduleOrExpedite(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25325  PyObject *resultobj = 0;
25328  int64_t arg3 ;
25329  int64_t *arg4 = (int64_t *) (int64_t *)0 ;
25330  void *argp1 = 0 ;
25331  int res1 = 0 ;
25332  long val3 ;
25333  int ecode3 = 0 ;
25334  void *argp4 = 0 ;
25335  int res4 = 0 ;
25336  PyObject * obj0 = 0 ;
25337  PyObject * obj1 = 0 ;
25338  PyObject * obj2 = 0 ;
25339  PyObject * obj3 = 0 ;
25340  operations_research::Decision *result = 0 ;
25341 
25342  if (!PyArg_UnpackTuple(args, "Solver_ScheduleOrExpedite", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
25343  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25344  if (!SWIG_IsOK(res1)) {
25345  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ScheduleOrExpedite" "', argument " "1"" of type '" "operations_research::Solver *""'");
25346  }
25347  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25348  {
25349  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25350  }
25351  ecode3 = SWIG_AsVal_long(obj2, &val3);
25352  if (!SWIG_IsOK(ecode3)) {
25353  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_ScheduleOrExpedite" "', argument " "3"" of type '" "int64_t""'");
25354  }
25355  arg3 = static_cast< int64_t >(val3);
25356  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_long, 0 | 0 );
25357  if (!SWIG_IsOK(res4)) {
25358  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_ScheduleOrExpedite" "', argument " "4"" of type '" "int64_t *const""'");
25359  }
25360  arg4 = reinterpret_cast< int64_t * >(argp4);
25361  {
25362  try {
25363  result = (operations_research::Decision *)(arg1)->MakeScheduleOrExpedite(arg2,arg3,arg4);
25364  }
25365  catch (Swig::DirectorException &e) {
25366  SWIG_fail;
25367  }
25368  }
25370  return resultobj;
25371 fail:
25372  return NULL;
25373 }
25374 
25375 
25376 SWIGINTERN PyObject *_wrap_Solver_RankFirstInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25377  PyObject *resultobj = 0;
25380  int arg3 ;
25381  void *argp1 = 0 ;
25382  int res1 = 0 ;
25383  int val3 ;
25384  int ecode3 = 0 ;
25385  PyObject * obj0 = 0 ;
25386  PyObject * obj1 = 0 ;
25387  PyObject * obj2 = 0 ;
25388  operations_research::Decision *result = 0 ;
25389 
25390  if (!PyArg_UnpackTuple(args, "Solver_RankFirstInterval", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25391  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25392  if (!SWIG_IsOK(res1)) {
25393  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RankFirstInterval" "', argument " "1"" of type '" "operations_research::Solver *""'");
25394  }
25395  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25396  {
25397  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25398  }
25399  ecode3 = SWIG_AsVal_int(obj2, &val3);
25400  if (!SWIG_IsOK(ecode3)) {
25401  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_RankFirstInterval" "', argument " "3"" of type '" "int""'");
25402  }
25403  arg3 = static_cast< int >(val3);
25404  {
25405  try {
25406  result = (operations_research::Decision *)(arg1)->MakeRankFirstInterval(arg2,arg3);
25407  }
25408  catch (Swig::DirectorException &e) {
25409  SWIG_fail;
25410  }
25411  }
25413  return resultobj;
25414 fail:
25415  return NULL;
25416 }
25417 
25418 
25419 SWIGINTERN PyObject *_wrap_Solver_RankLastInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25420  PyObject *resultobj = 0;
25423  int arg3 ;
25424  void *argp1 = 0 ;
25425  int res1 = 0 ;
25426  int val3 ;
25427  int ecode3 = 0 ;
25428  PyObject * obj0 = 0 ;
25429  PyObject * obj1 = 0 ;
25430  PyObject * obj2 = 0 ;
25431  operations_research::Decision *result = 0 ;
25432 
25433  if (!PyArg_UnpackTuple(args, "Solver_RankLastInterval", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25434  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25435  if (!SWIG_IsOK(res1)) {
25436  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RankLastInterval" "', argument " "1"" of type '" "operations_research::Solver *""'");
25437  }
25438  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25439  {
25440  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25441  }
25442  ecode3 = SWIG_AsVal_int(obj2, &val3);
25443  if (!SWIG_IsOK(ecode3)) {
25444  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_RankLastInterval" "', argument " "3"" of type '" "int""'");
25445  }
25446  arg3 = static_cast< int >(val3);
25447  {
25448  try {
25449  result = (operations_research::Decision *)(arg1)->MakeRankLastInterval(arg2,arg3);
25450  }
25451  catch (Swig::DirectorException &e) {
25452  SWIG_fail;
25453  }
25454  }
25456  return resultobj;
25457 fail:
25458  return NULL;
25459 }
25460 
25461 
25462 SWIGINTERN PyObject *_wrap_Solver_Phase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25463  PyObject *resultobj = 0;
25465  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
25467  void *argp1 = 0 ;
25468  int res1 = 0 ;
25469  std::vector< operations_research::IntervalVar * > temp2 ;
25470  int val3 ;
25471  int ecode3 = 0 ;
25472  PyObject * obj0 = 0 ;
25473  PyObject * obj1 = 0 ;
25474  PyObject * obj2 = 0 ;
25476 
25477  if (!PyArg_UnpackTuple(args, "Solver_Phase", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25478  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25479  if (!SWIG_IsOK(res1)) {
25480  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Phase" "', argument " "1"" of type '" "operations_research::Solver *""'");
25481  }
25482  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25483  {
25484  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
25485  if (!PyErr_Occurred())
25486  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
25487  return NULL;
25488  }
25489  arg2 = &temp2;
25490  }
25491  ecode3 = SWIG_AsVal_int(obj2, &val3);
25492  if (!SWIG_IsOK(ecode3)) {
25493  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Phase" "', argument " "3"" of type '" "operations_research::Solver::IntervalStrategy""'");
25494  }
25495  arg3 = static_cast< operations_research::Solver::IntervalStrategy >(val3);
25496  {
25497  try {
25498  result = (operations_research::DecisionBuilder *)(arg1)->MakePhase((std::vector< operations_research::IntervalVar * > const &)*arg2,arg3);
25499  }
25500  catch (Swig::DirectorException &e) {
25501  SWIG_fail;
25502  }
25503  }
25505  return resultobj;
25506 fail:
25507  return NULL;
25508 }
25509 
25510 
25511 SWIGINTERN PyObject *_wrap_Solver_Phase__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25512  PyObject *resultobj = 0;
25514  std::vector< operations_research::SequenceVar * > *arg2 = 0 ;
25516  void *argp1 = 0 ;
25517  int res1 = 0 ;
25518  std::vector< operations_research::SequenceVar * > temp2 ;
25519  int val3 ;
25520  int ecode3 = 0 ;
25521  PyObject * obj0 = 0 ;
25522  PyObject * obj1 = 0 ;
25523  PyObject * obj2 = 0 ;
25525 
25526  if (!PyArg_UnpackTuple(args, "Solver_Phase", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25527  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25528  if (!SWIG_IsOK(res1)) {
25529  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Phase" "', argument " "1"" of type '" "operations_research::Solver *""'");
25530  }
25531  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25532  {
25533  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::SequenceVar*>)) {
25534  if (!PyErr_Occurred())
25535  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SequenceVar*) expected");
25536  return NULL;
25537  }
25538  arg2 = &temp2;
25539  }
25540  ecode3 = SWIG_AsVal_int(obj2, &val3);
25541  if (!SWIG_IsOK(ecode3)) {
25542  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Phase" "', argument " "3"" of type '" "operations_research::Solver::SequenceStrategy""'");
25543  }
25544  arg3 = static_cast< operations_research::Solver::SequenceStrategy >(val3);
25545  {
25546  try {
25547  result = (operations_research::DecisionBuilder *)(arg1)->MakePhase((std::vector< operations_research::SequenceVar * > const &)*arg2,arg3);
25548  }
25549  catch (Swig::DirectorException &e) {
25550  SWIG_fail;
25551  }
25552  }
25554  return resultobj;
25555 fail:
25556  return NULL;
25557 }
25558 
25559 
25560 SWIGINTERN PyObject *_wrap_Solver_Phase(PyObject *self, PyObject *args) {
25561  Py_ssize_t argc;
25562  PyObject *argv[5] = {
25563  0
25564  };
25565  Py_ssize_t ii;
25566 
25567  if (!PyTuple_Check(args)) SWIG_fail;
25568  argc = PyObject_Length(args);
25569  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
25570  argv[ii] = PyTuple_GET_ITEM(args,ii);
25571  }
25572  if (argc == 3) {
25573  int _v;
25574  void *vptr = 0;
25575  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
25576  _v = SWIG_CheckState(res);
25577  if (_v) {
25578  {
25579  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
25580  _v = 0;
25581  } else {
25582  const bool is_tuple = PyTuple_Check(argv[1]);
25583  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
25584  size_t i = 0;
25585  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
25586  :PyList_GetItem(argv[1], i))) {
25587  ++i;
25588  }
25589  _v = i == size;
25590  }
25591  }
25592  if (_v) {
25593  {
25594  int res = SWIG_AsVal_int(argv[2], NULL);
25595  _v = SWIG_CheckState(res);
25596  }
25597  if (_v) {
25598  return _wrap_Solver_Phase__SWIG_1(self, args);
25599  }
25600  }
25601  }
25602  }
25603  if (argc == 3) {
25604  int _v;
25605  void *vptr = 0;
25606  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
25607  _v = SWIG_CheckState(res);
25608  if (_v) {
25609  {
25610  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
25611  _v = 0;
25612  } else {
25613  const bool is_tuple = PyTuple_Check(argv[1]);
25614  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
25615  size_t i = 0;
25616  while (i < size && CanConvertToSequenceVar(is_tuple ? PyTuple_GetItem(argv[1], i)
25617  :PyList_GetItem(argv[1], i))) {
25618  ++i;
25619  }
25620  _v = i == size;
25621  }
25622  }
25623  if (_v) {
25624  {
25625  int res = SWIG_AsVal_int(argv[2], NULL);
25626  _v = SWIG_CheckState(res);
25627  }
25628  if (_v) {
25629  return _wrap_Solver_Phase__SWIG_2(self, args);
25630  }
25631  }
25632  }
25633  }
25634  if (argc == 4) {
25635  int _v;
25636  void *vptr = 0;
25637  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
25638  _v = SWIG_CheckState(res);
25639  if (_v) {
25640  {
25641  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
25642  _v = 0;
25643  } else {
25644  const bool is_tuple = PyTuple_Check(argv[1]);
25645  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
25646  size_t i = 0;
25647  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
25648  :PyList_GetItem(argv[1], i))) {
25649  ++i;
25650  }
25651  _v = i == size;
25652  }
25653  }
25654  if (_v) {
25655  {
25656  int res = SWIG_AsVal_int(argv[2], NULL);
25657  _v = SWIG_CheckState(res);
25658  }
25659  if (_v) {
25660  {
25661  int res = SWIG_AsVal_int(argv[3], NULL);
25662  _v = SWIG_CheckState(res);
25663  }
25664  if (_v) {
25665  return _wrap_Solver_Phase__SWIG_0(self, args);
25666  }
25667  }
25668  }
25669  }
25670  }
25671 
25672 fail:
25673  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Phase'.\n"
25674  " Possible C/C++ prototypes are:\n"
25675  " operations_research::Solver::MakePhase(std::vector< operations_research::IntVar * > const &,operations_research::Solver::IntVarStrategy,operations_research::Solver::IntValueStrategy)\n"
25676  " operations_research::Solver::MakePhase(std::vector< operations_research::IntervalVar * > const &,operations_research::Solver::IntervalStrategy)\n"
25677  " operations_research::Solver::MakePhase(std::vector< operations_research::SequenceVar * > const &,operations_research::Solver::SequenceStrategy)\n");
25678  return 0;
25679 }
25680 
25681 
25682 SWIGINTERN PyObject *_wrap_Solver_DecisionBuilderFromAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25683  PyObject *resultobj = 0;
25687  std::vector< operations_research::IntVar * > *arg4 = 0 ;
25688  void *argp1 = 0 ;
25689  int res1 = 0 ;
25690  void *argp2 = 0 ;
25691  int res2 = 0 ;
25692  std::vector< operations_research::IntVar * > temp4 ;
25693  PyObject * obj0 = 0 ;
25694  PyObject * obj1 = 0 ;
25695  PyObject * obj2 = 0 ;
25696  PyObject * obj3 = 0 ;
25698 
25699  if (!PyArg_UnpackTuple(args, "Solver_DecisionBuilderFromAssignment", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
25700  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25701  if (!SWIG_IsOK(res1)) {
25702  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_DecisionBuilderFromAssignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
25703  }
25704  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25705  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
25706  if (!SWIG_IsOK(res2)) {
25707  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_DecisionBuilderFromAssignment" "', argument " "2"" of type '" "operations_research::Assignment *const""'");
25708  }
25709  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
25710  {
25711  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
25712  }
25713  {
25714  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
25715  if (!PyErr_Occurred())
25716  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
25717  return NULL;
25718  }
25719  arg4 = &temp4;
25720  }
25721  {
25722  try {
25723  result = (operations_research::DecisionBuilder *)(arg1)->MakeDecisionBuilderFromAssignment(arg2,arg3,(std::vector< operations_research::IntVar * > const &)*arg4);
25724  }
25725  catch (Swig::DirectorException &e) {
25726  SWIG_fail;
25727  }
25728  }
25730  return resultobj;
25731 fail:
25732  return NULL;
25733 }
25734 
25735 
25736 SWIGINTERN PyObject *_wrap_Solver_ConstraintAdder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25737  PyObject *resultobj = 0;
25740  void *argp1 = 0 ;
25741  int res1 = 0 ;
25742  void *argp2 = 0 ;
25743  int res2 = 0 ;
25744  PyObject * obj0 = 0 ;
25745  PyObject * obj1 = 0 ;
25747 
25748  if (!PyArg_UnpackTuple(args, "Solver_ConstraintAdder", 2, 2, &obj0, &obj1)) SWIG_fail;
25749  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25750  if (!SWIG_IsOK(res1)) {
25751  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConstraintAdder" "', argument " "1"" of type '" "operations_research::Solver *""'");
25752  }
25753  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25754  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
25755  if (!SWIG_IsOK(res2)) {
25756  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_ConstraintAdder" "', argument " "2"" of type '" "operations_research::Constraint *const""'");
25757  }
25758  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
25759  {
25760  try {
25761  result = (operations_research::DecisionBuilder *)(arg1)->MakeConstraintAdder(arg2);
25762  }
25763  catch (Swig::DirectorException &e) {
25764  SWIG_fail;
25765  }
25766  }
25768  return resultobj;
25769 fail:
25770  return NULL;
25771 }
25772 
25773 
25774 SWIGINTERN PyObject *_wrap_Solver_SolveOnce(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25775  PyObject *resultobj = 0;
25778  std::vector< operations_research::SearchMonitor * > *arg3 = 0 ;
25779  void *argp1 = 0 ;
25780  int res1 = 0 ;
25781  std::vector< operations_research::SearchMonitor * > temp3 ;
25782  PyObject * obj0 = 0 ;
25783  PyObject * obj1 = 0 ;
25784  PyObject * obj2 = 0 ;
25786 
25787  if (!PyArg_UnpackTuple(args, "Solver_SolveOnce", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
25788  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25789  if (!SWIG_IsOK(res1)) {
25790  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveOnce" "', argument " "1"" of type '" "operations_research::Solver *""'");
25791  }
25792  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25793  {
25794  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25795  }
25796  {
25797  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::SearchMonitor*>)) {
25798  if (!PyErr_Occurred())
25799  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SearchMonitor*) expected");
25800  return NULL;
25801  }
25802  arg3 = &temp3;
25803  }
25804  {
25805  try {
25806  result = (operations_research::DecisionBuilder *)(arg1)->MakeSolveOnce(arg2,(std::vector< operations_research::SearchMonitor * > const &)*arg3);
25807  }
25808  catch (Swig::DirectorException &e) {
25809  SWIG_fail;
25810  }
25811  }
25813  return resultobj;
25814 fail:
25815  return NULL;
25816 }
25817 
25818 
25819 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25820  PyObject *resultobj = 0;
25824  bool arg4 ;
25825  int64_t arg5 ;
25826  void *argp1 = 0 ;
25827  int res1 = 0 ;
25828  void *argp3 = 0 ;
25829  int res3 = 0 ;
25830  bool val4 ;
25831  int ecode4 = 0 ;
25832  long val5 ;
25833  int ecode5 = 0 ;
25834  PyObject * obj0 = 0 ;
25835  PyObject * obj1 = 0 ;
25836  PyObject * obj2 = 0 ;
25837  PyObject * obj3 = 0 ;
25838  PyObject * obj4 = 0 ;
25840 
25841  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
25842  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25843  if (!SWIG_IsOK(res1)) {
25844  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
25845  }
25846  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25847  {
25848  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25849  }
25850  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
25851  if (!SWIG_IsOK(res3)) {
25852  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
25853  }
25854  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
25855  ecode4 = SWIG_AsVal_bool(obj3, &val4);
25856  if (!SWIG_IsOK(ecode4)) {
25857  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
25858  }
25859  arg4 = static_cast< bool >(val4);
25860  ecode5 = SWIG_AsVal_long(obj4, &val5);
25861  if (!SWIG_IsOK(ecode5)) {
25862  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
25863  }
25864  arg5 = static_cast< int64_t >(val5);
25865  {
25866  try {
25867  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5);
25868  }
25869  catch (Swig::DirectorException &e) {
25870  SWIG_fail;
25871  }
25872  }
25874  return resultobj;
25875 fail:
25876  return NULL;
25877 }
25878 
25879 
25880 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25881  PyObject *resultobj = 0;
25885  bool arg4 ;
25886  int64_t arg5 ;
25888  void *argp1 = 0 ;
25889  int res1 = 0 ;
25890  void *argp3 = 0 ;
25891  int res3 = 0 ;
25892  bool val4 ;
25893  int ecode4 = 0 ;
25894  long val5 ;
25895  int ecode5 = 0 ;
25896  PyObject * obj0 = 0 ;
25897  PyObject * obj1 = 0 ;
25898  PyObject * obj2 = 0 ;
25899  PyObject * obj3 = 0 ;
25900  PyObject * obj4 = 0 ;
25901  PyObject * obj5 = 0 ;
25903 
25904  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
25905  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25906  if (!SWIG_IsOK(res1)) {
25907  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
25908  }
25909  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25910  {
25911  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25912  }
25913  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
25914  if (!SWIG_IsOK(res3)) {
25915  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
25916  }
25917  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
25918  ecode4 = SWIG_AsVal_bool(obj3, &val4);
25919  if (!SWIG_IsOK(ecode4)) {
25920  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
25921  }
25922  arg4 = static_cast< bool >(val4);
25923  ecode5 = SWIG_AsVal_long(obj4, &val5);
25924  if (!SWIG_IsOK(ecode5)) {
25925  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
25926  }
25927  arg5 = static_cast< int64_t >(val5);
25928  {
25929  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
25930  }
25931  {
25932  try {
25933  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5,arg6);
25934  }
25935  catch (Swig::DirectorException &e) {
25936  SWIG_fail;
25937  }
25938  }
25940  return resultobj;
25941 fail:
25942  return NULL;
25943 }
25944 
25945 
25946 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
25947  PyObject *resultobj = 0;
25951  bool arg4 ;
25952  int64_t arg5 ;
25955  void *argp1 = 0 ;
25956  int res1 = 0 ;
25957  void *argp3 = 0 ;
25958  int res3 = 0 ;
25959  bool val4 ;
25960  int ecode4 = 0 ;
25961  long val5 ;
25962  int ecode5 = 0 ;
25963  PyObject * obj0 = 0 ;
25964  PyObject * obj1 = 0 ;
25965  PyObject * obj2 = 0 ;
25966  PyObject * obj3 = 0 ;
25967  PyObject * obj4 = 0 ;
25968  PyObject * obj5 = 0 ;
25969  PyObject * obj6 = 0 ;
25971 
25972  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
25973  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
25974  if (!SWIG_IsOK(res1)) {
25975  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
25976  }
25977  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
25978  {
25979  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
25980  }
25981  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
25982  if (!SWIG_IsOK(res3)) {
25983  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
25984  }
25985  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
25986  ecode4 = SWIG_AsVal_bool(obj3, &val4);
25987  if (!SWIG_IsOK(ecode4)) {
25988  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
25989  }
25990  arg4 = static_cast< bool >(val4);
25991  ecode5 = SWIG_AsVal_long(obj4, &val5);
25992  if (!SWIG_IsOK(ecode5)) {
25993  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
25994  }
25995  arg5 = static_cast< int64_t >(val5);
25996  {
25997  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
25998  }
25999  {
26000  if (!PyObjAs(obj6, &arg7)) SWIG_fail;
26001  }
26002  {
26003  try {
26004  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5,arg6,arg7);
26005  }
26006  catch (Swig::DirectorException &e) {
26007  SWIG_fail;
26008  }
26009  }
26011  return resultobj;
26012 fail:
26013  return NULL;
26014 }
26015 
26016 
26017 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26018  PyObject *resultobj = 0;
26022  bool arg4 ;
26023  int64_t arg5 ;
26027  void *argp1 = 0 ;
26028  int res1 = 0 ;
26029  void *argp3 = 0 ;
26030  int res3 = 0 ;
26031  bool val4 ;
26032  int ecode4 = 0 ;
26033  long val5 ;
26034  int ecode5 = 0 ;
26035  PyObject * obj0 = 0 ;
26036  PyObject * obj1 = 0 ;
26037  PyObject * obj2 = 0 ;
26038  PyObject * obj3 = 0 ;
26039  PyObject * obj4 = 0 ;
26040  PyObject * obj5 = 0 ;
26041  PyObject * obj6 = 0 ;
26042  PyObject * obj7 = 0 ;
26044 
26045  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 8, 8, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6, &obj7)) SWIG_fail;
26046  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26047  if (!SWIG_IsOK(res1)) {
26048  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
26049  }
26050  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26051  {
26052  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
26053  }
26054  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
26055  if (!SWIG_IsOK(res3)) {
26056  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
26057  }
26058  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
26059  ecode4 = SWIG_AsVal_bool(obj3, &val4);
26060  if (!SWIG_IsOK(ecode4)) {
26061  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
26062  }
26063  arg4 = static_cast< bool >(val4);
26064  ecode5 = SWIG_AsVal_long(obj4, &val5);
26065  if (!SWIG_IsOK(ecode5)) {
26066  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
26067  }
26068  arg5 = static_cast< int64_t >(val5);
26069  {
26070  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
26071  }
26072  {
26073  if (!PyObjAs(obj6, &arg7)) SWIG_fail;
26074  }
26075  {
26076  if (!PyObjAs(obj7, &arg8)) SWIG_fail;
26077  }
26078  {
26079  try {
26080  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
26081  }
26082  catch (Swig::DirectorException &e) {
26083  SWIG_fail;
26084  }
26085  }
26087  return resultobj;
26088 fail:
26089  return NULL;
26090 }
26091 
26092 
26093 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26094  PyObject *resultobj = 0;
26098  bool arg4 ;
26099  int64_t arg5 ;
26104  void *argp1 = 0 ;
26105  int res1 = 0 ;
26106  void *argp3 = 0 ;
26107  int res3 = 0 ;
26108  bool val4 ;
26109  int ecode4 = 0 ;
26110  long val5 ;
26111  int ecode5 = 0 ;
26112  PyObject * obj0 = 0 ;
26113  PyObject * obj1 = 0 ;
26114  PyObject * obj2 = 0 ;
26115  PyObject * obj3 = 0 ;
26116  PyObject * obj4 = 0 ;
26117  PyObject * obj5 = 0 ;
26118  PyObject * obj6 = 0 ;
26119  PyObject * obj7 = 0 ;
26120  PyObject * obj8 = 0 ;
26122 
26123  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 9, 9, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6, &obj7, &obj8)) SWIG_fail;
26124  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26125  if (!SWIG_IsOK(res1)) {
26126  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
26127  }
26128  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26129  {
26130  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
26131  }
26132  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
26133  if (!SWIG_IsOK(res3)) {
26134  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
26135  }
26136  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
26137  ecode4 = SWIG_AsVal_bool(obj3, &val4);
26138  if (!SWIG_IsOK(ecode4)) {
26139  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
26140  }
26141  arg4 = static_cast< bool >(val4);
26142  ecode5 = SWIG_AsVal_long(obj4, &val5);
26143  if (!SWIG_IsOK(ecode5)) {
26144  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
26145  }
26146  arg5 = static_cast< int64_t >(val5);
26147  {
26148  if (!PyObjAs(obj5, &arg6)) SWIG_fail;
26149  }
26150  {
26151  if (!PyObjAs(obj6, &arg7)) SWIG_fail;
26152  }
26153  {
26154  if (!PyObjAs(obj7, &arg8)) SWIG_fail;
26155  }
26156  {
26157  if (!PyObjAs(obj8, &arg9)) SWIG_fail;
26158  }
26159  {
26160  try {
26161  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
26162  }
26163  catch (Swig::DirectorException &e) {
26164  SWIG_fail;
26165  }
26166  }
26168  return resultobj;
26169 fail:
26170  return NULL;
26171 }
26172 
26173 
26174 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26175  PyObject *resultobj = 0;
26179  bool arg4 ;
26180  int64_t arg5 ;
26181  std::vector< operations_research::SearchMonitor * > *arg6 = 0 ;
26182  void *argp1 = 0 ;
26183  int res1 = 0 ;
26184  void *argp3 = 0 ;
26185  int res3 = 0 ;
26186  bool val4 ;
26187  int ecode4 = 0 ;
26188  long val5 ;
26189  int ecode5 = 0 ;
26190  std::vector< operations_research::SearchMonitor * > temp6 ;
26191  PyObject * obj0 = 0 ;
26192  PyObject * obj1 = 0 ;
26193  PyObject * obj2 = 0 ;
26194  PyObject * obj3 = 0 ;
26195  PyObject * obj4 = 0 ;
26196  PyObject * obj5 = 0 ;
26198 
26199  if (!PyArg_UnpackTuple(args, "Solver_NestedOptimize", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
26200  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26201  if (!SWIG_IsOK(res1)) {
26202  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NestedOptimize" "', argument " "1"" of type '" "operations_research::Solver *""'");
26203  }
26204  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26205  {
26206  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
26207  }
26208  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
26209  if (!SWIG_IsOK(res3)) {
26210  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_NestedOptimize" "', argument " "3"" of type '" "operations_research::Assignment *const""'");
26211  }
26212  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
26213  ecode4 = SWIG_AsVal_bool(obj3, &val4);
26214  if (!SWIG_IsOK(ecode4)) {
26215  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_NestedOptimize" "', argument " "4"" of type '" "bool""'");
26216  }
26217  arg4 = static_cast< bool >(val4);
26218  ecode5 = SWIG_AsVal_long(obj4, &val5);
26219  if (!SWIG_IsOK(ecode5)) {
26220  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_NestedOptimize" "', argument " "5"" of type '" "int64_t""'");
26221  }
26222  arg5 = static_cast< int64_t >(val5);
26223  {
26224  if (!vector_input_helper(obj5, &temp6, PyObjAs<operations_research::SearchMonitor*>)) {
26225  if (!PyErr_Occurred())
26226  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SearchMonitor*) expected");
26227  return NULL;
26228  }
26229  arg6 = &temp6;
26230  }
26231  {
26232  try {
26233  result = (operations_research::DecisionBuilder *)(arg1)->MakeNestedOptimize(arg2,arg3,arg4,arg5,(std::vector< operations_research::SearchMonitor * > const &)*arg6);
26234  }
26235  catch (Swig::DirectorException &e) {
26236  SWIG_fail;
26237  }
26238  }
26240  return resultobj;
26241 fail:
26242  return NULL;
26243 }
26244 
26245 
26246 SWIGINTERN PyObject *_wrap_Solver_NestedOptimize(PyObject *self, PyObject *args) {
26247  Py_ssize_t argc;
26248  PyObject *argv[10] = {
26249  0
26250  };
26251  Py_ssize_t ii;
26252 
26253  if (!PyTuple_Check(args)) SWIG_fail;
26254  argc = PyObject_Length(args);
26255  for (ii = 0; (ii < 9) && (ii < argc); ii++) {
26256  argv[ii] = PyTuple_GET_ITEM(args,ii);
26257  }
26258  if (argc == 5) {
26259  int _v;
26260  void *vptr = 0;
26261  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26262  _v = SWIG_CheckState(res);
26263  if (_v) {
26264  {
26265  _v = CanConvertToDecisionBuilder(argv[1]);
26266  if (_v == 0) PyErr_Clear();
26267  }
26268  if (_v) {
26269  void *vptr = 0;
26270  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26271  _v = SWIG_CheckState(res);
26272  if (_v) {
26273  {
26274  int res = SWIG_AsVal_bool(argv[3], NULL);
26275  _v = SWIG_CheckState(res);
26276  }
26277  if (_v) {
26278  {
26279  int res = SWIG_AsVal_long(argv[4], NULL);
26280  _v = SWIG_CheckState(res);
26281  }
26282  if (_v) {
26283  return _wrap_Solver_NestedOptimize__SWIG_0(self, args);
26284  }
26285  }
26286  }
26287  }
26288  }
26289  }
26290  if (argc == 6) {
26291  int _v;
26292  void *vptr = 0;
26293  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26294  _v = SWIG_CheckState(res);
26295  if (_v) {
26296  {
26297  _v = CanConvertToDecisionBuilder(argv[1]);
26298  if (_v == 0) PyErr_Clear();
26299  }
26300  if (_v) {
26301  void *vptr = 0;
26302  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26303  _v = SWIG_CheckState(res);
26304  if (_v) {
26305  {
26306  int res = SWIG_AsVal_bool(argv[3], NULL);
26307  _v = SWIG_CheckState(res);
26308  }
26309  if (_v) {
26310  {
26311  int res = SWIG_AsVal_long(argv[4], NULL);
26312  _v = SWIG_CheckState(res);
26313  }
26314  if (_v) {
26315  {
26316  _v = CanConvertToSearchMonitor(argv[5]);
26317  if (_v == 0) PyErr_Clear();
26318  }
26319  if (_v) {
26320  return _wrap_Solver_NestedOptimize__SWIG_1(self, args);
26321  }
26322  }
26323  }
26324  }
26325  }
26326  }
26327  }
26328  if (argc == 6) {
26329  int _v;
26330  void *vptr = 0;
26331  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26332  _v = SWIG_CheckState(res);
26333  if (_v) {
26334  {
26335  _v = CanConvertToDecisionBuilder(argv[1]);
26336  if (_v == 0) PyErr_Clear();
26337  }
26338  if (_v) {
26339  void *vptr = 0;
26340  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26341  _v = SWIG_CheckState(res);
26342  if (_v) {
26343  {
26344  int res = SWIG_AsVal_bool(argv[3], NULL);
26345  _v = SWIG_CheckState(res);
26346  }
26347  if (_v) {
26348  {
26349  int res = SWIG_AsVal_long(argv[4], NULL);
26350  _v = SWIG_CheckState(res);
26351  }
26352  if (_v) {
26353  {
26354  if (!PyTuple_Check(argv[5]) && !PyList_Check(argv[5])) {
26355  _v = 0;
26356  } else {
26357  const bool is_tuple = PyTuple_Check(argv[5]);
26358  const size_t size = is_tuple ? PyTuple_Size(argv[5]) : PyList_Size(argv[5]);
26359  size_t i = 0;
26360  while (i < size && CanConvertToSearchMonitor(is_tuple ? PyTuple_GetItem(argv[5], i)
26361  :PyList_GetItem(argv[5], i))) {
26362  ++i;
26363  }
26364  _v = i == size;
26365  }
26366  }
26367  if (_v) {
26368  return _wrap_Solver_NestedOptimize__SWIG_5(self, args);
26369  }
26370  }
26371  }
26372  }
26373  }
26374  }
26375  }
26376  if (argc == 7) {
26377  int _v;
26378  void *vptr = 0;
26379  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26380  _v = SWIG_CheckState(res);
26381  if (_v) {
26382  {
26383  _v = CanConvertToDecisionBuilder(argv[1]);
26384  if (_v == 0) PyErr_Clear();
26385  }
26386  if (_v) {
26387  void *vptr = 0;
26388  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26389  _v = SWIG_CheckState(res);
26390  if (_v) {
26391  {
26392  int res = SWIG_AsVal_bool(argv[3], NULL);
26393  _v = SWIG_CheckState(res);
26394  }
26395  if (_v) {
26396  {
26397  int res = SWIG_AsVal_long(argv[4], NULL);
26398  _v = SWIG_CheckState(res);
26399  }
26400  if (_v) {
26401  {
26402  _v = CanConvertToSearchMonitor(argv[5]);
26403  if (_v == 0) PyErr_Clear();
26404  }
26405  if (_v) {
26406  {
26407  _v = CanConvertToSearchMonitor(argv[6]);
26408  if (_v == 0) PyErr_Clear();
26409  }
26410  if (_v) {
26411  return _wrap_Solver_NestedOptimize__SWIG_2(self, args);
26412  }
26413  }
26414  }
26415  }
26416  }
26417  }
26418  }
26419  }
26420  if (argc == 8) {
26421  int _v;
26422  void *vptr = 0;
26423  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26424  _v = SWIG_CheckState(res);
26425  if (_v) {
26426  {
26427  _v = CanConvertToDecisionBuilder(argv[1]);
26428  if (_v == 0) PyErr_Clear();
26429  }
26430  if (_v) {
26431  void *vptr = 0;
26432  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26433  _v = SWIG_CheckState(res);
26434  if (_v) {
26435  {
26436  int res = SWIG_AsVal_bool(argv[3], NULL);
26437  _v = SWIG_CheckState(res);
26438  }
26439  if (_v) {
26440  {
26441  int res = SWIG_AsVal_long(argv[4], NULL);
26442  _v = SWIG_CheckState(res);
26443  }
26444  if (_v) {
26445  {
26446  _v = CanConvertToSearchMonitor(argv[5]);
26447  if (_v == 0) PyErr_Clear();
26448  }
26449  if (_v) {
26450  {
26451  _v = CanConvertToSearchMonitor(argv[6]);
26452  if (_v == 0) PyErr_Clear();
26453  }
26454  if (_v) {
26455  {
26456  _v = CanConvertToSearchMonitor(argv[7]);
26457  if (_v == 0) PyErr_Clear();
26458  }
26459  if (_v) {
26460  return _wrap_Solver_NestedOptimize__SWIG_3(self, args);
26461  }
26462  }
26463  }
26464  }
26465  }
26466  }
26467  }
26468  }
26469  }
26470  if (argc == 9) {
26471  int _v;
26472  void *vptr = 0;
26473  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26474  _v = SWIG_CheckState(res);
26475  if (_v) {
26476  {
26477  _v = CanConvertToDecisionBuilder(argv[1]);
26478  if (_v == 0) PyErr_Clear();
26479  }
26480  if (_v) {
26481  void *vptr = 0;
26482  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
26483  _v = SWIG_CheckState(res);
26484  if (_v) {
26485  {
26486  int res = SWIG_AsVal_bool(argv[3], NULL);
26487  _v = SWIG_CheckState(res);
26488  }
26489  if (_v) {
26490  {
26491  int res = SWIG_AsVal_long(argv[4], NULL);
26492  _v = SWIG_CheckState(res);
26493  }
26494  if (_v) {
26495  {
26496  _v = CanConvertToSearchMonitor(argv[5]);
26497  if (_v == 0) PyErr_Clear();
26498  }
26499  if (_v) {
26500  {
26501  _v = CanConvertToSearchMonitor(argv[6]);
26502  if (_v == 0) PyErr_Clear();
26503  }
26504  if (_v) {
26505  {
26506  _v = CanConvertToSearchMonitor(argv[7]);
26507  if (_v == 0) PyErr_Clear();
26508  }
26509  if (_v) {
26510  {
26511  _v = CanConvertToSearchMonitor(argv[8]);
26512  if (_v == 0) PyErr_Clear();
26513  }
26514  if (_v) {
26515  return _wrap_Solver_NestedOptimize__SWIG_4(self, args);
26516  }
26517  }
26518  }
26519  }
26520  }
26521  }
26522  }
26523  }
26524  }
26525  }
26526 
26527 fail:
26528  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_NestedOptimize'.\n"
26529  " Possible C/C++ prototypes are:\n"
26530  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t)\n"
26531  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t,operations_research::SearchMonitor *const)\n"
26532  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
26533  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
26534  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const,operations_research::SearchMonitor *const)\n"
26535  " operations_research::Solver::MakeNestedOptimize(operations_research::DecisionBuilder *const,operations_research::Assignment *const,bool,int64_t,std::vector< operations_research::SearchMonitor * > const &)\n");
26536  return 0;
26537 }
26538 
26539 
26540 SWIGINTERN PyObject *_wrap_Solver_RestoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26541  PyObject *resultobj = 0;
26544  void *argp1 = 0 ;
26545  int res1 = 0 ;
26546  void *argp2 = 0 ;
26547  int res2 = 0 ;
26548  PyObject * obj0 = 0 ;
26549  PyObject * obj1 = 0 ;
26551 
26552  if (!PyArg_UnpackTuple(args, "Solver_RestoreAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
26553  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26554  if (!SWIG_IsOK(res1)) {
26555  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RestoreAssignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
26556  }
26557  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26558  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
26559  if (!SWIG_IsOK(res2)) {
26560  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_RestoreAssignment" "', argument " "2"" of type '" "operations_research::Assignment *""'");
26561  }
26562  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
26563  {
26564  try {
26565  result = (operations_research::DecisionBuilder *)(arg1)->MakeRestoreAssignment(arg2);
26566  }
26567  catch (Swig::DirectorException &e) {
26568  SWIG_fail;
26569  }
26570  }
26572  return resultobj;
26573 fail:
26574  return NULL;
26575 }
26576 
26577 
26578 SWIGINTERN PyObject *_wrap_Solver_StoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26579  PyObject *resultobj = 0;
26582  void *argp1 = 0 ;
26583  int res1 = 0 ;
26584  void *argp2 = 0 ;
26585  int res2 = 0 ;
26586  PyObject * obj0 = 0 ;
26587  PyObject * obj1 = 0 ;
26589 
26590  if (!PyArg_UnpackTuple(args, "Solver_StoreAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
26591  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26592  if (!SWIG_IsOK(res1)) {
26593  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_StoreAssignment" "', argument " "1"" of type '" "operations_research::Solver *""'");
26594  }
26595  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26596  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
26597  if (!SWIG_IsOK(res2)) {
26598  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_StoreAssignment" "', argument " "2"" of type '" "operations_research::Assignment *""'");
26599  }
26600  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
26601  {
26602  try {
26603  result = (operations_research::DecisionBuilder *)(arg1)->MakeStoreAssignment(arg2);
26604  }
26605  catch (Swig::DirectorException &e) {
26606  SWIG_fail;
26607  }
26608  }
26610  return resultobj;
26611 fail:
26612  return NULL;
26613 }
26614 
26615 
26616 SWIGINTERN PyObject *_wrap_Solver_Operator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26617  PyObject *resultobj = 0;
26619  std::vector< operations_research::IntVar * > *arg2 = 0 ;
26621  void *argp1 = 0 ;
26622  int res1 = 0 ;
26623  std::vector< operations_research::IntVar * > temp2 ;
26624  int val3 ;
26625  int ecode3 = 0 ;
26626  PyObject * obj0 = 0 ;
26627  PyObject * obj1 = 0 ;
26628  PyObject * obj2 = 0 ;
26630 
26631  if (!PyArg_UnpackTuple(args, "Solver_Operator", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
26632  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26633  if (!SWIG_IsOK(res1)) {
26634  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Operator" "', argument " "1"" of type '" "operations_research::Solver *""'");
26635  }
26636  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26637  {
26638  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
26639  if (!PyErr_Occurred())
26640  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26641  return NULL;
26642  }
26643  arg2 = &temp2;
26644  }
26645  ecode3 = SWIG_AsVal_int(obj2, &val3);
26646  if (!SWIG_IsOK(ecode3)) {
26647  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_Operator" "', argument " "3"" of type '" "operations_research::Solver::LocalSearchOperators""'");
26648  }
26649  arg3 = static_cast< operations_research::Solver::LocalSearchOperators >(val3);
26650  {
26651  try {
26652  result = (operations_research::LocalSearchOperator *)(arg1)->MakeOperator((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
26653  }
26654  catch (Swig::DirectorException &e) {
26655  SWIG_fail;
26656  }
26657  }
26659  return resultobj;
26660 fail:
26661  return NULL;
26662 }
26663 
26664 
26665 SWIGINTERN PyObject *_wrap_Solver_Operator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26666  PyObject *resultobj = 0;
26668  std::vector< operations_research::IntVar * > *arg2 = 0 ;
26669  std::vector< operations_research::IntVar * > *arg3 = 0 ;
26671  void *argp1 = 0 ;
26672  int res1 = 0 ;
26673  std::vector< operations_research::IntVar * > temp2 ;
26674  std::vector< operations_research::IntVar * > temp3 ;
26675  int val4 ;
26676  int ecode4 = 0 ;
26677  PyObject * obj0 = 0 ;
26678  PyObject * obj1 = 0 ;
26679  PyObject * obj2 = 0 ;
26680  PyObject * obj3 = 0 ;
26682 
26683  if (!PyArg_UnpackTuple(args, "Solver_Operator", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
26684  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26685  if (!SWIG_IsOK(res1)) {
26686  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Operator" "', argument " "1"" of type '" "operations_research::Solver *""'");
26687  }
26688  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26689  {
26690  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
26691  if (!PyErr_Occurred())
26692  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26693  return NULL;
26694  }
26695  arg2 = &temp2;
26696  }
26697  {
26698  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
26699  if (!PyErr_Occurred())
26700  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26701  return NULL;
26702  }
26703  arg3 = &temp3;
26704  }
26705  ecode4 = SWIG_AsVal_int(obj3, &val4);
26706  if (!SWIG_IsOK(ecode4)) {
26707  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Operator" "', argument " "4"" of type '" "operations_research::Solver::LocalSearchOperators""'");
26708  }
26709  arg4 = static_cast< operations_research::Solver::LocalSearchOperators >(val4);
26710  {
26711  try {
26712  result = (operations_research::LocalSearchOperator *)(arg1)->MakeOperator((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4);
26713  }
26714  catch (Swig::DirectorException &e) {
26715  SWIG_fail;
26716  }
26717  }
26719  return resultobj;
26720 fail:
26721  return NULL;
26722 }
26723 
26724 
26725 SWIGINTERN PyObject *_wrap_Solver_Operator__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26726  PyObject *resultobj = 0;
26728  std::vector< operations_research::IntVar * > *arg2 = 0 ;
26731  void *argp1 = 0 ;
26732  int res1 = 0 ;
26733  std::vector< operations_research::IntVar * > temp2 ;
26734  int val4 ;
26735  int ecode4 = 0 ;
26736  PyObject * obj0 = 0 ;
26737  PyObject * obj1 = 0 ;
26738  PyObject * obj2 = 0 ;
26739  PyObject * obj3 = 0 ;
26741 
26742  if (!PyArg_UnpackTuple(args, "Solver_Operator", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
26743  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26744  if (!SWIG_IsOK(res1)) {
26745  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Operator" "', argument " "1"" of type '" "operations_research::Solver *""'");
26746  }
26747  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26748  {
26749  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
26750  if (!PyErr_Occurred())
26751  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26752  return NULL;
26753  }
26754  arg2 = &temp2;
26755  }
26756  {
26757  SharedPyPtr input(obj2);
26758  arg3 = [input](int64_t i, int64_t j, int64_t k) {
26759  return InvokePythonCallableReturning<int64_t>(input.get(), "LLL", i, j, k);
26760  };
26761  }
26762  ecode4 = SWIG_AsVal_int(obj3, &val4);
26763  if (!SWIG_IsOK(ecode4)) {
26764  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_Operator" "', argument " "4"" of type '" "operations_research::Solver::EvaluatorLocalSearchOperators""'");
26765  }
26766  arg4 = static_cast< operations_research::Solver::EvaluatorLocalSearchOperators >(val4);
26767  {
26768  try {
26769  result = (operations_research::LocalSearchOperator *)(arg1)->MakeOperator((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
26770  }
26771  catch (Swig::DirectorException &e) {
26772  SWIG_fail;
26773  }
26774  }
26776  return resultobj;
26777 fail:
26778  return NULL;
26779 }
26780 
26781 
26782 SWIGINTERN PyObject *_wrap_Solver_Operator__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
26783  PyObject *resultobj = 0;
26785  std::vector< operations_research::IntVar * > *arg2 = 0 ;
26786  std::vector< operations_research::IntVar * > *arg3 = 0 ;
26789  void *argp1 = 0 ;
26790  int res1 = 0 ;
26791  std::vector< operations_research::IntVar * > temp2 ;
26792  std::vector< operations_research::IntVar * > temp3 ;
26793  int val5 ;
26794  int ecode5 = 0 ;
26795  PyObject * obj0 = 0 ;
26796  PyObject * obj1 = 0 ;
26797  PyObject * obj2 = 0 ;
26798  PyObject * obj3 = 0 ;
26799  PyObject * obj4 = 0 ;
26801 
26802  if (!PyArg_UnpackTuple(args, "Solver_Operator", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
26803  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
26804  if (!SWIG_IsOK(res1)) {
26805  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Operator" "', argument " "1"" of type '" "operations_research::Solver *""'");
26806  }
26807  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
26808  {
26809  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
26810  if (!PyErr_Occurred())
26811  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26812  return NULL;
26813  }
26814  arg2 = &temp2;
26815  }
26816  {
26817  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
26818  if (!PyErr_Occurred())
26819  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
26820  return NULL;
26821  }
26822  arg3 = &temp3;
26823  }
26824  {
26825  SharedPyPtr input(obj3);
26826  arg4 = [input](int64_t i, int64_t j, int64_t k) {
26827  return InvokePythonCallableReturning<int64_t>(input.get(), "LLL", i, j, k);
26828  };
26829  }
26830  ecode5 = SWIG_AsVal_int(obj4, &val5);
26831  if (!SWIG_IsOK(ecode5)) {
26832  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_Operator" "', argument " "5"" of type '" "operations_research::Solver::EvaluatorLocalSearchOperators""'");
26833  }
26834  arg5 = static_cast< operations_research::Solver::EvaluatorLocalSearchOperators >(val5);
26835  {
26836  try {
26837  result = (operations_research::LocalSearchOperator *)(arg1)->MakeOperator((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4,arg5);
26838  }
26839  catch (Swig::DirectorException &e) {
26840  SWIG_fail;
26841  }
26842  }
26844  return resultobj;
26845 fail:
26846  return NULL;
26847 }
26848 
26849 
26850 SWIGINTERN PyObject *_wrap_Solver_Operator(PyObject *self, PyObject *args) {
26851  Py_ssize_t argc;
26852  PyObject *argv[6] = {
26853  0
26854  };
26855  Py_ssize_t ii;
26856 
26857  if (!PyTuple_Check(args)) SWIG_fail;
26858  argc = PyObject_Length(args);
26859  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
26860  argv[ii] = PyTuple_GET_ITEM(args,ii);
26861  }
26862  if (argc == 3) {
26863  int _v;
26864  void *vptr = 0;
26865  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26866  _v = SWIG_CheckState(res);
26867  if (_v) {
26868  {
26869  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
26870  _v = 0;
26871  } else {
26872  const bool is_tuple = PyTuple_Check(argv[1]);
26873  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
26874  size_t i = 0;
26875  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
26876  :PyList_GetItem(argv[1], i))) {
26877  ++i;
26878  }
26879  _v = i == size;
26880  }
26881  }
26882  if (_v) {
26883  {
26884  int res = SWIG_AsVal_int(argv[2], NULL);
26885  _v = SWIG_CheckState(res);
26886  }
26887  if (_v) {
26888  return _wrap_Solver_Operator__SWIG_0(self, args);
26889  }
26890  }
26891  }
26892  }
26893  if (argc == 4) {
26894  int _v;
26895  void *vptr = 0;
26896  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26897  _v = SWIG_CheckState(res);
26898  if (_v) {
26899  {
26900  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
26901  _v = 0;
26902  } else {
26903  const bool is_tuple = PyTuple_Check(argv[1]);
26904  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
26905  size_t i = 0;
26906  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
26907  :PyList_GetItem(argv[1], i))) {
26908  ++i;
26909  }
26910  _v = i == size;
26911  }
26912  }
26913  if (_v) {
26914  {
26915  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
26916  _v = 0;
26917  } else {
26918  const bool is_tuple = PyTuple_Check(argv[2]);
26919  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
26920  size_t i = 0;
26921  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
26922  :PyList_GetItem(argv[2], i))) {
26923  ++i;
26924  }
26925  _v = i == size;
26926  }
26927  }
26928  if (_v) {
26929  {
26930  int res = SWIG_AsVal_int(argv[3], NULL);
26931  _v = SWIG_CheckState(res);
26932  }
26933  if (_v) {
26934  return _wrap_Solver_Operator__SWIG_1(self, args);
26935  }
26936  }
26937  }
26938  }
26939  }
26940  if (argc == 4) {
26941  int _v;
26942  void *vptr = 0;
26943  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26944  _v = SWIG_CheckState(res);
26945  if (_v) {
26946  {
26947  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
26948  _v = 0;
26949  } else {
26950  const bool is_tuple = PyTuple_Check(argv[1]);
26951  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
26952  size_t i = 0;
26953  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
26954  :PyList_GetItem(argv[1], i))) {
26955  ++i;
26956  }
26957  _v = i == size;
26958  }
26959  }
26960  if (_v) {
26961  {
26962  _v = PyCallable_Check(argv[2]);
26963  }
26964  if (_v) {
26965  {
26966  int res = SWIG_AsVal_int(argv[3], NULL);
26967  _v = SWIG_CheckState(res);
26968  }
26969  if (_v) {
26970  return _wrap_Solver_Operator__SWIG_2(self, args);
26971  }
26972  }
26973  }
26974  }
26975  }
26976  if (argc == 5) {
26977  int _v;
26978  void *vptr = 0;
26979  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
26980  _v = SWIG_CheckState(res);
26981  if (_v) {
26982  {
26983  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
26984  _v = 0;
26985  } else {
26986  const bool is_tuple = PyTuple_Check(argv[1]);
26987  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
26988  size_t i = 0;
26989  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
26990  :PyList_GetItem(argv[1], i))) {
26991  ++i;
26992  }
26993  _v = i == size;
26994  }
26995  }
26996  if (_v) {
26997  {
26998  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
26999  _v = 0;
27000  } else {
27001  const bool is_tuple = PyTuple_Check(argv[2]);
27002  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
27003  size_t i = 0;
27004  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
27005  :PyList_GetItem(argv[2], i))) {
27006  ++i;
27007  }
27008  _v = i == size;
27009  }
27010  }
27011  if (_v) {
27012  {
27013  _v = PyCallable_Check(argv[3]);
27014  }
27015  if (_v) {
27016  {
27017  int res = SWIG_AsVal_int(argv[4], NULL);
27018  _v = SWIG_CheckState(res);
27019  }
27020  if (_v) {
27021  return _wrap_Solver_Operator__SWIG_3(self, args);
27022  }
27023  }
27024  }
27025  }
27026  }
27027  }
27028 
27029 fail:
27030  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_Operator'.\n"
27031  " Possible C/C++ prototypes are:\n"
27032  " operations_research::Solver::MakeOperator(std::vector< operations_research::IntVar * > const &,operations_research::Solver::LocalSearchOperators)\n"
27033  " operations_research::Solver::MakeOperator(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::Solver::LocalSearchOperators)\n"
27034  " operations_research::Solver::MakeOperator(std::vector< operations_research::IntVar * > const &,operations_research::Solver::IndexEvaluator3,operations_research::Solver::EvaluatorLocalSearchOperators)\n"
27035  " operations_research::Solver::MakeOperator(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::Solver::IndexEvaluator3,operations_research::Solver::EvaluatorLocalSearchOperators)\n");
27036  return 0;
27037 }
27038 
27039 
27040 SWIGINTERN PyObject *_wrap_Solver_RandomLnsOperator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27041  PyObject *resultobj = 0;
27043  std::vector< operations_research::IntVar * > *arg2 = 0 ;
27044  int arg3 ;
27045  void *argp1 = 0 ;
27046  int res1 = 0 ;
27047  std::vector< operations_research::IntVar * > temp2 ;
27048  int val3 ;
27049  int ecode3 = 0 ;
27050  PyObject * obj0 = 0 ;
27051  PyObject * obj1 = 0 ;
27052  PyObject * obj2 = 0 ;
27054 
27055  if (!PyArg_UnpackTuple(args, "Solver_RandomLnsOperator", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27056  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27057  if (!SWIG_IsOK(res1)) {
27058  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RandomLnsOperator" "', argument " "1"" of type '" "operations_research::Solver *""'");
27059  }
27060  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27061  {
27062  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
27063  if (!PyErr_Occurred())
27064  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
27065  return NULL;
27066  }
27067  arg2 = &temp2;
27068  }
27069  ecode3 = SWIG_AsVal_int(obj2, &val3);
27070  if (!SWIG_IsOK(ecode3)) {
27071  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_RandomLnsOperator" "', argument " "3"" of type '" "int""'");
27072  }
27073  arg3 = static_cast< int >(val3);
27074  {
27075  try {
27076  result = (operations_research::LocalSearchOperator *)(arg1)->MakeRandomLnsOperator((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
27077  }
27078  catch (Swig::DirectorException &e) {
27079  SWIG_fail;
27080  }
27081  }
27083  return resultobj;
27084 fail:
27085  return NULL;
27086 }
27087 
27088 
27089 SWIGINTERN PyObject *_wrap_Solver_RandomLnsOperator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27090  PyObject *resultobj = 0;
27092  std::vector< operations_research::IntVar * > *arg2 = 0 ;
27093  int arg3 ;
27094  int32_t arg4 ;
27095  void *argp1 = 0 ;
27096  int res1 = 0 ;
27097  std::vector< operations_research::IntVar * > temp2 ;
27098  int val3 ;
27099  int ecode3 = 0 ;
27100  int val4 ;
27101  int ecode4 = 0 ;
27102  PyObject * obj0 = 0 ;
27103  PyObject * obj1 = 0 ;
27104  PyObject * obj2 = 0 ;
27105  PyObject * obj3 = 0 ;
27107 
27108  if (!PyArg_UnpackTuple(args, "Solver_RandomLnsOperator", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
27109  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27110  if (!SWIG_IsOK(res1)) {
27111  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RandomLnsOperator" "', argument " "1"" of type '" "operations_research::Solver *""'");
27112  }
27113  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27114  {
27115  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
27116  if (!PyErr_Occurred())
27117  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
27118  return NULL;
27119  }
27120  arg2 = &temp2;
27121  }
27122  ecode3 = SWIG_AsVal_int(obj2, &val3);
27123  if (!SWIG_IsOK(ecode3)) {
27124  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_RandomLnsOperator" "', argument " "3"" of type '" "int""'");
27125  }
27126  arg3 = static_cast< int >(val3);
27127  ecode4 = SWIG_AsVal_int(obj3, &val4);
27128  if (!SWIG_IsOK(ecode4)) {
27129  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_RandomLnsOperator" "', argument " "4"" of type '" "int32_t""'");
27130  }
27131  arg4 = static_cast< int32_t >(val4);
27132  {
27133  try {
27134  result = (operations_research::LocalSearchOperator *)(arg1)->MakeRandomLnsOperator((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
27135  }
27136  catch (Swig::DirectorException &e) {
27137  SWIG_fail;
27138  }
27139  }
27141  return resultobj;
27142 fail:
27143  return NULL;
27144 }
27145 
27146 
27147 SWIGINTERN PyObject *_wrap_Solver_RandomLnsOperator(PyObject *self, PyObject *args) {
27148  Py_ssize_t argc;
27149  PyObject *argv[5] = {
27150  0
27151  };
27152  Py_ssize_t ii;
27153 
27154  if (!PyTuple_Check(args)) SWIG_fail;
27155  argc = PyObject_Length(args);
27156  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
27157  argv[ii] = PyTuple_GET_ITEM(args,ii);
27158  }
27159  if (argc == 3) {
27160  int _v;
27161  void *vptr = 0;
27162  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27163  _v = SWIG_CheckState(res);
27164  if (_v) {
27165  {
27166  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27167  _v = 0;
27168  } else {
27169  const bool is_tuple = PyTuple_Check(argv[1]);
27170  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27171  size_t i = 0;
27172  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
27173  :PyList_GetItem(argv[1], i))) {
27174  ++i;
27175  }
27176  _v = i == size;
27177  }
27178  }
27179  if (_v) {
27180  {
27181  int res = SWIG_AsVal_int(argv[2], NULL);
27182  _v = SWIG_CheckState(res);
27183  }
27184  if (_v) {
27185  return _wrap_Solver_RandomLnsOperator__SWIG_0(self, args);
27186  }
27187  }
27188  }
27189  }
27190  if (argc == 4) {
27191  int _v;
27192  void *vptr = 0;
27193  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27194  _v = SWIG_CheckState(res);
27195  if (_v) {
27196  {
27197  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27198  _v = 0;
27199  } else {
27200  const bool is_tuple = PyTuple_Check(argv[1]);
27201  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27202  size_t i = 0;
27203  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
27204  :PyList_GetItem(argv[1], i))) {
27205  ++i;
27206  }
27207  _v = i == size;
27208  }
27209  }
27210  if (_v) {
27211  {
27212  int res = SWIG_AsVal_int(argv[2], NULL);
27213  _v = SWIG_CheckState(res);
27214  }
27215  if (_v) {
27216  {
27217  int res = SWIG_AsVal_int(argv[3], NULL);
27218  _v = SWIG_CheckState(res);
27219  }
27220  if (_v) {
27221  return _wrap_Solver_RandomLnsOperator__SWIG_1(self, args);
27222  }
27223  }
27224  }
27225  }
27226  }
27227 
27228 fail:
27229  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_RandomLnsOperator'.\n"
27230  " Possible C/C++ prototypes are:\n"
27231  " operations_research::Solver::MakeRandomLnsOperator(std::vector< operations_research::IntVar * > const &,int)\n"
27232  " operations_research::Solver::MakeRandomLnsOperator(std::vector< operations_research::IntVar * > const &,int,int32_t)\n");
27233  return 0;
27234 }
27235 
27236 
27238  PyObject *resultobj = 0;
27241  void *argp1 = 0 ;
27242  int res1 = 0 ;
27243  void *argp2 = 0 ;
27244  int res2 = 0 ;
27245  PyObject * obj0 = 0 ;
27246  PyObject * obj1 = 0 ;
27248 
27249  if (!PyArg_UnpackTuple(args, "Solver_MoveTowardTargetOperator", 2, 2, &obj0, &obj1)) SWIG_fail;
27250  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27251  if (!SWIG_IsOK(res1)) {
27252  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MoveTowardTargetOperator" "', argument " "1"" of type '" "operations_research::Solver *""'");
27253  }
27254  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27255  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
27256  if (!SWIG_IsOK(res2)) {
27257  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_MoveTowardTargetOperator" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
27258  }
27259  if (!argp2) {
27260  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Solver_MoveTowardTargetOperator" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
27261  }
27262  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
27263  {
27264  try {
27265  result = (operations_research::LocalSearchOperator *)(arg1)->MakeMoveTowardTargetOperator((operations_research::Assignment const &)*arg2);
27266  }
27267  catch (Swig::DirectorException &e) {
27268  SWIG_fail;
27269  }
27270  }
27272  return resultobj;
27273 fail:
27274  return NULL;
27275 }
27276 
27277 
27279  PyObject *resultobj = 0;
27281  std::vector< operations_research::IntVar * > *arg2 = 0 ;
27282  std::vector< int64_t > *arg3 = 0 ;
27283  void *argp1 = 0 ;
27284  int res1 = 0 ;
27285  std::vector< operations_research::IntVar * > temp2 ;
27286  std::vector< int64_t > temp3 ;
27287  PyObject * obj0 = 0 ;
27288  PyObject * obj1 = 0 ;
27289  PyObject * obj2 = 0 ;
27291 
27292  if (!PyArg_UnpackTuple(args, "Solver_MoveTowardTargetOperator", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27293  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27294  if (!SWIG_IsOK(res1)) {
27295  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_MoveTowardTargetOperator" "', argument " "1"" of type '" "operations_research::Solver *""'");
27296  }
27297  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27298  {
27299  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
27300  if (!PyErr_Occurred())
27301  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
27302  return NULL;
27303  }
27304  arg2 = &temp2;
27305  }
27306  {
27307  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
27308  if (!PyErr_Occurred())
27309  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
27310  return NULL;
27311  }
27312  arg3 = &temp3;
27313  }
27314  {
27315  try {
27316  result = (operations_research::LocalSearchOperator *)(arg1)->MakeMoveTowardTargetOperator((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3);
27317  }
27318  catch (Swig::DirectorException &e) {
27319  SWIG_fail;
27320  }
27321  }
27323  return resultobj;
27324 fail:
27325  return NULL;
27326 }
27327 
27328 
27329 SWIGINTERN PyObject *_wrap_Solver_MoveTowardTargetOperator(PyObject *self, PyObject *args) {
27330  Py_ssize_t argc;
27331  PyObject *argv[4] = {
27332  0
27333  };
27334  Py_ssize_t ii;
27335 
27336  if (!PyTuple_Check(args)) SWIG_fail;
27337  argc = PyObject_Length(args);
27338  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
27339  argv[ii] = PyTuple_GET_ITEM(args,ii);
27340  }
27341  if (argc == 2) {
27342  int _v;
27343  void *vptr = 0;
27344  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27345  _v = SWIG_CheckState(res);
27346  if (_v) {
27348  _v = SWIG_CheckState(res);
27349  if (_v) {
27351  }
27352  }
27353  }
27354  if (argc == 3) {
27355  int _v;
27356  void *vptr = 0;
27357  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27358  _v = SWIG_CheckState(res);
27359  if (_v) {
27360  {
27361  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27362  _v = 0;
27363  } else {
27364  const bool is_tuple = PyTuple_Check(argv[1]);
27365  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27366  size_t i = 0;
27367  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
27368  :PyList_GetItem(argv[1], i))) {
27369  ++i;
27370  }
27371  _v = i == size;
27372  }
27373  }
27374  if (_v) {
27375  {
27376  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
27377  _v = 0;
27378  } else {
27379  const bool is_tuple = PyTuple_Check(argv[2]);
27380  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
27381  size_t i = 0;
27382  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
27383  :PyList_GetItem(argv[2], i))) {
27384  ++i;
27385  }
27386  _v = i == size;
27387  }
27388  }
27389  if (_v) {
27391  }
27392  }
27393  }
27394  }
27395 
27396 fail:
27397  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_MoveTowardTargetOperator'.\n"
27398  " Possible C/C++ prototypes are:\n"
27399  " operations_research::Solver::MakeMoveTowardTargetOperator(operations_research::Assignment const &)\n"
27400  " operations_research::Solver::MakeMoveTowardTargetOperator(std::vector< operations_research::IntVar * > const &,std::vector< int64_t > const &)\n");
27401  return 0;
27402 }
27403 
27404 
27405 SWIGINTERN PyObject *_wrap_Solver_ConcatenateOperators__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27406  PyObject *resultobj = 0;
27408  std::vector< operations_research::LocalSearchOperator * > *arg2 = 0 ;
27409  void *argp1 = 0 ;
27410  int res1 = 0 ;
27411  std::vector< operations_research::LocalSearchOperator * > temp2 ;
27412  PyObject * obj0 = 0 ;
27413  PyObject * obj1 = 0 ;
27415 
27416  if (!PyArg_UnpackTuple(args, "Solver_ConcatenateOperators", 2, 2, &obj0, &obj1)) SWIG_fail;
27417  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27418  if (!SWIG_IsOK(res1)) {
27419  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConcatenateOperators" "', argument " "1"" of type '" "operations_research::Solver *""'");
27420  }
27421  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27422  {
27423  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::LocalSearchOperator*>)) {
27424  if (!PyErr_Occurred())
27425  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchOperator*) expected");
27426  return NULL;
27427  }
27428  arg2 = &temp2;
27429  }
27430  {
27431  try {
27432  result = (operations_research::LocalSearchOperator *)(arg1)->ConcatenateOperators((std::vector< operations_research::LocalSearchOperator * > const &)*arg2);
27433  }
27434  catch (Swig::DirectorException &e) {
27435  SWIG_fail;
27436  }
27437  }
27439  return resultobj;
27440 fail:
27441  return NULL;
27442 }
27443 
27444 
27445 SWIGINTERN PyObject *_wrap_Solver_ConcatenateOperators__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27446  PyObject *resultobj = 0;
27448  std::vector< operations_research::LocalSearchOperator * > *arg2 = 0 ;
27449  bool arg3 ;
27450  void *argp1 = 0 ;
27451  int res1 = 0 ;
27452  std::vector< operations_research::LocalSearchOperator * > temp2 ;
27453  bool val3 ;
27454  int ecode3 = 0 ;
27455  PyObject * obj0 = 0 ;
27456  PyObject * obj1 = 0 ;
27457  PyObject * obj2 = 0 ;
27459 
27460  if (!PyArg_UnpackTuple(args, "Solver_ConcatenateOperators", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27461  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27462  if (!SWIG_IsOK(res1)) {
27463  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConcatenateOperators" "', argument " "1"" of type '" "operations_research::Solver *""'");
27464  }
27465  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27466  {
27467  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::LocalSearchOperator*>)) {
27468  if (!PyErr_Occurred())
27469  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchOperator*) expected");
27470  return NULL;
27471  }
27472  arg2 = &temp2;
27473  }
27474  ecode3 = SWIG_AsVal_bool(obj2, &val3);
27475  if (!SWIG_IsOK(ecode3)) {
27476  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_ConcatenateOperators" "', argument " "3"" of type '" "bool""'");
27477  }
27478  arg3 = static_cast< bool >(val3);
27479  {
27480  try {
27481  result = (operations_research::LocalSearchOperator *)(arg1)->ConcatenateOperators((std::vector< operations_research::LocalSearchOperator * > const &)*arg2,arg3);
27482  }
27483  catch (Swig::DirectorException &e) {
27484  SWIG_fail;
27485  }
27486  }
27488  return resultobj;
27489 fail:
27490  return NULL;
27491 }
27492 
27493 
27494 SWIGINTERN PyObject *_wrap_Solver_ConcatenateOperators__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27495  PyObject *resultobj = 0;
27497  std::vector< operations_research::LocalSearchOperator * > *arg2 = 0 ;
27498  std::function< int64_t (int,int) > arg3 ;
27499  void *argp1 = 0 ;
27500  int res1 = 0 ;
27501  std::vector< operations_research::LocalSearchOperator * > temp2 ;
27502  PyObject * obj0 = 0 ;
27503  PyObject * obj1 = 0 ;
27504  PyObject * obj2 = 0 ;
27506 
27507  if (!PyArg_UnpackTuple(args, "Solver_ConcatenateOperators", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27508  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27509  if (!SWIG_IsOK(res1)) {
27510  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ConcatenateOperators" "', argument " "1"" of type '" "operations_research::Solver *""'");
27511  }
27512  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27513  {
27514  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::LocalSearchOperator*>)) {
27515  if (!PyErr_Occurred())
27516  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchOperator*) expected");
27517  return NULL;
27518  }
27519  arg2 = &temp2;
27520  }
27521  {
27522  SharedPyPtr input(obj2);
27523  arg3 = [input](int i, int j) {
27524  return InvokePythonCallableReturning<int64_t>(input.get(), "ii", i, j);
27525  };
27526  }
27527  {
27528  try {
27529  result = (operations_research::LocalSearchOperator *)(arg1)->ConcatenateOperators((std::vector< operations_research::LocalSearchOperator * > const &)*arg2,arg3);
27530  }
27531  catch (Swig::DirectorException &e) {
27532  SWIG_fail;
27533  }
27534  }
27536  return resultobj;
27537 fail:
27538  return NULL;
27539 }
27540 
27541 
27542 SWIGINTERN PyObject *_wrap_Solver_ConcatenateOperators(PyObject *self, PyObject *args) {
27543  Py_ssize_t argc;
27544  PyObject *argv[4] = {
27545  0
27546  };
27547  Py_ssize_t ii;
27548 
27549  if (!PyTuple_Check(args)) SWIG_fail;
27550  argc = PyObject_Length(args);
27551  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
27552  argv[ii] = PyTuple_GET_ITEM(args,ii);
27553  }
27554  if (argc == 2) {
27555  int _v;
27556  void *vptr = 0;
27557  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27558  _v = SWIG_CheckState(res);
27559  if (_v) {
27560  {
27561  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27562  _v = 0;
27563  } else {
27564  const bool is_tuple = PyTuple_Check(argv[1]);
27565  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27566  size_t i = 0;
27567  while (i < size && CanConvertToLocalSearchOperator(is_tuple ? PyTuple_GetItem(argv[1], i)
27568  :PyList_GetItem(argv[1], i))) {
27569  ++i;
27570  }
27571  _v = i == size;
27572  }
27573  }
27574  if (_v) {
27575  return _wrap_Solver_ConcatenateOperators__SWIG_0(self, args);
27576  }
27577  }
27578  }
27579  if (argc == 3) {
27580  int _v;
27581  void *vptr = 0;
27582  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27583  _v = SWIG_CheckState(res);
27584  if (_v) {
27585  {
27586  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27587  _v = 0;
27588  } else {
27589  const bool is_tuple = PyTuple_Check(argv[1]);
27590  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27591  size_t i = 0;
27592  while (i < size && CanConvertToLocalSearchOperator(is_tuple ? PyTuple_GetItem(argv[1], i)
27593  :PyList_GetItem(argv[1], i))) {
27594  ++i;
27595  }
27596  _v = i == size;
27597  }
27598  }
27599  if (_v) {
27600  {
27601  _v = PyCallable_Check(argv[2]);
27602  }
27603  if (_v) {
27604  return _wrap_Solver_ConcatenateOperators__SWIG_2(self, args);
27605  }
27606  }
27607  }
27608  }
27609  if (argc == 3) {
27610  int _v;
27611  void *vptr = 0;
27612  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27613  _v = SWIG_CheckState(res);
27614  if (_v) {
27615  {
27616  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27617  _v = 0;
27618  } else {
27619  const bool is_tuple = PyTuple_Check(argv[1]);
27620  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27621  size_t i = 0;
27622  while (i < size && CanConvertToLocalSearchOperator(is_tuple ? PyTuple_GetItem(argv[1], i)
27623  :PyList_GetItem(argv[1], i))) {
27624  ++i;
27625  }
27626  _v = i == size;
27627  }
27628  }
27629  if (_v) {
27630  {
27631  int res = SWIG_AsVal_bool(argv[2], NULL);
27632  _v = SWIG_CheckState(res);
27633  }
27634  if (_v) {
27635  return _wrap_Solver_ConcatenateOperators__SWIG_1(self, args);
27636  }
27637  }
27638  }
27639  }
27640 
27641 fail:
27642  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_ConcatenateOperators'.\n"
27643  " Possible C/C++ prototypes are:\n"
27644  " operations_research::Solver::ConcatenateOperators(std::vector< operations_research::LocalSearchOperator * > const &)\n"
27645  " operations_research::Solver::ConcatenateOperators(std::vector< operations_research::LocalSearchOperator * > const &,bool)\n"
27646  " operations_research::Solver::ConcatenateOperators(std::vector< operations_research::LocalSearchOperator * > const &,std::function< int64_t (int,int) >)\n");
27647  return 0;
27648 }
27649 
27650 
27652  PyObject *resultobj = 0;
27654  std::vector< operations_research::LocalSearchOperator * > *arg2 = 0 ;
27655  void *argp1 = 0 ;
27656  int res1 = 0 ;
27657  std::vector< operations_research::LocalSearchOperator * > temp2 ;
27658  PyObject * obj0 = 0 ;
27659  PyObject * obj1 = 0 ;
27661 
27662  if (!PyArg_UnpackTuple(args, "Solver_RandomConcatenateOperators", 2, 2, &obj0, &obj1)) SWIG_fail;
27663  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27664  if (!SWIG_IsOK(res1)) {
27665  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RandomConcatenateOperators" "', argument " "1"" of type '" "operations_research::Solver *""'");
27666  }
27667  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27668  {
27669  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::LocalSearchOperator*>)) {
27670  if (!PyErr_Occurred())
27671  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchOperator*) expected");
27672  return NULL;
27673  }
27674  arg2 = &temp2;
27675  }
27676  {
27677  try {
27678  result = (operations_research::LocalSearchOperator *)(arg1)->RandomConcatenateOperators((std::vector< operations_research::LocalSearchOperator * > const &)*arg2);
27679  }
27680  catch (Swig::DirectorException &e) {
27681  SWIG_fail;
27682  }
27683  }
27685  return resultobj;
27686 fail:
27687  return NULL;
27688 }
27689 
27690 
27692  PyObject *resultobj = 0;
27694  std::vector< operations_research::LocalSearchOperator * > *arg2 = 0 ;
27695  int32_t arg3 ;
27696  void *argp1 = 0 ;
27697  int res1 = 0 ;
27698  std::vector< operations_research::LocalSearchOperator * > temp2 ;
27699  int val3 ;
27700  int ecode3 = 0 ;
27701  PyObject * obj0 = 0 ;
27702  PyObject * obj1 = 0 ;
27703  PyObject * obj2 = 0 ;
27705 
27706  if (!PyArg_UnpackTuple(args, "Solver_RandomConcatenateOperators", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27707  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27708  if (!SWIG_IsOK(res1)) {
27709  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RandomConcatenateOperators" "', argument " "1"" of type '" "operations_research::Solver *""'");
27710  }
27711  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27712  {
27713  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::LocalSearchOperator*>)) {
27714  if (!PyErr_Occurred())
27715  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchOperator*) expected");
27716  return NULL;
27717  }
27718  arg2 = &temp2;
27719  }
27720  ecode3 = SWIG_AsVal_int(obj2, &val3);
27721  if (!SWIG_IsOK(ecode3)) {
27722  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_RandomConcatenateOperators" "', argument " "3"" of type '" "int32_t""'");
27723  }
27724  arg3 = static_cast< int32_t >(val3);
27725  {
27726  try {
27727  result = (operations_research::LocalSearchOperator *)(arg1)->RandomConcatenateOperators((std::vector< operations_research::LocalSearchOperator * > const &)*arg2,arg3);
27728  }
27729  catch (Swig::DirectorException &e) {
27730  SWIG_fail;
27731  }
27732  }
27734  return resultobj;
27735 fail:
27736  return NULL;
27737 }
27738 
27739 
27740 SWIGINTERN PyObject *_wrap_Solver_RandomConcatenateOperators(PyObject *self, PyObject *args) {
27741  Py_ssize_t argc;
27742  PyObject *argv[4] = {
27743  0
27744  };
27745  Py_ssize_t ii;
27746 
27747  if (!PyTuple_Check(args)) SWIG_fail;
27748  argc = PyObject_Length(args);
27749  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
27750  argv[ii] = PyTuple_GET_ITEM(args,ii);
27751  }
27752  if (argc == 2) {
27753  int _v;
27754  void *vptr = 0;
27755  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27756  _v = SWIG_CheckState(res);
27757  if (_v) {
27758  {
27759  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27760  _v = 0;
27761  } else {
27762  const bool is_tuple = PyTuple_Check(argv[1]);
27763  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27764  size_t i = 0;
27765  while (i < size && CanConvertToLocalSearchOperator(is_tuple ? PyTuple_GetItem(argv[1], i)
27766  :PyList_GetItem(argv[1], i))) {
27767  ++i;
27768  }
27769  _v = i == size;
27770  }
27771  }
27772  if (_v) {
27774  }
27775  }
27776  }
27777  if (argc == 3) {
27778  int _v;
27779  void *vptr = 0;
27780  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
27781  _v = SWIG_CheckState(res);
27782  if (_v) {
27783  {
27784  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
27785  _v = 0;
27786  } else {
27787  const bool is_tuple = PyTuple_Check(argv[1]);
27788  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
27789  size_t i = 0;
27790  while (i < size && CanConvertToLocalSearchOperator(is_tuple ? PyTuple_GetItem(argv[1], i)
27791  :PyList_GetItem(argv[1], i))) {
27792  ++i;
27793  }
27794  _v = i == size;
27795  }
27796  }
27797  if (_v) {
27798  {
27799  int res = SWIG_AsVal_int(argv[2], NULL);
27800  _v = SWIG_CheckState(res);
27801  }
27802  if (_v) {
27804  }
27805  }
27806  }
27807  }
27808 
27809 fail:
27810  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_RandomConcatenateOperators'.\n"
27811  " Possible C/C++ prototypes are:\n"
27812  " operations_research::Solver::RandomConcatenateOperators(std::vector< operations_research::LocalSearchOperator * > const &)\n"
27813  " operations_research::Solver::RandomConcatenateOperators(std::vector< operations_research::LocalSearchOperator * > const &,int32_t)\n");
27814  return 0;
27815 }
27816 
27817 
27818 SWIGINTERN PyObject *_wrap_Solver_NeighborhoodLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27819  PyObject *resultobj = 0;
27822  int64_t arg3 ;
27823  void *argp1 = 0 ;
27824  int res1 = 0 ;
27825  long val3 ;
27826  int ecode3 = 0 ;
27827  PyObject * obj0 = 0 ;
27828  PyObject * obj1 = 0 ;
27829  PyObject * obj2 = 0 ;
27831 
27832  if (!PyArg_UnpackTuple(args, "Solver_NeighborhoodLimit", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27833  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27834  if (!SWIG_IsOK(res1)) {
27835  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_NeighborhoodLimit" "', argument " "1"" of type '" "operations_research::Solver *""'");
27836  }
27837  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27838  {
27839  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
27840  }
27841  ecode3 = SWIG_AsVal_long(obj2, &val3);
27842  if (!SWIG_IsOK(ecode3)) {
27843  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_NeighborhoodLimit" "', argument " "3"" of type '" "int64_t""'");
27844  }
27845  arg3 = static_cast< int64_t >(val3);
27846  {
27847  try {
27848  result = (operations_research::LocalSearchOperator *)(arg1)->MakeNeighborhoodLimit(arg2,arg3);
27849  }
27850  catch (Swig::DirectorException &e) {
27851  SWIG_fail;
27852  }
27853  }
27855  return resultobj;
27856 fail:
27857  return NULL;
27858 }
27859 
27860 
27861 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27862  PyObject *resultobj = 0;
27866  void *argp1 = 0 ;
27867  int res1 = 0 ;
27868  void *argp2 = 0 ;
27869  int res2 = 0 ;
27870  void *argp3 = 0 ;
27871  int res3 = 0 ;
27872  PyObject * obj0 = 0 ;
27873  PyObject * obj1 = 0 ;
27874  PyObject * obj2 = 0 ;
27876 
27877  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhase", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
27878  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27879  if (!SWIG_IsOK(res1)) {
27880  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
27881  }
27882  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27883  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
27884  if (!SWIG_IsOK(res2)) {
27885  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhase" "', argument " "2"" of type '" "operations_research::Assignment *const""'");
27886  }
27887  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
27889  if (!SWIG_IsOK(res3)) {
27890  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_LocalSearchPhase" "', argument " "3"" of type '" "operations_research::LocalSearchPhaseParameters *const""'");
27891  }
27892  arg3 = reinterpret_cast< operations_research::LocalSearchPhaseParameters * >(argp3);
27893  {
27894  try {
27895  result = (operations_research::DecisionBuilder *)(arg1)->MakeLocalSearchPhase(arg2,arg3);
27896  }
27897  catch (Swig::DirectorException &e) {
27898  SWIG_fail;
27899  }
27900  }
27902  return resultobj;
27903 fail:
27904  return NULL;
27905 }
27906 
27907 
27908 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27909  PyObject *resultobj = 0;
27911  std::vector< operations_research::IntVar * > *arg2 = 0 ;
27914  void *argp1 = 0 ;
27915  int res1 = 0 ;
27916  std::vector< operations_research::IntVar * > temp2 ;
27917  void *argp4 = 0 ;
27918  int res4 = 0 ;
27919  PyObject * obj0 = 0 ;
27920  PyObject * obj1 = 0 ;
27921  PyObject * obj2 = 0 ;
27922  PyObject * obj3 = 0 ;
27924 
27925  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
27926  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27927  if (!SWIG_IsOK(res1)) {
27928  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
27929  }
27930  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27931  {
27932  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
27933  if (!PyErr_Occurred())
27934  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
27935  return NULL;
27936  }
27937  arg2 = &temp2;
27938  }
27939  {
27940  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
27941  }
27943  if (!SWIG_IsOK(res4)) {
27944  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_LocalSearchPhase" "', argument " "4"" of type '" "operations_research::LocalSearchPhaseParameters *const""'");
27945  }
27946  arg4 = reinterpret_cast< operations_research::LocalSearchPhaseParameters * >(argp4);
27947  {
27948  try {
27949  result = (operations_research::DecisionBuilder *)(arg1)->MakeLocalSearchPhase((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
27950  }
27951  catch (Swig::DirectorException &e) {
27952  SWIG_fail;
27953  }
27954  }
27956  return resultobj;
27957 fail:
27958  return NULL;
27959 }
27960 
27961 
27962 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhase__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
27963  PyObject *resultobj = 0;
27965  std::vector< operations_research::IntVar * > *arg2 = 0 ;
27969  void *argp1 = 0 ;
27970  int res1 = 0 ;
27971  std::vector< operations_research::IntVar * > temp2 ;
27972  void *argp5 = 0 ;
27973  int res5 = 0 ;
27974  PyObject * obj0 = 0 ;
27975  PyObject * obj1 = 0 ;
27976  PyObject * obj2 = 0 ;
27977  PyObject * obj3 = 0 ;
27978  PyObject * obj4 = 0 ;
27980 
27981  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhase", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
27982  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
27983  if (!SWIG_IsOK(res1)) {
27984  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
27985  }
27986  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
27987  {
27988  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
27989  if (!PyErr_Occurred())
27990  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
27991  return NULL;
27992  }
27993  arg2 = &temp2;
27994  }
27995  {
27996  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
27997  }
27998  {
27999  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28000  }
28002  if (!SWIG_IsOK(res5)) {
28003  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_LocalSearchPhase" "', argument " "5"" of type '" "operations_research::LocalSearchPhaseParameters *const""'");
28004  }
28005  arg5 = reinterpret_cast< operations_research::LocalSearchPhaseParameters * >(argp5);
28006  {
28007  try {
28008  result = (operations_research::DecisionBuilder *)(arg1)->MakeLocalSearchPhase((std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4,arg5);
28009  }
28010  catch (Swig::DirectorException &e) {
28011  SWIG_fail;
28012  }
28013  }
28015  return resultobj;
28016 fail:
28017  return NULL;
28018 }
28019 
28020 
28021 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhase__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28022  PyObject *resultobj = 0;
28024  std::vector< operations_research::SequenceVar * > *arg2 = 0 ;
28027  void *argp1 = 0 ;
28028  int res1 = 0 ;
28029  std::vector< operations_research::SequenceVar * > temp2 ;
28030  void *argp4 = 0 ;
28031  int res4 = 0 ;
28032  PyObject * obj0 = 0 ;
28033  PyObject * obj1 = 0 ;
28034  PyObject * obj2 = 0 ;
28035  PyObject * obj3 = 0 ;
28037 
28038  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
28039  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28040  if (!SWIG_IsOK(res1)) {
28041  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
28042  }
28043  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28044  {
28045  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::SequenceVar*>)) {
28046  if (!PyErr_Occurred())
28047  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SequenceVar*) expected");
28048  return NULL;
28049  }
28050  arg2 = &temp2;
28051  }
28052  {
28053  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
28054  }
28056  if (!SWIG_IsOK(res4)) {
28057  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Solver_LocalSearchPhase" "', argument " "4"" of type '" "operations_research::LocalSearchPhaseParameters *const""'");
28058  }
28059  arg4 = reinterpret_cast< operations_research::LocalSearchPhaseParameters * >(argp4);
28060  {
28061  try {
28062  result = (operations_research::DecisionBuilder *)(arg1)->MakeLocalSearchPhase((std::vector< operations_research::SequenceVar * > const &)*arg2,arg3,arg4);
28063  }
28064  catch (Swig::DirectorException &e) {
28065  SWIG_fail;
28066  }
28067  }
28069  return resultobj;
28070 fail:
28071  return NULL;
28072 }
28073 
28074 
28075 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhase(PyObject *self, PyObject *args) {
28076  Py_ssize_t argc;
28077  PyObject *argv[6] = {
28078  0
28079  };
28080  Py_ssize_t ii;
28081 
28082  if (!PyTuple_Check(args)) SWIG_fail;
28083  argc = PyObject_Length(args);
28084  for (ii = 0; (ii < 5) && (ii < argc); ii++) {
28085  argv[ii] = PyTuple_GET_ITEM(args,ii);
28086  }
28087  if (argc == 3) {
28088  int _v;
28089  void *vptr = 0;
28090  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28091  _v = SWIG_CheckState(res);
28092  if (_v) {
28093  void *vptr = 0;
28094  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
28095  _v = SWIG_CheckState(res);
28096  if (_v) {
28097  void *vptr = 0;
28099  _v = SWIG_CheckState(res);
28100  if (_v) {
28101  return _wrap_Solver_LocalSearchPhase__SWIG_0(self, args);
28102  }
28103  }
28104  }
28105  }
28106  if (argc == 4) {
28107  int _v;
28108  void *vptr = 0;
28109  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28110  _v = SWIG_CheckState(res);
28111  if (_v) {
28112  {
28113  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
28114  _v = 0;
28115  } else {
28116  const bool is_tuple = PyTuple_Check(argv[1]);
28117  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
28118  size_t i = 0;
28119  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
28120  :PyList_GetItem(argv[1], i))) {
28121  ++i;
28122  }
28123  _v = i == size;
28124  }
28125  }
28126  if (_v) {
28127  {
28128  _v = CanConvertToDecisionBuilder(argv[2]);
28129  if (_v == 0) PyErr_Clear();
28130  }
28131  if (_v) {
28132  void *vptr = 0;
28134  _v = SWIG_CheckState(res);
28135  if (_v) {
28136  return _wrap_Solver_LocalSearchPhase__SWIG_1(self, args);
28137  }
28138  }
28139  }
28140  }
28141  }
28142  if (argc == 4) {
28143  int _v;
28144  void *vptr = 0;
28145  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28146  _v = SWIG_CheckState(res);
28147  if (_v) {
28148  {
28149  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
28150  _v = 0;
28151  } else {
28152  const bool is_tuple = PyTuple_Check(argv[1]);
28153  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
28154  size_t i = 0;
28155  while (i < size && CanConvertToSequenceVar(is_tuple ? PyTuple_GetItem(argv[1], i)
28156  :PyList_GetItem(argv[1], i))) {
28157  ++i;
28158  }
28159  _v = i == size;
28160  }
28161  }
28162  if (_v) {
28163  {
28164  _v = CanConvertToDecisionBuilder(argv[2]);
28165  if (_v == 0) PyErr_Clear();
28166  }
28167  if (_v) {
28168  void *vptr = 0;
28170  _v = SWIG_CheckState(res);
28171  if (_v) {
28172  return _wrap_Solver_LocalSearchPhase__SWIG_3(self, args);
28173  }
28174  }
28175  }
28176  }
28177  }
28178  if (argc == 5) {
28179  int _v;
28180  void *vptr = 0;
28181  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28182  _v = SWIG_CheckState(res);
28183  if (_v) {
28184  {
28185  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
28186  _v = 0;
28187  } else {
28188  const bool is_tuple = PyTuple_Check(argv[1]);
28189  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
28190  size_t i = 0;
28191  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
28192  :PyList_GetItem(argv[1], i))) {
28193  ++i;
28194  }
28195  _v = i == size;
28196  }
28197  }
28198  if (_v) {
28199  {
28200  _v = CanConvertToDecisionBuilder(argv[2]);
28201  if (_v == 0) PyErr_Clear();
28202  }
28203  if (_v) {
28204  {
28205  _v = CanConvertToDecisionBuilder(argv[3]);
28206  if (_v == 0) PyErr_Clear();
28207  }
28208  if (_v) {
28209  void *vptr = 0;
28211  _v = SWIG_CheckState(res);
28212  if (_v) {
28213  return _wrap_Solver_LocalSearchPhase__SWIG_2(self, args);
28214  }
28215  }
28216  }
28217  }
28218  }
28219  }
28220 
28221 fail:
28222  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_LocalSearchPhase'.\n"
28223  " Possible C/C++ prototypes are:\n"
28224  " operations_research::Solver::MakeLocalSearchPhase(operations_research::Assignment *const,operations_research::LocalSearchPhaseParameters *const)\n"
28225  " operations_research::Solver::MakeLocalSearchPhase(std::vector< operations_research::IntVar * > const &,operations_research::DecisionBuilder *const,operations_research::LocalSearchPhaseParameters *const)\n"
28226  " operations_research::Solver::MakeLocalSearchPhase(std::vector< operations_research::IntVar * > const &,operations_research::DecisionBuilder *const,operations_research::DecisionBuilder *const,operations_research::LocalSearchPhaseParameters *const)\n"
28227  " operations_research::Solver::MakeLocalSearchPhase(std::vector< operations_research::SequenceVar * > const &,operations_research::DecisionBuilder *const,operations_research::LocalSearchPhaseParameters *const)\n");
28228  return 0;
28229 }
28230 
28231 
28233  PyObject *resultobj = 0;
28238  void *argp1 = 0 ;
28239  int res1 = 0 ;
28240  void *argp2 = 0 ;
28241  int res2 = 0 ;
28242  PyObject * obj0 = 0 ;
28243  PyObject * obj1 = 0 ;
28244  PyObject * obj2 = 0 ;
28245  PyObject * obj3 = 0 ;
28247 
28248  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
28249  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28250  if (!SWIG_IsOK(res1)) {
28251  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28252  }
28253  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28254  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28255  if (!SWIG_IsOK(res2)) {
28256  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28257  }
28258  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28259  {
28260  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
28261  }
28262  {
28263  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28264  }
28265  {
28266  try {
28267  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4);
28268  }
28269  catch (Swig::DirectorException &e) {
28270  SWIG_fail;
28271  }
28272  }
28274  return resultobj;
28275 fail:
28276  return NULL;
28277 }
28278 
28279 
28281  PyObject *resultobj = 0;
28287  void *argp1 = 0 ;
28288  int res1 = 0 ;
28289  void *argp2 = 0 ;
28290  int res2 = 0 ;
28291  void *argp5 = 0 ;
28292  int res5 = 0 ;
28293  PyObject * obj0 = 0 ;
28294  PyObject * obj1 = 0 ;
28295  PyObject * obj2 = 0 ;
28296  PyObject * obj3 = 0 ;
28297  PyObject * obj4 = 0 ;
28299 
28300  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
28301  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28302  if (!SWIG_IsOK(res1)) {
28303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28304  }
28305  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28306  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28307  if (!SWIG_IsOK(res2)) {
28308  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28309  }
28310  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28311  {
28312  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
28313  }
28314  {
28315  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28316  }
28318  if (!SWIG_IsOK(res5)) {
28319  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "5"" of type '" "operations_research::RegularLimit *const""'");
28320  }
28321  arg5 = reinterpret_cast< operations_research::RegularLimit * >(argp5);
28322  {
28323  try {
28324  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4,arg5);
28325  }
28326  catch (Swig::DirectorException &e) {
28327  SWIG_fail;
28328  }
28329  }
28331  return resultobj;
28332 fail:
28333  return NULL;
28334 }
28335 
28336 
28338  PyObject *resultobj = 0;
28345  void *argp1 = 0 ;
28346  int res1 = 0 ;
28347  void *argp2 = 0 ;
28348  int res2 = 0 ;
28349  void *argp5 = 0 ;
28350  int res5 = 0 ;
28351  void *argp6 = 0 ;
28352  int res6 = 0 ;
28353  PyObject * obj0 = 0 ;
28354  PyObject * obj1 = 0 ;
28355  PyObject * obj2 = 0 ;
28356  PyObject * obj3 = 0 ;
28357  PyObject * obj4 = 0 ;
28358  PyObject * obj5 = 0 ;
28360 
28361  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
28362  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28363  if (!SWIG_IsOK(res1)) {
28364  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28365  }
28366  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28367  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28368  if (!SWIG_IsOK(res2)) {
28369  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28370  }
28371  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28372  {
28373  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
28374  }
28375  {
28376  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28377  }
28379  if (!SWIG_IsOK(res5)) {
28380  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "5"" of type '" "operations_research::RegularLimit *const""'");
28381  }
28382  arg5 = reinterpret_cast< operations_research::RegularLimit * >(argp5);
28384  if (!SWIG_IsOK(res6)) {
28385  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "6"" of type '" "operations_research::LocalSearchFilterManager *""'");
28386  }
28387  arg6 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp6);
28388  {
28389  try {
28390  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4,arg5,arg6);
28391  }
28392  catch (Swig::DirectorException &e) {
28393  SWIG_fail;
28394  }
28395  }
28397  return resultobj;
28398 fail:
28399  return NULL;
28400 }
28401 
28402 
28404  PyObject *resultobj = 0;
28410  void *argp1 = 0 ;
28411  int res1 = 0 ;
28412  void *argp2 = 0 ;
28413  int res2 = 0 ;
28414  void *argp3 = 0 ;
28415  int res3 = 0 ;
28416  PyObject * obj0 = 0 ;
28417  PyObject * obj1 = 0 ;
28418  PyObject * obj2 = 0 ;
28419  PyObject * obj3 = 0 ;
28420  PyObject * obj4 = 0 ;
28422 
28423  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
28424  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28425  if (!SWIG_IsOK(res1)) {
28426  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28427  }
28428  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28429  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28430  if (!SWIG_IsOK(res2)) {
28431  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28432  }
28433  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28435  if (!SWIG_IsOK(res3)) {
28436  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "3"" of type '" "operations_research::SolutionPool *const""'");
28437  }
28438  arg3 = reinterpret_cast< operations_research::SolutionPool * >(argp3);
28439  {
28440  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28441  }
28442  {
28443  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
28444  }
28445  {
28446  try {
28447  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4,arg5);
28448  }
28449  catch (Swig::DirectorException &e) {
28450  SWIG_fail;
28451  }
28452  }
28454  return resultobj;
28455 fail:
28456  return NULL;
28457 }
28458 
28459 
28461  PyObject *resultobj = 0;
28468  void *argp1 = 0 ;
28469  int res1 = 0 ;
28470  void *argp2 = 0 ;
28471  int res2 = 0 ;
28472  void *argp3 = 0 ;
28473  int res3 = 0 ;
28474  void *argp6 = 0 ;
28475  int res6 = 0 ;
28476  PyObject * obj0 = 0 ;
28477  PyObject * obj1 = 0 ;
28478  PyObject * obj2 = 0 ;
28479  PyObject * obj3 = 0 ;
28480  PyObject * obj4 = 0 ;
28481  PyObject * obj5 = 0 ;
28483 
28484  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
28485  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28486  if (!SWIG_IsOK(res1)) {
28487  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28488  }
28489  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28490  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28491  if (!SWIG_IsOK(res2)) {
28492  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28493  }
28494  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28496  if (!SWIG_IsOK(res3)) {
28497  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "3"" of type '" "operations_research::SolutionPool *const""'");
28498  }
28499  arg3 = reinterpret_cast< operations_research::SolutionPool * >(argp3);
28500  {
28501  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28502  }
28503  {
28504  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
28505  }
28507  if (!SWIG_IsOK(res6)) {
28508  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "6"" of type '" "operations_research::RegularLimit *const""'");
28509  }
28510  arg6 = reinterpret_cast< operations_research::RegularLimit * >(argp6);
28511  {
28512  try {
28513  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4,arg5,arg6);
28514  }
28515  catch (Swig::DirectorException &e) {
28516  SWIG_fail;
28517  }
28518  }
28520  return resultobj;
28521 fail:
28522  return NULL;
28523 }
28524 
28525 
28527  PyObject *resultobj = 0;
28535  void *argp1 = 0 ;
28536  int res1 = 0 ;
28537  void *argp2 = 0 ;
28538  int res2 = 0 ;
28539  void *argp3 = 0 ;
28540  int res3 = 0 ;
28541  void *argp6 = 0 ;
28542  int res6 = 0 ;
28543  void *argp7 = 0 ;
28544  int res7 = 0 ;
28545  PyObject * obj0 = 0 ;
28546  PyObject * obj1 = 0 ;
28547  PyObject * obj2 = 0 ;
28548  PyObject * obj3 = 0 ;
28549  PyObject * obj4 = 0 ;
28550  PyObject * obj5 = 0 ;
28551  PyObject * obj6 = 0 ;
28553 
28554  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchPhaseParameters", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
28555  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28556  if (!SWIG_IsOK(res1)) {
28557  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "1"" of type '" "operations_research::Solver *""'");
28558  }
28559  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28560  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
28561  if (!SWIG_IsOK(res2)) {
28562  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "2"" of type '" "operations_research::IntVar *""'");
28563  }
28564  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
28566  if (!SWIG_IsOK(res3)) {
28567  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "3"" of type '" "operations_research::SolutionPool *const""'");
28568  }
28569  arg3 = reinterpret_cast< operations_research::SolutionPool * >(argp3);
28570  {
28571  if (!PyObjAs(obj3, &arg4)) SWIG_fail;
28572  }
28573  {
28574  if (!PyObjAs(obj4, &arg5)) SWIG_fail;
28575  }
28577  if (!SWIG_IsOK(res6)) {
28578  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "6"" of type '" "operations_research::RegularLimit *const""'");
28579  }
28580  arg6 = reinterpret_cast< operations_research::RegularLimit * >(argp6);
28582  if (!SWIG_IsOK(res7)) {
28583  SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "Solver_LocalSearchPhaseParameters" "', argument " "7"" of type '" "operations_research::LocalSearchFilterManager *""'");
28584  }
28585  arg7 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp7);
28586  {
28587  try {
28588  result = (operations_research::LocalSearchPhaseParameters *)(arg1)->MakeLocalSearchPhaseParameters(arg2,arg3,arg4,arg5,arg6,arg7);
28589  }
28590  catch (Swig::DirectorException &e) {
28591  SWIG_fail;
28592  }
28593  }
28595  return resultobj;
28596 fail:
28597  return NULL;
28598 }
28599 
28600 
28601 SWIGINTERN PyObject *_wrap_Solver_LocalSearchPhaseParameters(PyObject *self, PyObject *args) {
28602  Py_ssize_t argc;
28603  PyObject *argv[8] = {
28604  0
28605  };
28606  Py_ssize_t ii;
28607 
28608  if (!PyTuple_Check(args)) SWIG_fail;
28609  argc = PyObject_Length(args);
28610  for (ii = 0; (ii < 7) && (ii < argc); ii++) {
28611  argv[ii] = PyTuple_GET_ITEM(args,ii);
28612  }
28613  if (argc == 4) {
28614  int _v;
28615  void *vptr = 0;
28616  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28617  _v = SWIG_CheckState(res);
28618  if (_v) {
28619  void *vptr = 0;
28620  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28621  _v = SWIG_CheckState(res);
28622  if (_v) {
28623  {
28624  _v = CanConvertToLocalSearchOperator(argv[2]);
28625  if (_v == 0) PyErr_Clear();
28626  }
28627  if (_v) {
28628  {
28629  _v = CanConvertToDecisionBuilder(argv[3]);
28630  if (_v == 0) PyErr_Clear();
28631  }
28632  if (_v) {
28634  }
28635  }
28636  }
28637  }
28638  }
28639  if (argc == 5) {
28640  int _v;
28641  void *vptr = 0;
28642  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28643  _v = SWIG_CheckState(res);
28644  if (_v) {
28645  void *vptr = 0;
28646  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28647  _v = SWIG_CheckState(res);
28648  if (_v) {
28649  {
28650  _v = CanConvertToLocalSearchOperator(argv[2]);
28651  if (_v == 0) PyErr_Clear();
28652  }
28653  if (_v) {
28654  {
28655  _v = CanConvertToDecisionBuilder(argv[3]);
28656  if (_v == 0) PyErr_Clear();
28657  }
28658  if (_v) {
28659  void *vptr = 0;
28660  int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_operations_research__RegularLimit, 0);
28661  _v = SWIG_CheckState(res);
28662  if (_v) {
28664  }
28665  }
28666  }
28667  }
28668  }
28669  }
28670  if (argc == 5) {
28671  int _v;
28672  void *vptr = 0;
28673  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28674  _v = SWIG_CheckState(res);
28675  if (_v) {
28676  void *vptr = 0;
28677  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28678  _v = SWIG_CheckState(res);
28679  if (_v) {
28680  void *vptr = 0;
28681  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__SolutionPool, 0);
28682  _v = SWIG_CheckState(res);
28683  if (_v) {
28684  {
28685  _v = CanConvertToLocalSearchOperator(argv[3]);
28686  if (_v == 0) PyErr_Clear();
28687  }
28688  if (_v) {
28689  {
28690  _v = CanConvertToDecisionBuilder(argv[4]);
28691  if (_v == 0) PyErr_Clear();
28692  }
28693  if (_v) {
28695  }
28696  }
28697  }
28698  }
28699  }
28700  }
28701  if (argc == 6) {
28702  int _v;
28703  void *vptr = 0;
28704  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28705  _v = SWIG_CheckState(res);
28706  if (_v) {
28707  void *vptr = 0;
28708  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28709  _v = SWIG_CheckState(res);
28710  if (_v) {
28711  {
28712  _v = CanConvertToLocalSearchOperator(argv[2]);
28713  if (_v == 0) PyErr_Clear();
28714  }
28715  if (_v) {
28716  {
28717  _v = CanConvertToDecisionBuilder(argv[3]);
28718  if (_v == 0) PyErr_Clear();
28719  }
28720  if (_v) {
28721  void *vptr = 0;
28722  int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_operations_research__RegularLimit, 0);
28723  _v = SWIG_CheckState(res);
28724  if (_v) {
28725  void *vptr = 0;
28727  _v = SWIG_CheckState(res);
28728  if (_v) {
28730  }
28731  }
28732  }
28733  }
28734  }
28735  }
28736  }
28737  if (argc == 6) {
28738  int _v;
28739  void *vptr = 0;
28740  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28741  _v = SWIG_CheckState(res);
28742  if (_v) {
28743  void *vptr = 0;
28744  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28745  _v = SWIG_CheckState(res);
28746  if (_v) {
28747  void *vptr = 0;
28748  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__SolutionPool, 0);
28749  _v = SWIG_CheckState(res);
28750  if (_v) {
28751  {
28752  _v = CanConvertToLocalSearchOperator(argv[3]);
28753  if (_v == 0) PyErr_Clear();
28754  }
28755  if (_v) {
28756  {
28757  _v = CanConvertToDecisionBuilder(argv[4]);
28758  if (_v == 0) PyErr_Clear();
28759  }
28760  if (_v) {
28761  void *vptr = 0;
28762  int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_operations_research__RegularLimit, 0);
28763  _v = SWIG_CheckState(res);
28764  if (_v) {
28766  }
28767  }
28768  }
28769  }
28770  }
28771  }
28772  }
28773  if (argc == 7) {
28774  int _v;
28775  void *vptr = 0;
28776  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
28777  _v = SWIG_CheckState(res);
28778  if (_v) {
28779  void *vptr = 0;
28780  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
28781  _v = SWIG_CheckState(res);
28782  if (_v) {
28783  void *vptr = 0;
28784  int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_operations_research__SolutionPool, 0);
28785  _v = SWIG_CheckState(res);
28786  if (_v) {
28787  {
28788  _v = CanConvertToLocalSearchOperator(argv[3]);
28789  if (_v == 0) PyErr_Clear();
28790  }
28791  if (_v) {
28792  {
28793  _v = CanConvertToDecisionBuilder(argv[4]);
28794  if (_v == 0) PyErr_Clear();
28795  }
28796  if (_v) {
28797  void *vptr = 0;
28798  int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_operations_research__RegularLimit, 0);
28799  _v = SWIG_CheckState(res);
28800  if (_v) {
28801  void *vptr = 0;
28803  _v = SWIG_CheckState(res);
28804  if (_v) {
28806  }
28807  }
28808  }
28809  }
28810  }
28811  }
28812  }
28813  }
28814 
28815 fail:
28816  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_LocalSearchPhaseParameters'.\n"
28817  " Possible C/C++ prototypes are:\n"
28818  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const)\n"
28819  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const,operations_research::RegularLimit *const)\n"
28820  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const,operations_research::RegularLimit *const,operations_research::LocalSearchFilterManager *)\n"
28821  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::SolutionPool *const,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const)\n"
28822  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::SolutionPool *const,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const,operations_research::RegularLimit *const)\n"
28823  " operations_research::Solver::MakeLocalSearchPhaseParameters(operations_research::IntVar *,operations_research::SolutionPool *const,operations_research::LocalSearchOperator *const,operations_research::DecisionBuilder *const,operations_research::RegularLimit *const,operations_research::LocalSearchFilterManager *)\n");
28824  return 0;
28825 }
28826 
28827 
28828 SWIGINTERN PyObject *_wrap_Solver_SearchDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28829  PyObject *resultobj = 0;
28831  void *argp1 = 0 ;
28832  int res1 = 0 ;
28833  PyObject * obj0 = 0 ;
28834  int result;
28835 
28836  if (!PyArg_UnpackTuple(args, "Solver_SearchDepth", 1, 1, &obj0)) SWIG_fail;
28837  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28838  if (!SWIG_IsOK(res1)) {
28839  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchDepth" "', argument " "1"" of type '" "operations_research::Solver const *""'");
28840  }
28841  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28842  {
28843  try {
28844  result = (int)((operations_research::Solver const *)arg1)->SearchDepth();
28845  }
28846  catch (Swig::DirectorException &e) {
28847  SWIG_fail;
28848  }
28849  }
28850  resultobj = SWIG_From_int(static_cast< int >(result));
28851  return resultobj;
28852 fail:
28853  return NULL;
28854 }
28855 
28856 
28857 SWIGINTERN PyObject *_wrap_Solver_SearchLeftDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28858  PyObject *resultobj = 0;
28860  void *argp1 = 0 ;
28861  int res1 = 0 ;
28862  PyObject * obj0 = 0 ;
28863  int result;
28864 
28865  if (!PyArg_UnpackTuple(args, "Solver_SearchLeftDepth", 1, 1, &obj0)) SWIG_fail;
28866  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28867  if (!SWIG_IsOK(res1)) {
28868  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLeftDepth" "', argument " "1"" of type '" "operations_research::Solver const *""'");
28869  }
28870  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28871  {
28872  try {
28873  result = (int)((operations_research::Solver const *)arg1)->SearchLeftDepth();
28874  }
28875  catch (Swig::DirectorException &e) {
28876  SWIG_fail;
28877  }
28878  }
28879  resultobj = SWIG_From_int(static_cast< int >(result));
28880  return resultobj;
28881 fail:
28882  return NULL;
28883 }
28884 
28885 
28886 SWIGINTERN PyObject *_wrap_Solver_SolveDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28887  PyObject *resultobj = 0;
28889  void *argp1 = 0 ;
28890  int res1 = 0 ;
28891  PyObject * obj0 = 0 ;
28892  int result;
28893 
28894  if (!PyArg_UnpackTuple(args, "Solver_SolveDepth", 1, 1, &obj0)) SWIG_fail;
28895  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28896  if (!SWIG_IsOK(res1)) {
28897  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SolveDepth" "', argument " "1"" of type '" "operations_research::Solver const *""'");
28898  }
28899  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28900  {
28901  try {
28902  result = (int)((operations_research::Solver const *)arg1)->SolveDepth();
28903  }
28904  catch (Swig::DirectorException &e) {
28905  SWIG_fail;
28906  }
28907  }
28908  resultobj = SWIG_From_int(static_cast< int >(result));
28909  return resultobj;
28910 fail:
28911  return NULL;
28912 }
28913 
28914 
28915 SWIGINTERN PyObject *_wrap_Solver_Rand64(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28916  PyObject *resultobj = 0;
28918  int64_t arg2 ;
28919  void *argp1 = 0 ;
28920  int res1 = 0 ;
28921  long val2 ;
28922  int ecode2 = 0 ;
28923  PyObject * obj0 = 0 ;
28924  PyObject * obj1 = 0 ;
28925  int64_t result;
28926 
28927  if (!PyArg_UnpackTuple(args, "Solver_Rand64", 2, 2, &obj0, &obj1)) SWIG_fail;
28928  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28929  if (!SWIG_IsOK(res1)) {
28930  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Rand64" "', argument " "1"" of type '" "operations_research::Solver *""'");
28931  }
28932  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28933  ecode2 = SWIG_AsVal_long(obj1, &val2);
28934  if (!SWIG_IsOK(ecode2)) {
28935  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Rand64" "', argument " "2"" of type '" "int64_t""'");
28936  }
28937  arg2 = static_cast< int64_t >(val2);
28938  {
28939  try {
28940  result = (int64_t)(arg1)->Rand64(arg2);
28941  }
28942  catch (Swig::DirectorException &e) {
28943  SWIG_fail;
28944  }
28945  }
28946  resultobj = SWIG_From_long(static_cast< long >(result));
28947  return resultobj;
28948 fail:
28949  return NULL;
28950 }
28951 
28952 
28953 SWIGINTERN PyObject *_wrap_Solver_Rand32(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28954  PyObject *resultobj = 0;
28956  int32_t arg2 ;
28957  void *argp1 = 0 ;
28958  int res1 = 0 ;
28959  int val2 ;
28960  int ecode2 = 0 ;
28961  PyObject * obj0 = 0 ;
28962  PyObject * obj1 = 0 ;
28963  int32_t result;
28964 
28965  if (!PyArg_UnpackTuple(args, "Solver_Rand32", 2, 2, &obj0, &obj1)) SWIG_fail;
28966  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
28967  if (!SWIG_IsOK(res1)) {
28968  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Rand32" "', argument " "1"" of type '" "operations_research::Solver *""'");
28969  }
28970  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
28971  ecode2 = SWIG_AsVal_int(obj1, &val2);
28972  if (!SWIG_IsOK(ecode2)) {
28973  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_Rand32" "', argument " "2"" of type '" "int32_t""'");
28974  }
28975  arg2 = static_cast< int32_t >(val2);
28976  {
28977  try {
28978  result = (int32_t)(arg1)->Rand32(arg2);
28979  }
28980  catch (Swig::DirectorException &e) {
28981  SWIG_fail;
28982  }
28983  }
28984  resultobj = SWIG_From_int(static_cast< int >(result));
28985  return resultobj;
28986 fail:
28987  return NULL;
28988 }
28989 
28990 
28991 SWIGINTERN PyObject *_wrap_Solver_ReSeed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
28992  PyObject *resultobj = 0;
28994  int32_t arg2 ;
28995  void *argp1 = 0 ;
28996  int res1 = 0 ;
28997  int val2 ;
28998  int ecode2 = 0 ;
28999  PyObject * obj0 = 0 ;
29000  PyObject * obj1 = 0 ;
29001 
29002  if (!PyArg_UnpackTuple(args, "Solver_ReSeed", 2, 2, &obj0, &obj1)) SWIG_fail;
29003  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29004  if (!SWIG_IsOK(res1)) {
29005  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ReSeed" "', argument " "1"" of type '" "operations_research::Solver *""'");
29006  }
29007  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29008  ecode2 = SWIG_AsVal_int(obj1, &val2);
29009  if (!SWIG_IsOK(ecode2)) {
29010  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_ReSeed" "', argument " "2"" of type '" "int32_t""'");
29011  }
29012  arg2 = static_cast< int32_t >(val2);
29013  {
29014  try {
29015  (arg1)->ReSeed(arg2);
29016  }
29017  catch (Swig::DirectorException &e) {
29018  SWIG_fail;
29019  }
29020  }
29021  resultobj = SWIG_Py_Void();
29022  return resultobj;
29023 fail:
29024  return NULL;
29025 }
29026 
29027 
29028 SWIGINTERN PyObject *_wrap_Solver_LocalSearchProfile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29029  PyObject *resultobj = 0;
29031  void *argp1 = 0 ;
29032  int res1 = 0 ;
29033  PyObject * obj0 = 0 ;
29034  std::string result;
29035 
29036  if (!PyArg_UnpackTuple(args, "Solver_LocalSearchProfile", 1, 1, &obj0)) SWIG_fail;
29037  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29038  if (!SWIG_IsOK(res1)) {
29039  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_LocalSearchProfile" "', argument " "1"" of type '" "operations_research::Solver const *""'");
29040  }
29041  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29042  {
29043  try {
29044  result = ((operations_research::Solver const *)arg1)->LocalSearchProfile();
29045  }
29046  catch (Swig::DirectorException &e) {
29047  SWIG_fail;
29048  }
29049  }
29050  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
29051  return resultobj;
29052 fail:
29053  return NULL;
29054 }
29055 
29056 
29057 SWIGINTERN PyObject *_wrap_Solver_Constraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29058  PyObject *resultobj = 0;
29060  void *argp1 = 0 ;
29061  int res1 = 0 ;
29062  PyObject * obj0 = 0 ;
29063  int result;
29064 
29065  if (!PyArg_UnpackTuple(args, "Solver_Constraints", 1, 1, &obj0)) SWIG_fail;
29066  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29067  if (!SWIG_IsOK(res1)) {
29068  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Constraints" "', argument " "1"" of type '" "operations_research::Solver const *""'");
29069  }
29070  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29071  {
29072  try {
29073  result = (int)((operations_research::Solver const *)arg1)->constraints();
29074  }
29075  catch (Swig::DirectorException &e) {
29076  SWIG_fail;
29077  }
29078  }
29079  resultobj = SWIG_From_int(static_cast< int >(result));
29080  return resultobj;
29081 fail:
29082  return NULL;
29083 }
29084 
29085 
29086 SWIGINTERN PyObject *_wrap_Solver_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29087  PyObject *resultobj = 0;
29090  void *argp1 = 0 ;
29091  int res1 = 0 ;
29092  void *argp2 = 0 ;
29093  int res2 = 0 ;
29094  PyObject * obj0 = 0 ;
29095  PyObject * obj1 = 0 ;
29096 
29097  if (!PyArg_UnpackTuple(args, "Solver_Accept", 2, 2, &obj0, &obj1)) SWIG_fail;
29098  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29099  if (!SWIG_IsOK(res1)) {
29100  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_Accept" "', argument " "1"" of type '" "operations_research::Solver const *""'");
29101  }
29102  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29104  if (!SWIG_IsOK(res2)) {
29105  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Solver_Accept" "', argument " "2"" of type '" "operations_research::ModelVisitor *const""'");
29106  }
29107  arg2 = reinterpret_cast< operations_research::ModelVisitor * >(argp2);
29108  {
29109  try {
29110  ((operations_research::Solver const *)arg1)->Accept(arg2);
29111  }
29112  catch (Swig::DirectorException &e) {
29113  SWIG_fail;
29114  }
29115  }
29116  resultobj = SWIG_Py_Void();
29117  return resultobj;
29118 fail:
29119  return NULL;
29120 }
29121 
29122 
29123 SWIGINTERN PyObject *_wrap_Solver_FinishCurrentSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29124  PyObject *resultobj = 0;
29126  void *argp1 = 0 ;
29127  int res1 = 0 ;
29128  PyObject * obj0 = 0 ;
29129 
29130  if (!PyArg_UnpackTuple(args, "Solver_FinishCurrentSearch", 1, 1, &obj0)) SWIG_fail;
29131  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29132  if (!SWIG_IsOK(res1)) {
29133  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_FinishCurrentSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
29134  }
29135  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29136  {
29137  try {
29138  (arg1)->FinishCurrentSearch();
29139  }
29140  catch (Swig::DirectorException &e) {
29141  SWIG_fail;
29142  }
29143  }
29144  resultobj = SWIG_Py_Void();
29145  return resultobj;
29146 fail:
29147  return NULL;
29148 }
29149 
29150 
29151 SWIGINTERN PyObject *_wrap_Solver_RestartCurrentSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29152  PyObject *resultobj = 0;
29154  void *argp1 = 0 ;
29155  int res1 = 0 ;
29156  PyObject * obj0 = 0 ;
29157 
29158  if (!PyArg_UnpackTuple(args, "Solver_RestartCurrentSearch", 1, 1, &obj0)) SWIG_fail;
29159  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29160  if (!SWIG_IsOK(res1)) {
29161  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_RestartCurrentSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
29162  }
29163  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29164  {
29165  try {
29166  (arg1)->RestartCurrentSearch();
29167  }
29168  catch (Swig::DirectorException &e) {
29169  SWIG_fail;
29170  }
29171  }
29172  resultobj = SWIG_Py_Void();
29173  return resultobj;
29174 fail:
29175  return NULL;
29176 }
29177 
29178 
29179 SWIGINTERN PyObject *_wrap_Solver_ShouldFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29180  PyObject *resultobj = 0;
29182  void *argp1 = 0 ;
29183  int res1 = 0 ;
29184  PyObject * obj0 = 0 ;
29185 
29186  if (!PyArg_UnpackTuple(args, "Solver_ShouldFail", 1, 1, &obj0)) SWIG_fail;
29187  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29188  if (!SWIG_IsOK(res1)) {
29189  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ShouldFail" "', argument " "1"" of type '" "operations_research::Solver *""'");
29190  }
29191  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29192  {
29193  try {
29194  (arg1)->ShouldFail();
29195  }
29196  catch (Swig::DirectorException &e) {
29197  SWIG_fail;
29198  }
29199  }
29200  resultobj = SWIG_Py_Void();
29201  return resultobj;
29202 fail:
29203  return NULL;
29204 }
29205 
29206 
29207 SWIGINTERN PyObject *_wrap_Solver___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29208  PyObject *resultobj = 0;
29210  void *argp1 = 0 ;
29211  int res1 = 0 ;
29212  PyObject * obj0 = 0 ;
29213  std::string result;
29214 
29215  if (!PyArg_UnpackTuple(args, "Solver___str__", 1, 1, &obj0)) SWIG_fail;
29216  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29217  if (!SWIG_IsOK(res1)) {
29218  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver___str__" "', argument " "1"" of type '" "operations_research::Solver *""'");
29219  }
29220  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29221  {
29222  try {
29223  result = operations_research_Solver___str__(arg1);
29224  }
29225  catch (Swig::DirectorException &e) {
29226  SWIG_fail;
29227  }
29228  }
29229  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
29230  return resultobj;
29231 fail:
29232  return NULL;
29233 }
29234 
29235 
29236 SWIGINTERN PyObject *_wrap_Solver_TreeNoCycle__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29237  PyObject *resultobj = 0;
29239  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29240  std::vector< operations_research::IntVar * > *arg3 = 0 ;
29242  void *argp1 = 0 ;
29243  int res1 = 0 ;
29244  std::vector< operations_research::IntVar * > temp2 ;
29245  std::vector< operations_research::IntVar * > temp3 ;
29246  PyObject * obj0 = 0 ;
29247  PyObject * obj1 = 0 ;
29248  PyObject * obj2 = 0 ;
29249  PyObject * obj3 = 0 ;
29250  operations_research::Constraint *result = 0 ;
29251 
29252  if (!PyArg_UnpackTuple(args, "Solver_TreeNoCycle", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
29253  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29254  if (!SWIG_IsOK(res1)) {
29255  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TreeNoCycle" "', argument " "1"" of type '" "operations_research::Solver *""'");
29256  }
29257  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29258  {
29259  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29260  if (!PyErr_Occurred())
29261  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29262  return NULL;
29263  }
29264  arg2 = &temp2;
29265  }
29266  {
29267  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
29268  if (!PyErr_Occurred())
29269  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29270  return NULL;
29271  }
29272  arg3 = &temp3;
29273  }
29274  {
29275  SharedPyPtr input(obj3);
29276  arg4 = [input](int64_t index) {
29277  return InvokePythonCallableReturning<bool>(input.get(), "(L)", index);
29278  };
29279  }
29280  {
29281  try {
29282  result = (operations_research::Constraint *)operations_research_Solver_TreeNoCycle__SWIG_0(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3,arg4);
29283  }
29284  catch (Swig::DirectorException &e) {
29285  SWIG_fail;
29286  }
29287  }
29289  return resultobj;
29290 fail:
29291  return NULL;
29292 }
29293 
29294 
29295 SWIGINTERN PyObject *_wrap_Solver_TreeNoCycle__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29296  PyObject *resultobj = 0;
29298  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29299  std::vector< operations_research::IntVar * > *arg3 = 0 ;
29300  void *argp1 = 0 ;
29301  int res1 = 0 ;
29302  std::vector< operations_research::IntVar * > temp2 ;
29303  std::vector< operations_research::IntVar * > temp3 ;
29304  PyObject * obj0 = 0 ;
29305  PyObject * obj1 = 0 ;
29306  PyObject * obj2 = 0 ;
29307  operations_research::Constraint *result = 0 ;
29308 
29309  if (!PyArg_UnpackTuple(args, "Solver_TreeNoCycle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
29310  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29311  if (!SWIG_IsOK(res1)) {
29312  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_TreeNoCycle" "', argument " "1"" of type '" "operations_research::Solver *""'");
29313  }
29314  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29315  {
29316  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29317  if (!PyErr_Occurred())
29318  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29319  return NULL;
29320  }
29321  arg2 = &temp2;
29322  }
29323  {
29324  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
29325  if (!PyErr_Occurred())
29326  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29327  return NULL;
29328  }
29329  arg3 = &temp3;
29330  }
29331  {
29332  try {
29333  result = (operations_research::Constraint *)operations_research_Solver_TreeNoCycle__SWIG_0(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
29334  }
29335  catch (Swig::DirectorException &e) {
29336  SWIG_fail;
29337  }
29338  }
29340  return resultobj;
29341 fail:
29342  return NULL;
29343 }
29344 
29345 
29346 SWIGINTERN PyObject *_wrap_Solver_TreeNoCycle(PyObject *self, PyObject *args) {
29347  Py_ssize_t argc;
29348  PyObject *argv[5] = {
29349  0
29350  };
29351  Py_ssize_t ii;
29352 
29353  if (!PyTuple_Check(args)) SWIG_fail;
29354  argc = PyObject_Length(args);
29355  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
29356  argv[ii] = PyTuple_GET_ITEM(args,ii);
29357  }
29358  if (argc == 3) {
29359  int _v;
29360  void *vptr = 0;
29361  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
29362  _v = SWIG_CheckState(res);
29363  if (_v) {
29364  {
29365  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
29366  _v = 0;
29367  } else {
29368  const bool is_tuple = PyTuple_Check(argv[1]);
29369  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
29370  size_t i = 0;
29371  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
29372  :PyList_GetItem(argv[1], i))) {
29373  ++i;
29374  }
29375  _v = i == size;
29376  }
29377  }
29378  if (_v) {
29379  {
29380  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
29381  _v = 0;
29382  } else {
29383  const bool is_tuple = PyTuple_Check(argv[2]);
29384  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
29385  size_t i = 0;
29386  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
29387  :PyList_GetItem(argv[2], i))) {
29388  ++i;
29389  }
29390  _v = i == size;
29391  }
29392  }
29393  if (_v) {
29394  return _wrap_Solver_TreeNoCycle__SWIG_1(self, args);
29395  }
29396  }
29397  }
29398  }
29399  if (argc == 4) {
29400  int _v;
29401  void *vptr = 0;
29402  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
29403  _v = SWIG_CheckState(res);
29404  if (_v) {
29405  {
29406  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
29407  _v = 0;
29408  } else {
29409  const bool is_tuple = PyTuple_Check(argv[1]);
29410  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
29411  size_t i = 0;
29412  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
29413  :PyList_GetItem(argv[1], i))) {
29414  ++i;
29415  }
29416  _v = i == size;
29417  }
29418  }
29419  if (_v) {
29420  {
29421  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
29422  _v = 0;
29423  } else {
29424  const bool is_tuple = PyTuple_Check(argv[2]);
29425  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
29426  size_t i = 0;
29427  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
29428  :PyList_GetItem(argv[2], i))) {
29429  ++i;
29430  }
29431  _v = i == size;
29432  }
29433  }
29434  if (_v) {
29435  {
29436  _v = PyCallable_Check(argv[3]);
29437  }
29438  if (_v) {
29439  return _wrap_Solver_TreeNoCycle__SWIG_0(self, args);
29440  }
29441  }
29442  }
29443  }
29444  }
29445 
29446 fail:
29447  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_TreeNoCycle'.\n"
29448  " Possible C/C++ prototypes are:\n"
29449  " operations_research::Solver::TreeNoCycle(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,operations_research::Solver::IndexFilter1)\n"
29450  " operations_research::Solver::TreeNoCycle(std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &)\n");
29451  return 0;
29452 }
29453 
29454 
29455 SWIGINTERN PyObject *_wrap_Solver_SearchLogWithCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29456  PyObject *resultobj = 0;
29458  int arg2 ;
29459  SwigValueWrapper< std::function< std::string () > > arg3 ;
29460  void *argp1 = 0 ;
29461  int res1 = 0 ;
29462  int val2 ;
29463  int ecode2 = 0 ;
29464  PyObject * obj0 = 0 ;
29465  PyObject * obj1 = 0 ;
29466  PyObject * obj2 = 0 ;
29468 
29469  if (!PyArg_UnpackTuple(args, "Solver_SearchLogWithCallback", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
29470  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29471  if (!SWIG_IsOK(res1)) {
29472  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SearchLogWithCallback" "', argument " "1"" of type '" "operations_research::Solver *""'");
29473  }
29474  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29475  ecode2 = SWIG_AsVal_int(obj1, &val2);
29476  if (!SWIG_IsOK(ecode2)) {
29477  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_SearchLogWithCallback" "', argument " "2"" of type '" "int""'");
29478  }
29479  arg2 = static_cast< int >(val2);
29480  {
29481  SharedPyPtr input(obj2);
29482  arg3 = [input]() {
29483  return InvokePythonCallableReturning<std::string>(input.get());
29484  };
29485  }
29486  {
29487  try {
29489  }
29490  catch (Swig::DirectorException &e) {
29491  SWIG_fail;
29492  }
29493  }
29495  return resultobj;
29496 fail:
29497  return NULL;
29498 }
29499 
29500 
29501 SWIGINTERN PyObject *_wrap_Solver_ElementFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29502  PyObject *resultobj = 0;
29504  std::function< int64_t (int64_t) > arg2 ;
29506  void *argp1 = 0 ;
29507  int res1 = 0 ;
29508  PyObject * obj0 = 0 ;
29509  PyObject * obj1 = 0 ;
29510  PyObject * obj2 = 0 ;
29511  operations_research::IntExpr *result = 0 ;
29512 
29513  if (!PyArg_UnpackTuple(args, "Solver_ElementFunction", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
29514  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29515  if (!SWIG_IsOK(res1)) {
29516  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_ElementFunction" "', argument " "1"" of type '" "operations_research::Solver *""'");
29517  }
29518  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29519  {
29520  SharedPyPtr input(obj1);
29521  arg2 = [input](int64_t index) {
29522  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29523  };
29524  }
29525  {
29526  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
29527  }
29528  {
29529  try {
29531  }
29532  catch (Swig::DirectorException &e) {
29533  SWIG_fail;
29534  }
29535  }
29537  return resultobj;
29538 fail:
29539  return NULL;
29540 }
29541 
29542 
29543 SWIGINTERN PyObject *_wrap_Solver_VarEvalValStrPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29544  PyObject *resultobj = 0;
29546  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29547  std::function< int64_t (int64_t) > arg3 ;
29549  void *argp1 = 0 ;
29550  int res1 = 0 ;
29551  std::vector< operations_research::IntVar * > temp2 ;
29552  int val4 ;
29553  int ecode4 = 0 ;
29554  PyObject * obj0 = 0 ;
29555  PyObject * obj1 = 0 ;
29556  PyObject * obj2 = 0 ;
29557  PyObject * obj3 = 0 ;
29559 
29560  if (!PyArg_UnpackTuple(args, "Solver_VarEvalValStrPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
29561  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29562  if (!SWIG_IsOK(res1)) {
29563  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VarEvalValStrPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29564  }
29565  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29566  {
29567  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29568  if (!PyErr_Occurred())
29569  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29570  return NULL;
29571  }
29572  arg2 = &temp2;
29573  }
29574  {
29575  SharedPyPtr input(obj2);
29576  arg3 = [input](int64_t index) {
29577  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29578  };
29579  }
29580  ecode4 = SWIG_AsVal_int(obj3, &val4);
29581  if (!SWIG_IsOK(ecode4)) {
29582  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_VarEvalValStrPhase" "', argument " "4"" of type '" "operations_research::Solver::IntValueStrategy""'");
29583  }
29584  arg4 = static_cast< operations_research::Solver::IntValueStrategy >(val4);
29585  {
29586  try {
29587  result = (operations_research::DecisionBuilder *)operations_research_Solver_VarEvalValStrPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
29588  }
29589  catch (Swig::DirectorException &e) {
29590  SWIG_fail;
29591  }
29592  }
29594  return resultobj;
29595 fail:
29596  return NULL;
29597 }
29598 
29599 
29600 SWIGINTERN PyObject *_wrap_Solver_VarStrValEvalPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29601  PyObject *resultobj = 0;
29603  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29606  void *argp1 = 0 ;
29607  int res1 = 0 ;
29608  std::vector< operations_research::IntVar * > temp2 ;
29609  int val3 ;
29610  int ecode3 = 0 ;
29611  PyObject * obj0 = 0 ;
29612  PyObject * obj1 = 0 ;
29613  PyObject * obj2 = 0 ;
29614  PyObject * obj3 = 0 ;
29616 
29617  if (!PyArg_UnpackTuple(args, "Solver_VarStrValEvalPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
29618  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29619  if (!SWIG_IsOK(res1)) {
29620  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VarStrValEvalPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29621  }
29622  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29623  {
29624  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29625  if (!PyErr_Occurred())
29626  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29627  return NULL;
29628  }
29629  arg2 = &temp2;
29630  }
29631  ecode3 = SWIG_AsVal_int(obj2, &val3);
29632  if (!SWIG_IsOK(ecode3)) {
29633  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_VarStrValEvalPhase" "', argument " "3"" of type '" "operations_research::Solver::IntVarStrategy""'");
29634  }
29635  arg3 = static_cast< operations_research::Solver::IntVarStrategy >(val3);
29636  {
29637  SharedPyPtr input(obj3);
29638  arg4 = [input](int64_t i, int64_t j) {
29639  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29640  };
29641  }
29642  {
29643  try {
29644  result = (operations_research::DecisionBuilder *)operations_research_Solver_VarStrValEvalPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
29645  }
29646  catch (Swig::DirectorException &e) {
29647  SWIG_fail;
29648  }
29649  }
29651  return resultobj;
29652 fail:
29653  return NULL;
29654 }
29655 
29656 
29657 SWIGINTERN PyObject *_wrap_Solver_VarEvalValEvalPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29658  PyObject *resultobj = 0;
29660  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29661  std::function< int64_t (int64_t) > arg3 ;
29663  void *argp1 = 0 ;
29664  int res1 = 0 ;
29665  std::vector< operations_research::IntVar * > temp2 ;
29666  PyObject * obj0 = 0 ;
29667  PyObject * obj1 = 0 ;
29668  PyObject * obj2 = 0 ;
29669  PyObject * obj3 = 0 ;
29671 
29672  if (!PyArg_UnpackTuple(args, "Solver_VarEvalValEvalPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
29673  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29674  if (!SWIG_IsOK(res1)) {
29675  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VarEvalValEvalPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29676  }
29677  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29678  {
29679  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29680  if (!PyErr_Occurred())
29681  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29682  return NULL;
29683  }
29684  arg2 = &temp2;
29685  }
29686  {
29687  SharedPyPtr input(obj2);
29688  arg3 = [input](int64_t index) {
29689  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29690  };
29691  }
29692  {
29693  SharedPyPtr input(obj3);
29694  arg4 = [input](int64_t i, int64_t j) {
29695  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29696  };
29697  }
29698  {
29699  try {
29700  result = (operations_research::DecisionBuilder *)operations_research_Solver_VarEvalValEvalPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
29701  }
29702  catch (Swig::DirectorException &e) {
29703  SWIG_fail;
29704  }
29705  }
29707  return resultobj;
29708 fail:
29709  return NULL;
29710 }
29711 
29712 
29713 SWIGINTERN PyObject *_wrap_Solver_VarStrValEvalTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29714  PyObject *resultobj = 0;
29716  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29719  std::function< int64_t (int64_t) > arg5 ;
29720  void *argp1 = 0 ;
29721  int res1 = 0 ;
29722  std::vector< operations_research::IntVar * > temp2 ;
29723  int val3 ;
29724  int ecode3 = 0 ;
29725  PyObject * obj0 = 0 ;
29726  PyObject * obj1 = 0 ;
29727  PyObject * obj2 = 0 ;
29728  PyObject * obj3 = 0 ;
29729  PyObject * obj4 = 0 ;
29731 
29732  if (!PyArg_UnpackTuple(args, "Solver_VarStrValEvalTieBreakPhase", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
29733  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29734  if (!SWIG_IsOK(res1)) {
29735  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VarStrValEvalTieBreakPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29736  }
29737  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29738  {
29739  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29740  if (!PyErr_Occurred())
29741  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29742  return NULL;
29743  }
29744  arg2 = &temp2;
29745  }
29746  ecode3 = SWIG_AsVal_int(obj2, &val3);
29747  if (!SWIG_IsOK(ecode3)) {
29748  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Solver_VarStrValEvalTieBreakPhase" "', argument " "3"" of type '" "operations_research::Solver::IntVarStrategy""'");
29749  }
29750  arg3 = static_cast< operations_research::Solver::IntVarStrategy >(val3);
29751  {
29752  SharedPyPtr input(obj3);
29753  arg4 = [input](int64_t i, int64_t j) {
29754  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29755  };
29756  }
29757  {
29758  SharedPyPtr input(obj4);
29759  arg5 = [input](int64_t index) {
29760  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29761  };
29762  }
29763  {
29764  try {
29765  result = (operations_research::DecisionBuilder *)operations_research_Solver_VarStrValEvalTieBreakPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4,arg5);
29766  }
29767  catch (Swig::DirectorException &e) {
29768  SWIG_fail;
29769  }
29770  }
29772  return resultobj;
29773 fail:
29774  return NULL;
29775 }
29776 
29777 
29778 SWIGINTERN PyObject *_wrap_Solver_VarEvalValEvalTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29779  PyObject *resultobj = 0;
29781  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29782  std::function< int64_t (int64_t) > arg3 ;
29784  std::function< int64_t (int64_t) > arg5 ;
29785  void *argp1 = 0 ;
29786  int res1 = 0 ;
29787  std::vector< operations_research::IntVar * > temp2 ;
29788  PyObject * obj0 = 0 ;
29789  PyObject * obj1 = 0 ;
29790  PyObject * obj2 = 0 ;
29791  PyObject * obj3 = 0 ;
29792  PyObject * obj4 = 0 ;
29794 
29795  if (!PyArg_UnpackTuple(args, "Solver_VarEvalValEvalTieBreakPhase", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
29796  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29797  if (!SWIG_IsOK(res1)) {
29798  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_VarEvalValEvalTieBreakPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29799  }
29800  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29801  {
29802  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29803  if (!PyErr_Occurred())
29804  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29805  return NULL;
29806  }
29807  arg2 = &temp2;
29808  }
29809  {
29810  SharedPyPtr input(obj2);
29811  arg3 = [input](int64_t index) {
29812  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29813  };
29814  }
29815  {
29816  SharedPyPtr input(obj3);
29817  arg4 = [input](int64_t i, int64_t j) {
29818  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29819  };
29820  }
29821  {
29822  SharedPyPtr input(obj4);
29823  arg5 = [input](int64_t index) {
29824  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29825  };
29826  }
29827  {
29828  try {
29829  result = (operations_research::DecisionBuilder *)operations_research_Solver_VarEvalValEvalTieBreakPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4,arg5);
29830  }
29831  catch (Swig::DirectorException &e) {
29832  SWIG_fail;
29833  }
29834  }
29836  return resultobj;
29837 fail:
29838  return NULL;
29839 }
29840 
29841 
29842 SWIGINTERN PyObject *_wrap_Solver_EvalEvalStrPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29843  PyObject *resultobj = 0;
29845  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29848  void *argp1 = 0 ;
29849  int res1 = 0 ;
29850  std::vector< operations_research::IntVar * > temp2 ;
29851  int val4 ;
29852  int ecode4 = 0 ;
29853  PyObject * obj0 = 0 ;
29854  PyObject * obj1 = 0 ;
29855  PyObject * obj2 = 0 ;
29856  PyObject * obj3 = 0 ;
29858 
29859  if (!PyArg_UnpackTuple(args, "Solver_EvalEvalStrPhase", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
29860  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29861  if (!SWIG_IsOK(res1)) {
29862  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_EvalEvalStrPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29863  }
29864  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29865  {
29866  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29867  if (!PyErr_Occurred())
29868  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29869  return NULL;
29870  }
29871  arg2 = &temp2;
29872  }
29873  {
29874  SharedPyPtr input(obj2);
29875  arg3 = [input](int64_t i, int64_t j) {
29876  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29877  };
29878  }
29879  ecode4 = SWIG_AsVal_int(obj3, &val4);
29880  if (!SWIG_IsOK(ecode4)) {
29881  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_EvalEvalStrPhase" "', argument " "4"" of type '" "operations_research::Solver::EvaluatorStrategy""'");
29882  }
29883  arg4 = static_cast< operations_research::Solver::EvaluatorStrategy >(val4);
29884  {
29885  try {
29886  result = (operations_research::DecisionBuilder *)operations_research_Solver_EvalEvalStrPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
29887  }
29888  catch (Swig::DirectorException &e) {
29889  SWIG_fail;
29890  }
29891  }
29893  return resultobj;
29894 fail:
29895  return NULL;
29896 }
29897 
29898 
29899 SWIGINTERN PyObject *_wrap_Solver_EvalEvalStrTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29900  PyObject *resultobj = 0;
29902  std::vector< operations_research::IntVar * > *arg2 = 0 ;
29906  void *argp1 = 0 ;
29907  int res1 = 0 ;
29908  std::vector< operations_research::IntVar * > temp2 ;
29909  int val5 ;
29910  int ecode5 = 0 ;
29911  PyObject * obj0 = 0 ;
29912  PyObject * obj1 = 0 ;
29913  PyObject * obj2 = 0 ;
29914  PyObject * obj3 = 0 ;
29915  PyObject * obj4 = 0 ;
29917 
29918  if (!PyArg_UnpackTuple(args, "Solver_EvalEvalStrTieBreakPhase", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
29919  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29920  if (!SWIG_IsOK(res1)) {
29921  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_EvalEvalStrTieBreakPhase" "', argument " "1"" of type '" "operations_research::Solver *""'");
29922  }
29923  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29924  {
29925  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
29926  if (!PyErr_Occurred())
29927  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
29928  return NULL;
29929  }
29930  arg2 = &temp2;
29931  }
29932  {
29933  SharedPyPtr input(obj2);
29934  arg3 = [input](int64_t i, int64_t j) {
29935  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
29936  };
29937  }
29938  {
29939  SharedPyPtr input(obj3);
29940  arg4 = [input](int64_t index) {
29941  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
29942  };
29943  }
29944  ecode5 = SWIG_AsVal_int(obj4, &val5);
29945  if (!SWIG_IsOK(ecode5)) {
29946  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_EvalEvalStrTieBreakPhase" "', argument " "5"" of type '" "operations_research::Solver::EvaluatorStrategy""'");
29947  }
29948  arg5 = static_cast< operations_research::Solver::EvaluatorStrategy >(val5);
29949  {
29950  try {
29951  result = (operations_research::DecisionBuilder *)operations_research_Solver_EvalEvalStrTieBreakPhase(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4,arg5);
29952  }
29953  catch (Swig::DirectorException &e) {
29954  SWIG_fail;
29955  }
29956  }
29958  return resultobj;
29959 fail:
29960  return NULL;
29961 }
29962 
29963 
29964 SWIGINTERN PyObject *_wrap_Solver_GuidedLocalSearch__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
29965  PyObject *resultobj = 0;
29967  bool arg2 ;
29970  int64_t arg5 ;
29971  std::vector< operations_research::IntVar * > *arg6 = 0 ;
29972  double arg7 ;
29973  void *argp1 = 0 ;
29974  int res1 = 0 ;
29975  bool val2 ;
29976  int ecode2 = 0 ;
29977  long val5 ;
29978  int ecode5 = 0 ;
29979  std::vector< operations_research::IntVar * > temp6 ;
29980  double val7 ;
29981  int ecode7 = 0 ;
29982  PyObject * obj0 = 0 ;
29983  PyObject * obj1 = 0 ;
29984  PyObject * obj2 = 0 ;
29985  PyObject * obj3 = 0 ;
29986  PyObject * obj4 = 0 ;
29987  PyObject * obj5 = 0 ;
29988  PyObject * obj6 = 0 ;
29990 
29991  if (!PyArg_UnpackTuple(args, "Solver_GuidedLocalSearch", 7, 7, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5, &obj6)) SWIG_fail;
29992  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
29993  if (!SWIG_IsOK(res1)) {
29994  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_GuidedLocalSearch" "', argument " "1"" of type '" "operations_research::Solver *""'");
29995  }
29996  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
29997  ecode2 = SWIG_AsVal_bool(obj1, &val2);
29998  if (!SWIG_IsOK(ecode2)) {
29999  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Solver_GuidedLocalSearch" "', argument " "2"" of type '" "bool""'");
30000  }
30001  arg2 = static_cast< bool >(val2);
30002  {
30003  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
30004  }
30005  {
30006  SharedPyPtr input(obj3);
30007  arg4 = [input](int64_t i, int64_t j) {
30008  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
30009  };
30010  }
30011  ecode5 = SWIG_AsVal_long(obj4, &val5);
30012  if (!SWIG_IsOK(ecode5)) {
30013  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Solver_GuidedLocalSearch" "', argument " "5"" of type '" "int64_t""'");
30014  }
30015  arg5 = static_cast< int64_t >(val5);
30016  {
30017  if (!vector_input_helper(obj5, &temp6, PyObjAs<operations_research::IntVar*>)) {
30018  if (!PyErr_Occurred())
30019  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
30020  return NULL;
30021  }
30022  arg6 = &temp6;
30023  }
30024  ecode7 = SWIG_AsVal_double(obj6, &val7);
30025  if (!SWIG_IsOK(ecode7)) {
30026  SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Solver_GuidedLocalSearch" "', argument " "7"" of type '" "double""'");
30027  }
30028  arg7 = static_cast< double >(val7);
30029  {
30030  try {
30031  result = (operations_research::SearchMonitor *)operations_research_Solver_GuidedLocalSearch__SWIG_2(arg1,arg2,arg3,arg4,arg5,(std::vector< operations_research::IntVar * > const &)*arg6,arg7);
30032  }
30033  catch (Swig::DirectorException &e) {
30034  SWIG_fail;
30035  }
30036  }
30038  return resultobj;
30039 fail:
30040  return NULL;
30041 }
30042 
30043 
30044 SWIGINTERN PyObject *_wrap_Solver_GuidedLocalSearch(PyObject *self, PyObject *args) {
30045  Py_ssize_t argc;
30046  PyObject *argv[9] = {
30047  0
30048  };
30049  Py_ssize_t ii;
30050 
30051  if (!PyTuple_Check(args)) SWIG_fail;
30052  argc = PyObject_Length(args);
30053  for (ii = 0; (ii < 8) && (ii < argc); ii++) {
30054  argv[ii] = PyTuple_GET_ITEM(args,ii);
30055  }
30056  if (argc == 7) {
30057  int _v;
30058  void *vptr = 0;
30059  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
30060  _v = SWIG_CheckState(res);
30061  if (_v) {
30062  {
30063  int res = SWIG_AsVal_bool(argv[1], NULL);
30064  _v = SWIG_CheckState(res);
30065  }
30066  if (_v) {
30067  {
30068  _v = CanConvertToIntVar(argv[2]);
30069  if (_v == 0) PyErr_Clear();
30070  }
30071  if (_v) {
30072  {
30073  _v = PyCallable_Check(argv[3]);
30074  }
30075  if (_v) {
30076  {
30077  int res = SWIG_AsVal_long(argv[4], NULL);
30078  _v = SWIG_CheckState(res);
30079  }
30080  if (_v) {
30081  {
30082  if (!PyTuple_Check(argv[5]) && !PyList_Check(argv[5])) {
30083  _v = 0;
30084  } else {
30085  const bool is_tuple = PyTuple_Check(argv[5]);
30086  const size_t size = is_tuple ? PyTuple_Size(argv[5]) : PyList_Size(argv[5]);
30087  size_t i = 0;
30088  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[5], i)
30089  :PyList_GetItem(argv[5], i))) {
30090  ++i;
30091  }
30092  _v = i == size;
30093  }
30094  }
30095  if (_v) {
30096  {
30097  int res = SWIG_AsVal_double(argv[6], NULL);
30098  _v = SWIG_CheckState(res);
30099  }
30100  if (_v) {
30101  return _wrap_Solver_GuidedLocalSearch__SWIG_0(self, args);
30102  }
30103  }
30104  }
30105  }
30106  }
30107  }
30108  }
30109  }
30110  if (argc == 7) {
30111  int _v;
30112  void *vptr = 0;
30113  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
30114  _v = SWIG_CheckState(res);
30115  if (_v) {
30116  {
30117  int res = SWIG_AsVal_bool(argv[1], NULL);
30118  _v = SWIG_CheckState(res);
30119  }
30120  if (_v) {
30121  {
30122  _v = CanConvertToIntVar(argv[2]);
30123  if (_v == 0) PyErr_Clear();
30124  }
30125  if (_v) {
30126  {
30127  _v = PyCallable_Check(argv[3]);
30128  }
30129  if (_v) {
30130  {
30131  int res = SWIG_AsVal_long(argv[4], NULL);
30132  _v = SWIG_CheckState(res);
30133  }
30134  if (_v) {
30135  {
30136  if (!PyTuple_Check(argv[5]) && !PyList_Check(argv[5])) {
30137  _v = 0;
30138  } else {
30139  const bool is_tuple = PyTuple_Check(argv[5]);
30140  const size_t size = is_tuple ? PyTuple_Size(argv[5]) : PyList_Size(argv[5]);
30141  size_t i = 0;
30142  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[5], i)
30143  :PyList_GetItem(argv[5], i))) {
30144  ++i;
30145  }
30146  _v = i == size;
30147  }
30148  }
30149  if (_v) {
30150  {
30151  int res = SWIG_AsVal_double(argv[6], NULL);
30152  _v = SWIG_CheckState(res);
30153  }
30154  if (_v) {
30155  return _wrap_Solver_GuidedLocalSearch__SWIG_2(self, args);
30156  }
30157  }
30158  }
30159  }
30160  }
30161  }
30162  }
30163  }
30164  if (argc == 8) {
30165  int _v;
30166  void *vptr = 0;
30167  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
30168  _v = SWIG_CheckState(res);
30169  if (_v) {
30170  {
30171  int res = SWIG_AsVal_bool(argv[1], NULL);
30172  _v = SWIG_CheckState(res);
30173  }
30174  if (_v) {
30175  {
30176  _v = CanConvertToIntVar(argv[2]);
30177  if (_v == 0) PyErr_Clear();
30178  }
30179  if (_v) {
30180  {
30181  _v = PyCallable_Check(argv[3]);
30182  }
30183  if (_v) {
30184  {
30185  int res = SWIG_AsVal_long(argv[4], NULL);
30186  _v = SWIG_CheckState(res);
30187  }
30188  if (_v) {
30189  {
30190  if (!PyTuple_Check(argv[5]) && !PyList_Check(argv[5])) {
30191  _v = 0;
30192  } else {
30193  const bool is_tuple = PyTuple_Check(argv[5]);
30194  const size_t size = is_tuple ? PyTuple_Size(argv[5]) : PyList_Size(argv[5]);
30195  size_t i = 0;
30196  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[5], i)
30197  :PyList_GetItem(argv[5], i))) {
30198  ++i;
30199  }
30200  _v = i == size;
30201  }
30202  }
30203  if (_v) {
30204  {
30205  if (!PyTuple_Check(argv[6]) && !PyList_Check(argv[6])) {
30206  _v = 0;
30207  } else {
30208  const bool is_tuple = PyTuple_Check(argv[6]);
30209  const size_t size = is_tuple ? PyTuple_Size(argv[6]) : PyList_Size(argv[6]);
30210  size_t i = 0;
30211  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[6], i)
30212  :PyList_GetItem(argv[6], i))) {
30213  ++i;
30214  }
30215  _v = i == size;
30216  }
30217  }
30218  if (_v) {
30219  {
30220  int res = SWIG_AsVal_double(argv[7], NULL);
30221  _v = SWIG_CheckState(res);
30222  }
30223  if (_v) {
30224  return _wrap_Solver_GuidedLocalSearch__SWIG_1(self, args);
30225  }
30226  }
30227  }
30228  }
30229  }
30230  }
30231  }
30232  }
30233  }
30234 
30235 fail:
30236  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Solver_GuidedLocalSearch'.\n"
30237  " Possible C/C++ prototypes are:\n"
30238  " operations_research::Solver::MakeGuidedLocalSearch(bool,operations_research::IntVar *const,operations_research::Solver::IndexEvaluator2,int64_t,std::vector< operations_research::IntVar * > const &,double)\n"
30239  " operations_research::Solver::MakeGuidedLocalSearch(bool,operations_research::IntVar *const,operations_research::Solver::IndexEvaluator3,int64_t,std::vector< operations_research::IntVar * > const &,std::vector< operations_research::IntVar * > const &,double)\n"
30240  " operations_research::Solver::GuidedLocalSearch(bool,operations_research::IntVar *const,operations_research::Solver::IndexEvaluator2,int64_t,std::vector< operations_research::IntVar * > const &,double)\n");
30241  return 0;
30242 }
30243 
30244 
30245 SWIGINTERN PyObject *_wrap_Solver_SumObjectiveFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30246  PyObject *resultobj = 0;
30248  std::vector< operations_research::IntVar * > *arg2 = 0 ;
30251  void *argp1 = 0 ;
30252  int res1 = 0 ;
30253  std::vector< operations_research::IntVar * > temp2 ;
30254  int val4 ;
30255  int ecode4 = 0 ;
30256  PyObject * obj0 = 0 ;
30257  PyObject * obj1 = 0 ;
30258  PyObject * obj2 = 0 ;
30259  PyObject * obj3 = 0 ;
30261 
30262  if (!PyArg_UnpackTuple(args, "Solver_SumObjectiveFilter", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
30263  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
30264  if (!SWIG_IsOK(res1)) {
30265  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Solver_SumObjectiveFilter" "', argument " "1"" of type '" "operations_research::Solver *""'");
30266  }
30267  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
30268  {
30269  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
30270  if (!PyErr_Occurred())
30271  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
30272  return NULL;
30273  }
30274  arg2 = &temp2;
30275  }
30276  {
30277  SharedPyPtr input(obj2);
30278  arg3 = [input](int64_t i, int64_t j) {
30279  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
30280  };
30281  }
30282  ecode4 = SWIG_AsVal_int(obj3, &val4);
30283  if (!SWIG_IsOK(ecode4)) {
30284  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Solver_SumObjectiveFilter" "', argument " "4"" of type '" "operations_research::Solver::LocalSearchFilterBound""'");
30285  }
30286  arg4 = static_cast< operations_research::Solver::LocalSearchFilterBound >(val4);
30287  {
30288  try {
30289  result = (operations_research::LocalSearchFilter *)operations_research_Solver_SumObjectiveFilter(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3,arg4);
30290  }
30291  catch (Swig::DirectorException &e) {
30292  SWIG_fail;
30293  }
30294  }
30296  return resultobj;
30297 fail:
30298  return NULL;
30299 }
30300 
30301 
30302 SWIGINTERN PyObject *Solver_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30303  PyObject *obj;
30304  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
30306  return SWIG_Py_Void();
30307 }
30308 
30309 SWIGINTERN PyObject *Solver_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30310  return SWIG_Python_InitShadowInstance(args);
30311 }
30312 
30313 SWIGINTERN PyObject *_wrap___lshift____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30314  PyObject *resultobj = 0;
30315  std::ostream *arg1 = 0 ;
30317  void *argp1 = 0 ;
30318  int res1 = 0 ;
30319  void *argp2 = 0 ;
30320  int res2 = 0 ;
30321  PyObject * obj0 = 0 ;
30322  PyObject * obj1 = 0 ;
30323  std::ostream *result = 0 ;
30324 
30325  if (!PyArg_UnpackTuple(args, "__lshift__", 2, 2, &obj0, &obj1)) SWIG_fail;
30326  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_std__ostream, 0 );
30327  if (!SWIG_IsOK(res1)) {
30328  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
30329  }
30330  if (!argp1) {
30331  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
30332  }
30333  arg1 = reinterpret_cast< std::ostream * >(argp1);
30334  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
30335  if (!SWIG_IsOK(res2)) {
30336  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::Solver const *const""'");
30337  }
30338  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
30339  {
30340  try {
30341  result = (std::ostream *) &operations_research::operator <<(*arg1,(operations_research::Solver const *)arg2);
30342  }
30343  catch (Swig::DirectorException &e) {
30344  SWIG_fail;
30345  }
30346  }
30347  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, 0 | 0 );
30348  return resultobj;
30349 fail:
30350  PyErr_Clear();
30351  Py_INCREF(Py_NotImplemented);
30352  return Py_NotImplemented;
30353 }
30354 
30355 
30356 SWIGINTERN PyObject *_wrap_new_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30357  PyObject *resultobj = 0;
30358  PyObject *arg1 = (PyObject *) 0 ;
30359  PyObject * obj0 = 0 ;
30360  operations_research::BaseObject *result = 0 ;
30361 
30362  if (!PyArg_UnpackTuple(args, "new_BaseObject", 1, 1, &obj0)) SWIG_fail;
30363  arg1 = obj0;
30364  {
30365  try {
30366  if ( arg1 != Py_None ) {
30367  /* subclassed */
30369  } else {
30371  }
30372  }
30373  catch (Swig::DirectorException &e) {
30374  SWIG_fail;
30375  }
30376  }
30378  return resultobj;
30379 fail:
30380  return NULL;
30381 }
30382 
30383 
30384 SWIGINTERN PyObject *_wrap_delete_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30385  PyObject *resultobj = 0;
30387  void *argp1 = 0 ;
30388  int res1 = 0 ;
30389  PyObject * obj0 = 0 ;
30390 
30391  if (!PyArg_UnpackTuple(args, "delete_BaseObject", 1, 1, &obj0)) SWIG_fail;
30393  if (!SWIG_IsOK(res1)) {
30394  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_BaseObject" "', argument " "1"" of type '" "operations_research::BaseObject *""'");
30395  }
30396  arg1 = reinterpret_cast< operations_research::BaseObject * >(argp1);
30397  {
30398  try {
30399  delete arg1;
30400  }
30401  catch (Swig::DirectorException &e) {
30402  SWIG_fail;
30403  }
30404  }
30405  resultobj = SWIG_Py_Void();
30406  return resultobj;
30407 fail:
30408  return NULL;
30409 }
30410 
30411 
30412 SWIGINTERN PyObject *_wrap_BaseObject_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30413  PyObject *resultobj = 0;
30415  void *argp1 = 0 ;
30416  int res1 = 0 ;
30417  PyObject * obj0 = 0 ;
30418  Swig::Director *director = 0;
30419  bool upcall = false;
30420  std::string result;
30421 
30422  if (!PyArg_UnpackTuple(args, "BaseObject_DebugString", 1, 1, &obj0)) SWIG_fail;
30423  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseObject, 0 | 0 );
30424  if (!SWIG_IsOK(res1)) {
30425  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseObject_DebugString" "', argument " "1"" of type '" "operations_research::BaseObject const *""'");
30426  }
30427  arg1 = reinterpret_cast< operations_research::BaseObject * >(argp1);
30428  director = SWIG_DIRECTOR_CAST(arg1);
30429  upcall = (director && (director->swig_get_self()==obj0));
30430  try {
30431  {
30432  try {
30433  if (upcall) {
30434  result = ((operations_research::BaseObject const *)arg1)->operations_research::BaseObject::DebugString();
30435  } else {
30436  result = ((operations_research::BaseObject const *)arg1)->DebugString();
30437  }
30438  }
30439  catch (Swig::DirectorException &e) {
30440  SWIG_fail;
30441  }
30442  }
30443  } catch (Swig::DirectorException&) {
30444  SWIG_fail;
30445  }
30446  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30447  return resultobj;
30448 fail:
30449  return NULL;
30450 }
30451 
30452 
30453 SWIGINTERN PyObject *_wrap_BaseObject___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30454  PyObject *resultobj = 0;
30456  void *argp1 = 0 ;
30457  int res1 = 0 ;
30458  PyObject * obj0 = 0 ;
30459  std::string result;
30460 
30461  if (!PyArg_UnpackTuple(args, "BaseObject___str__", 1, 1, &obj0)) SWIG_fail;
30462  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseObject, 0 | 0 );
30463  if (!SWIG_IsOK(res1)) {
30464  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseObject___str__" "', argument " "1"" of type '" "operations_research::BaseObject *""'");
30465  }
30466  arg1 = reinterpret_cast< operations_research::BaseObject * >(argp1);
30467  {
30468  try {
30470  }
30471  catch (Swig::DirectorException &e) {
30472  SWIG_fail;
30473  }
30474  }
30475  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30476  return resultobj;
30477 fail:
30478  return NULL;
30479 }
30480 
30481 
30482 SWIGINTERN PyObject *_wrap_BaseObject___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30483  PyObject *resultobj = 0;
30485  void *argp1 = 0 ;
30486  int res1 = 0 ;
30487  PyObject * obj0 = 0 ;
30488  std::string result;
30489 
30490  if (!PyArg_UnpackTuple(args, "BaseObject___repr__", 1, 1, &obj0)) SWIG_fail;
30491  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseObject, 0 | 0 );
30492  if (!SWIG_IsOK(res1)) {
30493  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseObject___repr__" "', argument " "1"" of type '" "operations_research::BaseObject *""'");
30494  }
30495  arg1 = reinterpret_cast< operations_research::BaseObject * >(argp1);
30496  {
30497  try {
30499  }
30500  catch (Swig::DirectorException &e) {
30501  SWIG_fail;
30502  }
30503  }
30504  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30505  return resultobj;
30506 fail:
30507  return NULL;
30508 }
30509 
30510 
30511 SWIGINTERN PyObject *_wrap_disown_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30512  PyObject *resultobj = 0;
30514  void *argp1 = 0 ;
30515  int res1 = 0 ;
30516  PyObject * obj0 = 0 ;
30517 
30518  if (!PyArg_UnpackTuple(args, "disown_BaseObject", 1, 1, &obj0)) SWIG_fail;
30519  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseObject, 0 | 0 );
30520  if (!SWIG_IsOK(res1)) {
30521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_BaseObject" "', argument " "1"" of type '" "operations_research::BaseObject *""'");
30522  }
30523  arg1 = reinterpret_cast< operations_research::BaseObject * >(argp1);
30524  {
30525  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
30526  if (director) director->swig_disown();
30527  }
30528 
30529  resultobj = SWIG_Py_Void();
30530  return resultobj;
30531 fail:
30532  return NULL;
30533 }
30534 
30535 
30536 SWIGINTERN PyObject *BaseObject_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30537  PyObject *obj;
30538  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
30540  return SWIG_Py_Void();
30541 }
30542 
30543 SWIGINTERN PyObject *BaseObject_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30544  return SWIG_Python_InitShadowInstance(args);
30545 }
30546 
30547 SWIGINTERN PyObject *_wrap___lshift____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30548  PyObject *resultobj = 0;
30549  std::ostream *arg1 = 0 ;
30551  void *argp1 = 0 ;
30552  int res1 = 0 ;
30553  void *argp2 = 0 ;
30554  int res2 = 0 ;
30555  PyObject * obj0 = 0 ;
30556  PyObject * obj1 = 0 ;
30557  std::ostream *result = 0 ;
30558 
30559  if (!PyArg_UnpackTuple(args, "__lshift__", 2, 2, &obj0, &obj1)) SWIG_fail;
30560  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_std__ostream, 0 );
30561  if (!SWIG_IsOK(res1)) {
30562  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
30563  }
30564  if (!argp1) {
30565  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
30566  }
30567  arg1 = reinterpret_cast< std::ostream * >(argp1);
30568  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__BaseObject, 0 | 0 );
30569  if (!SWIG_IsOK(res2)) {
30570  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::BaseObject const *""'");
30571  }
30572  arg2 = reinterpret_cast< operations_research::BaseObject * >(argp2);
30573  {
30574  try {
30575  result = (std::ostream *) &operations_research::operator <<(*arg1,(operations_research::BaseObject const *)arg2);
30576  }
30577  catch (Swig::DirectorException &e) {
30578  SWIG_fail;
30579  }
30580  }
30581  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, 0 | 0 );
30582  return resultobj;
30583 fail:
30584  PyErr_Clear();
30585  Py_INCREF(Py_NotImplemented);
30586  return Py_NotImplemented;
30587 }
30588 
30589 
30590 SWIGINTERN PyObject *_wrap_new_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30591  PyObject *resultobj = 0;
30592  PyObject *arg1 = (PyObject *) 0 ;
30594  void *argp2 = 0 ;
30595  int res2 = 0 ;
30596  PyObject * obj0 = 0 ;
30597  PyObject * obj1 = 0 ;
30599 
30600  if (!PyArg_UnpackTuple(args, "new_PropagationBaseObject", 2, 2, &obj0, &obj1)) SWIG_fail;
30601  arg1 = obj0;
30602  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
30603  if (!SWIG_IsOK(res2)) {
30604  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_PropagationBaseObject" "', argument " "2"" of type '" "operations_research::Solver *const""'");
30605  }
30606  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
30607  {
30608  try {
30609  if ( arg1 != Py_None ) {
30610  /* subclassed */
30612  } else {
30614  }
30615  }
30616  catch (Swig::DirectorException &e) {
30617  SWIG_fail;
30618  }
30619  }
30621  return resultobj;
30622 fail:
30623  return NULL;
30624 }
30625 
30626 
30627 SWIGINTERN PyObject *_wrap_delete_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30628  PyObject *resultobj = 0;
30630  void *argp1 = 0 ;
30631  int res1 = 0 ;
30632  PyObject * obj0 = 0 ;
30633 
30634  if (!PyArg_UnpackTuple(args, "delete_PropagationBaseObject", 1, 1, &obj0)) SWIG_fail;
30636  if (!SWIG_IsOK(res1)) {
30637  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_PropagationBaseObject" "', argument " "1"" of type '" "operations_research::PropagationBaseObject *""'");
30638  }
30639  arg1 = reinterpret_cast< operations_research::PropagationBaseObject * >(argp1);
30640  {
30641  try {
30642  delete arg1;
30643  }
30644  catch (Swig::DirectorException &e) {
30645  SWIG_fail;
30646  }
30647  }
30648  resultobj = SWIG_Py_Void();
30649  return resultobj;
30650 fail:
30651  return NULL;
30652 }
30653 
30654 
30655 SWIGINTERN PyObject *_wrap_PropagationBaseObject_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30656  PyObject *resultobj = 0;
30658  void *argp1 = 0 ;
30659  int res1 = 0 ;
30660  PyObject * obj0 = 0 ;
30661  Swig::Director *director = 0;
30662  bool upcall = false;
30663  std::string result;
30664 
30665  if (!PyArg_UnpackTuple(args, "PropagationBaseObject_DebugString", 1, 1, &obj0)) SWIG_fail;
30667  if (!SWIG_IsOK(res1)) {
30668  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PropagationBaseObject_DebugString" "', argument " "1"" of type '" "operations_research::PropagationBaseObject const *""'");
30669  }
30670  arg1 = reinterpret_cast< operations_research::PropagationBaseObject * >(argp1);
30671  director = SWIG_DIRECTOR_CAST(arg1);
30672  upcall = (director && (director->swig_get_self()==obj0));
30673  try {
30674  {
30675  try {
30676  if (upcall) {
30677  result = ((operations_research::PropagationBaseObject const *)arg1)->operations_research::PropagationBaseObject::DebugString();
30678  } else {
30679  result = ((operations_research::PropagationBaseObject const *)arg1)->DebugString();
30680  }
30681  }
30682  catch (Swig::DirectorException &e) {
30683  SWIG_fail;
30684  }
30685  }
30686  } catch (Swig::DirectorException&) {
30687  SWIG_fail;
30688  }
30689  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30690  return resultobj;
30691 fail:
30692  return NULL;
30693 }
30694 
30695 
30696 SWIGINTERN PyObject *_wrap_PropagationBaseObject_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30697  PyObject *resultobj = 0;
30699  void *argp1 = 0 ;
30700  int res1 = 0 ;
30701  PyObject * obj0 = 0 ;
30702  operations_research::Solver *result = 0 ;
30703 
30704  if (!PyArg_UnpackTuple(args, "PropagationBaseObject_solver", 1, 1, &obj0)) SWIG_fail;
30706  if (!SWIG_IsOK(res1)) {
30707  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PropagationBaseObject_solver" "', argument " "1"" of type '" "operations_research::PropagationBaseObject const *""'");
30708  }
30709  arg1 = reinterpret_cast< operations_research::PropagationBaseObject * >(argp1);
30710  {
30711  try {
30712  result = (operations_research::Solver *)((operations_research::PropagationBaseObject const *)arg1)->solver();
30713  }
30714  catch (Swig::DirectorException &e) {
30715  SWIG_fail;
30716  }
30717  }
30719  return resultobj;
30720 fail:
30721  return NULL;
30722 }
30723 
30724 
30725 SWIGINTERN PyObject *_wrap_PropagationBaseObject_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30726  PyObject *resultobj = 0;
30728  void *argp1 = 0 ;
30729  int res1 = 0 ;
30730  PyObject * obj0 = 0 ;
30731  Swig::Director *director = 0;
30732  bool upcall = false;
30733  std::string result;
30734 
30735  if (!PyArg_UnpackTuple(args, "PropagationBaseObject_Name", 1, 1, &obj0)) SWIG_fail;
30737  if (!SWIG_IsOK(res1)) {
30738  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PropagationBaseObject_Name" "', argument " "1"" of type '" "operations_research::PropagationBaseObject const *""'");
30739  }
30740  arg1 = reinterpret_cast< operations_research::PropagationBaseObject * >(argp1);
30741  director = SWIG_DIRECTOR_CAST(arg1);
30742  upcall = (director && (director->swig_get_self()==obj0));
30743  try {
30744  {
30745  try {
30746  if (upcall) {
30747  result = ((operations_research::PropagationBaseObject const *)arg1)->operations_research::PropagationBaseObject::name();
30748  } else {
30749  result = ((operations_research::PropagationBaseObject const *)arg1)->name();
30750  }
30751  }
30752  catch (Swig::DirectorException &e) {
30753  SWIG_fail;
30754  }
30755  }
30756  } catch (Swig::DirectorException&) {
30757  SWIG_fail;
30758  }
30759  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30760  return resultobj;
30761 fail:
30762  return NULL;
30763 }
30764 
30765 
30766 SWIGINTERN PyObject *_wrap_disown_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30767  PyObject *resultobj = 0;
30769  void *argp1 = 0 ;
30770  int res1 = 0 ;
30771  PyObject * obj0 = 0 ;
30772 
30773  if (!PyArg_UnpackTuple(args, "disown_PropagationBaseObject", 1, 1, &obj0)) SWIG_fail;
30775  if (!SWIG_IsOK(res1)) {
30776  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_PropagationBaseObject" "', argument " "1"" of type '" "operations_research::PropagationBaseObject *""'");
30777  }
30778  arg1 = reinterpret_cast< operations_research::PropagationBaseObject * >(argp1);
30779  {
30780  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
30781  if (director) director->swig_disown();
30782  }
30783 
30784  resultobj = SWIG_Py_Void();
30785  return resultobj;
30786 fail:
30787  return NULL;
30788 }
30789 
30790 
30791 SWIGINTERN PyObject *PropagationBaseObject_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30792  PyObject *obj;
30793  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
30795  return SWIG_Py_Void();
30796 }
30797 
30798 SWIGINTERN PyObject *PropagationBaseObject_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30799  return SWIG_Python_InitShadowInstance(args);
30800 }
30801 
30802 SWIGINTERN PyObject *_wrap_new_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30803  PyObject *resultobj = 0;
30804  PyObject *arg1 = (PyObject *) 0 ;
30805  PyObject * obj0 = 0 ;
30806  operations_research::Decision *result = 0 ;
30807 
30808  if (!PyArg_UnpackTuple(args, "new_Decision", 1, 1, &obj0)) SWIG_fail;
30809  arg1 = obj0;
30810  {
30811  try {
30812  if ( arg1 != Py_None ) {
30813  /* subclassed */
30815  } else {
30816  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
30817  SWIG_fail;
30818  }
30819  }
30820  catch (Swig::DirectorException &e) {
30821  SWIG_fail;
30822  }
30823  }
30825  return resultobj;
30826 fail:
30827  return NULL;
30828 }
30829 
30830 
30831 SWIGINTERN PyObject *_wrap_delete_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30832  PyObject *resultobj = 0;
30834  void *argp1 = 0 ;
30835  int res1 = 0 ;
30836  PyObject * obj0 = 0 ;
30837 
30838  if (!PyArg_UnpackTuple(args, "delete_Decision", 1, 1, &obj0)) SWIG_fail;
30840  if (!SWIG_IsOK(res1)) {
30841  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Decision" "', argument " "1"" of type '" "operations_research::Decision *""'");
30842  }
30843  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
30844  {
30845  try {
30846  delete arg1;
30847  }
30848  catch (Swig::DirectorException &e) {
30849  SWIG_fail;
30850  }
30851  }
30852  resultobj = SWIG_Py_Void();
30853  return resultobj;
30854 fail:
30855  return NULL;
30856 }
30857 
30858 
30859 SWIGINTERN PyObject *_wrap_Decision_ApplyWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30860  PyObject *resultobj = 0;
30863  void *argp1 = 0 ;
30864  int res1 = 0 ;
30865  void *argp2 = 0 ;
30866  int res2 = 0 ;
30867  PyObject * obj0 = 0 ;
30868  PyObject * obj1 = 0 ;
30869  Swig::Director *director = 0;
30870  bool upcall = false;
30871 
30872  if (!PyArg_UnpackTuple(args, "Decision_ApplyWrapper", 2, 2, &obj0, &obj1)) SWIG_fail;
30873  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
30874  if (!SWIG_IsOK(res1)) {
30875  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Decision_ApplyWrapper" "', argument " "1"" of type '" "operations_research::Decision *""'");
30876  }
30877  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
30878  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
30879  if (!SWIG_IsOK(res2)) {
30880  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Decision_ApplyWrapper" "', argument " "2"" of type '" "operations_research::Solver *const""'");
30881  }
30882  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
30883  director = SWIG_DIRECTOR_CAST(arg1);
30884  upcall = (director && (director->swig_get_self()==obj0));
30885  try {
30886  {
30887  try {
30888  if (upcall) {
30889  Swig::DirectorPureVirtualException::raise("operations_research::Decision::Apply");
30890  } else {
30891  (arg1)->Apply(arg2);
30892  }
30893  }
30894  catch (Swig::DirectorException &e) {
30895  SWIG_fail;
30896  }
30897  }
30898  } catch (Swig::DirectorException&) {
30899  SWIG_fail;
30900  }
30901  resultobj = SWIG_Py_Void();
30902  return resultobj;
30903 fail:
30904  return NULL;
30905 }
30906 
30907 
30908 SWIGINTERN PyObject *_wrap_Decision_RefuteWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30909  PyObject *resultobj = 0;
30912  void *argp1 = 0 ;
30913  int res1 = 0 ;
30914  void *argp2 = 0 ;
30915  int res2 = 0 ;
30916  PyObject * obj0 = 0 ;
30917  PyObject * obj1 = 0 ;
30918  Swig::Director *director = 0;
30919  bool upcall = false;
30920 
30921  if (!PyArg_UnpackTuple(args, "Decision_RefuteWrapper", 2, 2, &obj0, &obj1)) SWIG_fail;
30922  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
30923  if (!SWIG_IsOK(res1)) {
30924  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Decision_RefuteWrapper" "', argument " "1"" of type '" "operations_research::Decision *""'");
30925  }
30926  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
30927  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
30928  if (!SWIG_IsOK(res2)) {
30929  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Decision_RefuteWrapper" "', argument " "2"" of type '" "operations_research::Solver *const""'");
30930  }
30931  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
30932  director = SWIG_DIRECTOR_CAST(arg1);
30933  upcall = (director && (director->swig_get_self()==obj0));
30934  try {
30935  {
30936  try {
30937  if (upcall) {
30938  Swig::DirectorPureVirtualException::raise("operations_research::Decision::Refute");
30939  } else {
30940  (arg1)->Refute(arg2);
30941  }
30942  }
30943  catch (Swig::DirectorException &e) {
30944  SWIG_fail;
30945  }
30946  }
30947  } catch (Swig::DirectorException&) {
30948  SWIG_fail;
30949  }
30950  resultobj = SWIG_Py_Void();
30951  return resultobj;
30952 fail:
30953  return NULL;
30954 }
30955 
30956 
30957 SWIGINTERN PyObject *_wrap_Decision_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30958  PyObject *resultobj = 0;
30960  void *argp1 = 0 ;
30961  int res1 = 0 ;
30962  PyObject * obj0 = 0 ;
30963  Swig::Director *director = 0;
30964  bool upcall = false;
30965  std::string result;
30966 
30967  if (!PyArg_UnpackTuple(args, "Decision_DebugString", 1, 1, &obj0)) SWIG_fail;
30968  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
30969  if (!SWIG_IsOK(res1)) {
30970  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Decision_DebugString" "', argument " "1"" of type '" "operations_research::Decision const *""'");
30971  }
30972  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
30973  director = SWIG_DIRECTOR_CAST(arg1);
30974  upcall = (director && (director->swig_get_self()==obj0));
30975  try {
30976  {
30977  try {
30978  if (upcall) {
30979  result = ((operations_research::Decision const *)arg1)->operations_research::Decision::DebugString();
30980  } else {
30981  result = ((operations_research::Decision const *)arg1)->DebugString();
30982  }
30983  }
30984  catch (Swig::DirectorException &e) {
30985  SWIG_fail;
30986  }
30987  }
30988  } catch (Swig::DirectorException&) {
30989  SWIG_fail;
30990  }
30991  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
30992  return resultobj;
30993 fail:
30994  return NULL;
30995 }
30996 
30997 
30998 SWIGINTERN PyObject *_wrap_Decision___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
30999  PyObject *resultobj = 0;
31001  void *argp1 = 0 ;
31002  int res1 = 0 ;
31003  PyObject * obj0 = 0 ;
31004  std::string result;
31005 
31006  if (!PyArg_UnpackTuple(args, "Decision___repr__", 1, 1, &obj0)) SWIG_fail;
31007  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
31008  if (!SWIG_IsOK(res1)) {
31009  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Decision___repr__" "', argument " "1"" of type '" "operations_research::Decision *""'");
31010  }
31011  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
31012  {
31013  try {
31014  result = operations_research_Decision___repr__(arg1);
31015  }
31016  catch (Swig::DirectorException &e) {
31017  SWIG_fail;
31018  }
31019  }
31020  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31021  return resultobj;
31022 fail:
31023  return NULL;
31024 }
31025 
31026 
31027 SWIGINTERN PyObject *_wrap_Decision___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31028  PyObject *resultobj = 0;
31030  void *argp1 = 0 ;
31031  int res1 = 0 ;
31032  PyObject * obj0 = 0 ;
31033  std::string result;
31034 
31035  if (!PyArg_UnpackTuple(args, "Decision___str__", 1, 1, &obj0)) SWIG_fail;
31036  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
31037  if (!SWIG_IsOK(res1)) {
31038  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Decision___str__" "', argument " "1"" of type '" "operations_research::Decision *""'");
31039  }
31040  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
31041  {
31042  try {
31043  result = operations_research_Decision___str__(arg1);
31044  }
31045  catch (Swig::DirectorException &e) {
31046  SWIG_fail;
31047  }
31048  }
31049  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31050  return resultobj;
31051 fail:
31052  return NULL;
31053 }
31054 
31055 
31056 SWIGINTERN PyObject *_wrap_disown_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31057  PyObject *resultobj = 0;
31059  void *argp1 = 0 ;
31060  int res1 = 0 ;
31061  PyObject * obj0 = 0 ;
31062 
31063  if (!PyArg_UnpackTuple(args, "disown_Decision", 1, 1, &obj0)) SWIG_fail;
31064  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Decision, 0 | 0 );
31065  if (!SWIG_IsOK(res1)) {
31066  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_Decision" "', argument " "1"" of type '" "operations_research::Decision *""'");
31067  }
31068  arg1 = reinterpret_cast< operations_research::Decision * >(argp1);
31069  {
31070  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
31071  if (director) director->swig_disown();
31072  }
31073 
31074  resultobj = SWIG_Py_Void();
31075  return resultobj;
31076 fail:
31077  return NULL;
31078 }
31079 
31080 
31081 SWIGINTERN PyObject *Decision_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31082  PyObject *obj;
31083  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
31085  return SWIG_Py_Void();
31086 }
31087 
31088 SWIGINTERN PyObject *Decision_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31089  return SWIG_Python_InitShadowInstance(args);
31090 }
31091 
31092 SWIGINTERN PyObject *_wrap_new_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31093  PyObject *resultobj = 0;
31094  PyObject *arg1 = (PyObject *) 0 ;
31095  PyObject * obj0 = 0 ;
31097 
31098  if (!PyArg_UnpackTuple(args, "new_DecisionBuilder", 1, 1, &obj0)) SWIG_fail;
31099  arg1 = obj0;
31100  {
31101  try {
31102  if ( arg1 != Py_None ) {
31103  /* subclassed */
31105  } else {
31106  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
31107  SWIG_fail;
31108  }
31109  }
31110  catch (Swig::DirectorException &e) {
31111  SWIG_fail;
31112  }
31113  }
31115  return resultobj;
31116 fail:
31117  return NULL;
31118 }
31119 
31120 
31121 SWIGINTERN PyObject *_wrap_delete_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31122  PyObject *resultobj = 0;
31124  void *argp1 = 0 ;
31125  int res1 = 0 ;
31126  PyObject * obj0 = 0 ;
31127 
31128  if (!PyArg_UnpackTuple(args, "delete_DecisionBuilder", 1, 1, &obj0)) SWIG_fail;
31130  if (!SWIG_IsOK(res1)) {
31131  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DecisionBuilder" "', argument " "1"" of type '" "operations_research::DecisionBuilder *""'");
31132  }
31133  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31134  {
31135  try {
31136  delete arg1;
31137  }
31138  catch (Swig::DirectorException &e) {
31139  SWIG_fail;
31140  }
31141  }
31142  resultobj = SWIG_Py_Void();
31143  return resultobj;
31144 fail:
31145  return NULL;
31146 }
31147 
31148 
31149 SWIGINTERN PyObject *_wrap_DecisionBuilder_NextWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31150  PyObject *resultobj = 0;
31153  void *argp1 = 0 ;
31154  int res1 = 0 ;
31155  void *argp2 = 0 ;
31156  int res2 = 0 ;
31157  PyObject * obj0 = 0 ;
31158  PyObject * obj1 = 0 ;
31159  Swig::Director *director = 0;
31160  bool upcall = false;
31161  operations_research::Decision *result = 0 ;
31162 
31163  if (!PyArg_UnpackTuple(args, "DecisionBuilder_NextWrapper", 2, 2, &obj0, &obj1)) SWIG_fail;
31165  if (!SWIG_IsOK(res1)) {
31166  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DecisionBuilder_NextWrapper" "', argument " "1"" of type '" "operations_research::DecisionBuilder *""'");
31167  }
31168  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31169  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
31170  if (!SWIG_IsOK(res2)) {
31171  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DecisionBuilder_NextWrapper" "', argument " "2"" of type '" "operations_research::Solver *const""'");
31172  }
31173  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
31174  director = SWIG_DIRECTOR_CAST(arg1);
31175  upcall = (director && (director->swig_get_self()==obj0));
31176  try {
31177  {
31178  try {
31179  if (upcall) {
31180  Swig::DirectorPureVirtualException::raise("operations_research::DecisionBuilder::Next");
31181  } else {
31182  result = (operations_research::Decision *)(arg1)->Next(arg2);
31183  }
31184  }
31185  catch (Swig::DirectorException &e) {
31186  SWIG_fail;
31187  }
31188  }
31189  } catch (Swig::DirectorException&) {
31190  SWIG_fail;
31191  }
31192  director = SWIG_DIRECTOR_CAST(result);
31193  if (director) {
31194  resultobj = director->swig_get_self();
31195  Py_INCREF(resultobj);
31196  } else {
31198  }
31199  if (director) {
31200  SWIG_AcquirePtr(resultobj, director->swig_release_ownership(SWIG_as_voidptr(result)));
31201  }
31202  return resultobj;
31203 fail:
31204  return NULL;
31205 }
31206 
31207 
31208 SWIGINTERN PyObject *_wrap_DecisionBuilder_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31209  PyObject *resultobj = 0;
31211  void *argp1 = 0 ;
31212  int res1 = 0 ;
31213  PyObject * obj0 = 0 ;
31214  Swig::Director *director = 0;
31215  bool upcall = false;
31216  std::string result;
31217 
31218  if (!PyArg_UnpackTuple(args, "DecisionBuilder_DebugString", 1, 1, &obj0)) SWIG_fail;
31220  if (!SWIG_IsOK(res1)) {
31221  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DecisionBuilder_DebugString" "', argument " "1"" of type '" "operations_research::DecisionBuilder const *""'");
31222  }
31223  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31224  director = SWIG_DIRECTOR_CAST(arg1);
31225  upcall = (director && (director->swig_get_self()==obj0));
31226  try {
31227  {
31228  try {
31229  if (upcall) {
31230  result = ((operations_research::DecisionBuilder const *)arg1)->operations_research::DecisionBuilder::DebugString();
31231  } else {
31232  result = ((operations_research::DecisionBuilder const *)arg1)->DebugString();
31233  }
31234  }
31235  catch (Swig::DirectorException &e) {
31236  SWIG_fail;
31237  }
31238  }
31239  } catch (Swig::DirectorException&) {
31240  SWIG_fail;
31241  }
31242  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31243  return resultobj;
31244 fail:
31245  return NULL;
31246 }
31247 
31248 
31249 SWIGINTERN PyObject *_wrap_DecisionBuilder___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31250  PyObject *resultobj = 0;
31252  void *argp1 = 0 ;
31253  int res1 = 0 ;
31254  PyObject * obj0 = 0 ;
31255  std::string result;
31256 
31257  if (!PyArg_UnpackTuple(args, "DecisionBuilder___repr__", 1, 1, &obj0)) SWIG_fail;
31259  if (!SWIG_IsOK(res1)) {
31260  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DecisionBuilder___repr__" "', argument " "1"" of type '" "operations_research::DecisionBuilder *""'");
31261  }
31262  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31263  {
31264  try {
31266  }
31267  catch (Swig::DirectorException &e) {
31268  SWIG_fail;
31269  }
31270  }
31271  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31272  return resultobj;
31273 fail:
31274  return NULL;
31275 }
31276 
31277 
31278 SWIGINTERN PyObject *_wrap_DecisionBuilder___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31279  PyObject *resultobj = 0;
31281  void *argp1 = 0 ;
31282  int res1 = 0 ;
31283  PyObject * obj0 = 0 ;
31284  std::string result;
31285 
31286  if (!PyArg_UnpackTuple(args, "DecisionBuilder___str__", 1, 1, &obj0)) SWIG_fail;
31288  if (!SWIG_IsOK(res1)) {
31289  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DecisionBuilder___str__" "', argument " "1"" of type '" "operations_research::DecisionBuilder *""'");
31290  }
31291  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31292  {
31293  try {
31295  }
31296  catch (Swig::DirectorException &e) {
31297  SWIG_fail;
31298  }
31299  }
31300  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31301  return resultobj;
31302 fail:
31303  return NULL;
31304 }
31305 
31306 
31307 SWIGINTERN PyObject *_wrap_disown_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31308  PyObject *resultobj = 0;
31310  void *argp1 = 0 ;
31311  int res1 = 0 ;
31312  PyObject * obj0 = 0 ;
31313 
31314  if (!PyArg_UnpackTuple(args, "disown_DecisionBuilder", 1, 1, &obj0)) SWIG_fail;
31316  if (!SWIG_IsOK(res1)) {
31317  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_DecisionBuilder" "', argument " "1"" of type '" "operations_research::DecisionBuilder *""'");
31318  }
31319  arg1 = reinterpret_cast< operations_research::DecisionBuilder * >(argp1);
31320  {
31321  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
31322  if (director) director->swig_disown();
31323  }
31324 
31325  resultobj = SWIG_Py_Void();
31326  return resultobj;
31327 fail:
31328  return NULL;
31329 }
31330 
31331 
31332 SWIGINTERN PyObject *DecisionBuilder_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31333  PyObject *obj;
31334  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
31336  return SWIG_Py_Void();
31337 }
31338 
31339 SWIGINTERN PyObject *DecisionBuilder_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31340  return SWIG_Python_InitShadowInstance(args);
31341 }
31342 
31343 SWIGINTERN PyObject *_wrap_new_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31344  PyObject *resultobj = 0;
31345  PyObject *arg1 = (PyObject *) 0 ;
31346  PyObject * obj0 = 0 ;
31347  operations_research::Demon *result = 0 ;
31348 
31349  if (!PyArg_UnpackTuple(args, "new_Demon", 1, 1, &obj0)) SWIG_fail;
31350  arg1 = obj0;
31351  {
31352  try {
31353  if ( arg1 != Py_None ) {
31354  /* subclassed */
31355  result = (operations_research::Demon *)new SwigDirector_Demon(arg1);
31356  } else {
31357  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
31358  SWIG_fail;
31359  }
31360  }
31361  catch (Swig::DirectorException &e) {
31362  SWIG_fail;
31363  }
31364  }
31366  return resultobj;
31367 fail:
31368  return NULL;
31369 }
31370 
31371 
31372 SWIGINTERN PyObject *_wrap_delete_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31373  PyObject *resultobj = 0;
31375  void *argp1 = 0 ;
31376  int res1 = 0 ;
31377  PyObject * obj0 = 0 ;
31378 
31379  if (!PyArg_UnpackTuple(args, "delete_Demon", 1, 1, &obj0)) SWIG_fail;
31381  if (!SWIG_IsOK(res1)) {
31382  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Demon" "', argument " "1"" of type '" "operations_research::Demon *""'");
31383  }
31384  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31385  {
31386  try {
31387  delete arg1;
31388  }
31389  catch (Swig::DirectorException &e) {
31390  SWIG_fail;
31391  }
31392  }
31393  resultobj = SWIG_Py_Void();
31394  return resultobj;
31395 fail:
31396  return NULL;
31397 }
31398 
31399 
31400 SWIGINTERN PyObject *_wrap_Demon_RunWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31401  PyObject *resultobj = 0;
31404  void *argp1 = 0 ;
31405  int res1 = 0 ;
31406  void *argp2 = 0 ;
31407  int res2 = 0 ;
31408  PyObject * obj0 = 0 ;
31409  PyObject * obj1 = 0 ;
31410  Swig::Director *director = 0;
31411  bool upcall = false;
31412 
31413  if (!PyArg_UnpackTuple(args, "Demon_RunWrapper", 2, 2, &obj0, &obj1)) SWIG_fail;
31414  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31415  if (!SWIG_IsOK(res1)) {
31416  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Demon_RunWrapper" "', argument " "1"" of type '" "operations_research::Demon *""'");
31417  }
31418  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31419  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
31420  if (!SWIG_IsOK(res2)) {
31421  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Demon_RunWrapper" "', argument " "2"" of type '" "operations_research::Solver *const""'");
31422  }
31423  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
31424  director = SWIG_DIRECTOR_CAST(arg1);
31425  upcall = (director && (director->swig_get_self()==obj0));
31426  try {
31427  {
31428  try {
31429  if (upcall) {
31430  Swig::DirectorPureVirtualException::raise("operations_research::Demon::Run");
31431  } else {
31432  (arg1)->Run(arg2);
31433  }
31434  }
31435  catch (Swig::DirectorException &e) {
31436  SWIG_fail;
31437  }
31438  }
31439  } catch (Swig::DirectorException&) {
31440  SWIG_fail;
31441  }
31442  resultobj = SWIG_Py_Void();
31443  return resultobj;
31444 fail:
31445  return NULL;
31446 }
31447 
31448 
31449 SWIGINTERN PyObject *_wrap_Demon_Priority(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31450  PyObject *resultobj = 0;
31452  void *argp1 = 0 ;
31453  int res1 = 0 ;
31454  PyObject * obj0 = 0 ;
31455  Swig::Director *director = 0;
31456  bool upcall = false;
31458 
31459  if (!PyArg_UnpackTuple(args, "Demon_Priority", 1, 1, &obj0)) SWIG_fail;
31460  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31461  if (!SWIG_IsOK(res1)) {
31462  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Demon_Priority" "', argument " "1"" of type '" "operations_research::Demon const *""'");
31463  }
31464  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31465  director = SWIG_DIRECTOR_CAST(arg1);
31466  upcall = (director && (director->swig_get_self()==obj0));
31467  try {
31468  {
31469  try {
31470  if (upcall) {
31472  } else {
31473  result = (operations_research::Solver::DemonPriority)((operations_research::Demon const *)arg1)->priority();
31474  }
31475  }
31476  catch (Swig::DirectorException &e) {
31477  SWIG_fail;
31478  }
31479  }
31480  } catch (Swig::DirectorException&) {
31481  SWIG_fail;
31482  }
31483  resultobj = SWIG_From_int(static_cast< int >(result));
31484  return resultobj;
31485 fail:
31486  return NULL;
31487 }
31488 
31489 
31490 SWIGINTERN PyObject *_wrap_Demon_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31491  PyObject *resultobj = 0;
31493  void *argp1 = 0 ;
31494  int res1 = 0 ;
31495  PyObject * obj0 = 0 ;
31496  Swig::Director *director = 0;
31497  bool upcall = false;
31498  std::string result;
31499 
31500  if (!PyArg_UnpackTuple(args, "Demon_DebugString", 1, 1, &obj0)) SWIG_fail;
31501  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31502  if (!SWIG_IsOK(res1)) {
31503  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Demon_DebugString" "', argument " "1"" of type '" "operations_research::Demon const *""'");
31504  }
31505  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31506  director = SWIG_DIRECTOR_CAST(arg1);
31507  upcall = (director && (director->swig_get_self()==obj0));
31508  try {
31509  {
31510  try {
31511  if (upcall) {
31512  result = ((operations_research::Demon const *)arg1)->operations_research::Demon::DebugString();
31513  } else {
31514  result = ((operations_research::Demon const *)arg1)->DebugString();
31515  }
31516  }
31517  catch (Swig::DirectorException &e) {
31518  SWIG_fail;
31519  }
31520  }
31521  } catch (Swig::DirectorException&) {
31522  SWIG_fail;
31523  }
31524  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31525  return resultobj;
31526 fail:
31527  return NULL;
31528 }
31529 
31530 
31531 SWIGINTERN PyObject *_wrap_Demon_Inhibit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31532  PyObject *resultobj = 0;
31535  void *argp1 = 0 ;
31536  int res1 = 0 ;
31537  void *argp2 = 0 ;
31538  int res2 = 0 ;
31539  PyObject * obj0 = 0 ;
31540  PyObject * obj1 = 0 ;
31541 
31542  if (!PyArg_UnpackTuple(args, "Demon_Inhibit", 2, 2, &obj0, &obj1)) SWIG_fail;
31543  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31544  if (!SWIG_IsOK(res1)) {
31545  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Demon_Inhibit" "', argument " "1"" of type '" "operations_research::Demon *""'");
31546  }
31547  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31548  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
31549  if (!SWIG_IsOK(res2)) {
31550  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Demon_Inhibit" "', argument " "2"" of type '" "operations_research::Solver *const""'");
31551  }
31552  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
31553  {
31554  try {
31555  (arg1)->inhibit(arg2);
31556  }
31557  catch (Swig::DirectorException &e) {
31558  SWIG_fail;
31559  }
31560  }
31561  resultobj = SWIG_Py_Void();
31562  return resultobj;
31563 fail:
31564  return NULL;
31565 }
31566 
31567 
31568 SWIGINTERN PyObject *_wrap_Demon_Desinhibit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31569  PyObject *resultobj = 0;
31572  void *argp1 = 0 ;
31573  int res1 = 0 ;
31574  void *argp2 = 0 ;
31575  int res2 = 0 ;
31576  PyObject * obj0 = 0 ;
31577  PyObject * obj1 = 0 ;
31578 
31579  if (!PyArg_UnpackTuple(args, "Demon_Desinhibit", 2, 2, &obj0, &obj1)) SWIG_fail;
31580  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31581  if (!SWIG_IsOK(res1)) {
31582  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Demon_Desinhibit" "', argument " "1"" of type '" "operations_research::Demon *""'");
31583  }
31584  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31585  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
31586  if (!SWIG_IsOK(res2)) {
31587  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Demon_Desinhibit" "', argument " "2"" of type '" "operations_research::Solver *const""'");
31588  }
31589  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
31590  {
31591  try {
31592  (arg1)->desinhibit(arg2);
31593  }
31594  catch (Swig::DirectorException &e) {
31595  SWIG_fail;
31596  }
31597  }
31598  resultobj = SWIG_Py_Void();
31599  return resultobj;
31600 fail:
31601  return NULL;
31602 }
31603 
31604 
31605 SWIGINTERN PyObject *_wrap_disown_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31606  PyObject *resultobj = 0;
31608  void *argp1 = 0 ;
31609  int res1 = 0 ;
31610  PyObject * obj0 = 0 ;
31611 
31612  if (!PyArg_UnpackTuple(args, "disown_Demon", 1, 1, &obj0)) SWIG_fail;
31613  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
31614  if (!SWIG_IsOK(res1)) {
31615  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_Demon" "', argument " "1"" of type '" "operations_research::Demon *""'");
31616  }
31617  arg1 = reinterpret_cast< operations_research::Demon * >(argp1);
31618  {
31619  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
31620  if (director) director->swig_disown();
31621  }
31622 
31623  resultobj = SWIG_Py_Void();
31624  return resultobj;
31625 fail:
31626  return NULL;
31627 }
31628 
31629 
31630 SWIGINTERN PyObject *Demon_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31631  PyObject *obj;
31632  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
31634  return SWIG_Py_Void();
31635 }
31636 
31637 SWIGINTERN PyObject *Demon_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31638  return SWIG_Python_InitShadowInstance(args);
31639 }
31640 
31641 SWIGINTERN PyObject *_wrap_new_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31642  PyObject *resultobj = 0;
31643  PyObject *arg1 = (PyObject *) 0 ;
31645  void *argp2 = 0 ;
31646  int res2 = 0 ;
31647  PyObject * obj0 = 0 ;
31648  PyObject * obj1 = 0 ;
31649  operations_research::Constraint *result = 0 ;
31650 
31651  if (!PyArg_UnpackTuple(args, "new_Constraint", 2, 2, &obj0, &obj1)) SWIG_fail;
31652  arg1 = obj0;
31653  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
31654  if (!SWIG_IsOK(res2)) {
31655  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Constraint" "', argument " "2"" of type '" "operations_research::Solver *const""'");
31656  }
31657  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
31658  {
31659  try {
31660  if ( arg1 != Py_None ) {
31661  /* subclassed */
31662  result = (operations_research::Constraint *)new SwigDirector_Constraint(arg1,arg2);
31663  } else {
31664  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
31665  SWIG_fail;
31666  }
31667  }
31668  catch (Swig::DirectorException &e) {
31669  SWIG_fail;
31670  }
31671  }
31673  return resultobj;
31674 fail:
31675  return NULL;
31676 }
31677 
31678 
31679 SWIGINTERN PyObject *_wrap_delete_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31680  PyObject *resultobj = 0;
31682  void *argp1 = 0 ;
31683  int res1 = 0 ;
31684  PyObject * obj0 = 0 ;
31685 
31686  if (!PyArg_UnpackTuple(args, "delete_Constraint", 1, 1, &obj0)) SWIG_fail;
31688  if (!SWIG_IsOK(res1)) {
31689  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Constraint" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31690  }
31691  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31692  {
31693  try {
31694  delete arg1;
31695  }
31696  catch (Swig::DirectorException &e) {
31697  SWIG_fail;
31698  }
31699  }
31700  resultobj = SWIG_Py_Void();
31701  return resultobj;
31702 fail:
31703  return NULL;
31704 }
31705 
31706 
31707 SWIGINTERN PyObject *_wrap_Constraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31708  PyObject *resultobj = 0;
31710  void *argp1 = 0 ;
31711  int res1 = 0 ;
31712  PyObject * obj0 = 0 ;
31713  Swig::Director *director = 0;
31714  bool upcall = false;
31715 
31716  if (!PyArg_UnpackTuple(args, "Constraint_Post", 1, 1, &obj0)) SWIG_fail;
31717  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31718  if (!SWIG_IsOK(res1)) {
31719  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_Post" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31720  }
31721  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31722  director = SWIG_DIRECTOR_CAST(arg1);
31723  upcall = (director && (director->swig_get_self()==obj0));
31724  try {
31725  {
31726  try {
31727  if (upcall) {
31728  Swig::DirectorPureVirtualException::raise("operations_research::Constraint::Post");
31729  } else {
31730  (arg1)->Post();
31731  }
31732  }
31733  catch (Swig::DirectorException &e) {
31734  SWIG_fail;
31735  }
31736  }
31737  } catch (Swig::DirectorException&) {
31738  SWIG_fail;
31739  }
31740  resultobj = SWIG_Py_Void();
31741  return resultobj;
31742 fail:
31743  return NULL;
31744 }
31745 
31746 
31747 SWIGINTERN PyObject *_wrap_Constraint_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31748  PyObject *resultobj = 0;
31750  void *argp1 = 0 ;
31751  int res1 = 0 ;
31752  PyObject * obj0 = 0 ;
31753  Swig::Director *director = 0;
31754  bool upcall = false;
31755 
31756  if (!PyArg_UnpackTuple(args, "Constraint_InitialPropagateWrapper", 1, 1, &obj0)) SWIG_fail;
31757  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31758  if (!SWIG_IsOK(res1)) {
31759  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_InitialPropagateWrapper" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31760  }
31761  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31762  director = SWIG_DIRECTOR_CAST(arg1);
31763  upcall = (director && (director->swig_get_self()==obj0));
31764  try {
31765  {
31766  try {
31767  if (upcall) {
31768  Swig::DirectorPureVirtualException::raise("operations_research::Constraint::InitialPropagate");
31769  } else {
31770  (arg1)->InitialPropagate();
31771  }
31772  }
31773  catch (Swig::DirectorException &e) {
31774  SWIG_fail;
31775  }
31776  }
31777  } catch (Swig::DirectorException&) {
31778  SWIG_fail;
31779  }
31780  resultobj = SWIG_Py_Void();
31781  return resultobj;
31782 fail:
31783  return NULL;
31784 }
31785 
31786 
31787 SWIGINTERN PyObject *_wrap_Constraint_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31788  PyObject *resultobj = 0;
31790  void *argp1 = 0 ;
31791  int res1 = 0 ;
31792  PyObject * obj0 = 0 ;
31793  Swig::Director *director = 0;
31794  bool upcall = false;
31795  std::string result;
31796 
31797  if (!PyArg_UnpackTuple(args, "Constraint_DebugString", 1, 1, &obj0)) SWIG_fail;
31798  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31799  if (!SWIG_IsOK(res1)) {
31800  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_DebugString" "', argument " "1"" of type '" "operations_research::Constraint const *""'");
31801  }
31802  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31803  director = SWIG_DIRECTOR_CAST(arg1);
31804  upcall = (director && (director->swig_get_self()==obj0));
31805  try {
31806  {
31807  try {
31808  if (upcall) {
31809  result = ((operations_research::Constraint const *)arg1)->operations_research::Constraint::DebugString();
31810  } else {
31811  result = ((operations_research::Constraint const *)arg1)->DebugString();
31812  }
31813  }
31814  catch (Swig::DirectorException &e) {
31815  SWIG_fail;
31816  }
31817  }
31818  } catch (Swig::DirectorException&) {
31819  SWIG_fail;
31820  }
31821  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31822  return resultobj;
31823 fail:
31824  return NULL;
31825 }
31826 
31827 
31828 SWIGINTERN PyObject *_wrap_Constraint_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31829  PyObject *resultobj = 0;
31831  void *argp1 = 0 ;
31832  int res1 = 0 ;
31833  PyObject * obj0 = 0 ;
31834  Swig::Director *director = 0;
31835  bool upcall = false;
31836  operations_research::IntVar *result = 0 ;
31837 
31838  if (!PyArg_UnpackTuple(args, "Constraint_Var", 1, 1, &obj0)) SWIG_fail;
31839  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31840  if (!SWIG_IsOK(res1)) {
31841  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_Var" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31842  }
31843  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31844  director = SWIG_DIRECTOR_CAST(arg1);
31845  upcall = (director && (director->swig_get_self()==obj0));
31846  try {
31847  {
31848  try {
31849  if (upcall) {
31850  result = (operations_research::IntVar *)(arg1)->operations_research::Constraint::Var();
31851  } else {
31852  result = (operations_research::IntVar *)(arg1)->Var();
31853  }
31854  }
31855  catch (Swig::DirectorException &e) {
31856  SWIG_fail;
31857  }
31858  }
31859  } catch (Swig::DirectorException&) {
31860  SWIG_fail;
31861  }
31863  if (director) {
31864  SWIG_AcquirePtr(resultobj, director->swig_release_ownership(SWIG_as_voidptr(result)));
31865  }
31866  return resultobj;
31867 fail:
31868  return NULL;
31869 }
31870 
31871 
31872 SWIGINTERN PyObject *_wrap_Constraint___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31873  PyObject *resultobj = 0;
31875  void *argp1 = 0 ;
31876  int res1 = 0 ;
31877  PyObject * obj0 = 0 ;
31878  std::string result;
31879 
31880  if (!PyArg_UnpackTuple(args, "Constraint___repr__", 1, 1, &obj0)) SWIG_fail;
31881  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31882  if (!SWIG_IsOK(res1)) {
31883  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___repr__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31884  }
31885  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31886  {
31887  try {
31889  }
31890  catch (Swig::DirectorException &e) {
31891  SWIG_fail;
31892  }
31893  }
31894  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31895  return resultobj;
31896 fail:
31897  return NULL;
31898 }
31899 
31900 
31901 SWIGINTERN PyObject *_wrap_Constraint___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31902  PyObject *resultobj = 0;
31904  void *argp1 = 0 ;
31905  int res1 = 0 ;
31906  PyObject * obj0 = 0 ;
31907  std::string result;
31908 
31909  if (!PyArg_UnpackTuple(args, "Constraint___str__", 1, 1, &obj0)) SWIG_fail;
31910  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31911  if (!SWIG_IsOK(res1)) {
31912  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___str__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31913  }
31914  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31915  {
31916  try {
31918  }
31919  catch (Swig::DirectorException &e) {
31920  SWIG_fail;
31921  }
31922  }
31923  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
31924  return resultobj;
31925 fail:
31926  return NULL;
31927 }
31928 
31929 
31930 SWIGINTERN PyObject *_wrap_Constraint___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31931  PyObject *resultobj = 0;
31934  void *argp1 = 0 ;
31935  int res1 = 0 ;
31936  void *argp2 = 0 ;
31937  int res2 = 0 ;
31938  PyObject * obj0 = 0 ;
31939  PyObject * obj1 = 0 ;
31940  operations_research::IntExpr *result = 0 ;
31941 
31942  if (!PyArg_UnpackTuple(args, "Constraint___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
31943  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31944  if (!SWIG_IsOK(res1)) {
31945  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___add__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31946  }
31947  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31948  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
31949  if (!SWIG_IsOK(res2)) {
31950  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___add__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
31951  }
31952  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
31953  {
31954  try {
31956  }
31957  catch (Swig::DirectorException &e) {
31958  SWIG_fail;
31959  }
31960  }
31962  return resultobj;
31963 fail:
31964  PyErr_Clear();
31965  Py_INCREF(Py_NotImplemented);
31966  return Py_NotImplemented;
31967 }
31968 
31969 
31970 SWIGINTERN PyObject *_wrap_Constraint___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
31971  PyObject *resultobj = 0;
31974  void *argp1 = 0 ;
31975  int res1 = 0 ;
31976  void *argp2 = 0 ;
31977  int res2 = 0 ;
31978  PyObject * obj0 = 0 ;
31979  PyObject * obj1 = 0 ;
31980  operations_research::IntExpr *result = 0 ;
31981 
31982  if (!PyArg_UnpackTuple(args, "Constraint___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
31983  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31984  if (!SWIG_IsOK(res1)) {
31985  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___add__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
31986  }
31987  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
31988  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
31989  if (!SWIG_IsOK(res2)) {
31990  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___add__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
31991  }
31992  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
31993  {
31994  try {
31996  }
31997  catch (Swig::DirectorException &e) {
31998  SWIG_fail;
31999  }
32000  }
32002  return resultobj;
32003 fail:
32004  PyErr_Clear();
32005  Py_INCREF(Py_NotImplemented);
32006  return Py_NotImplemented;
32007 }
32008 
32009 
32010 SWIGINTERN PyObject *_wrap_Constraint___add____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32011  PyObject *resultobj = 0;
32013  int64_t arg2 ;
32014  void *argp1 = 0 ;
32015  int res1 = 0 ;
32016  long val2 ;
32017  int ecode2 = 0 ;
32018  PyObject * obj0 = 0 ;
32019  PyObject * obj1 = 0 ;
32020  operations_research::IntExpr *result = 0 ;
32021 
32022  if (!PyArg_UnpackTuple(args, "Constraint___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
32023  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32024  if (!SWIG_IsOK(res1)) {
32025  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___add__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32026  }
32027  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32028  ecode2 = SWIG_AsVal_long(obj1, &val2);
32029  if (!SWIG_IsOK(ecode2)) {
32030  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___add__" "', argument " "2"" of type '" "int64_t""'");
32031  }
32032  arg2 = static_cast< int64_t >(val2);
32033  {
32034  try {
32036  }
32037  catch (Swig::DirectorException &e) {
32038  SWIG_fail;
32039  }
32040  }
32042  return resultobj;
32043 fail:
32044  PyErr_Clear();
32045  Py_INCREF(Py_NotImplemented);
32046  return Py_NotImplemented;
32047 }
32048 
32049 
32050 SWIGINTERN PyObject *_wrap_Constraint___add__(PyObject *self, PyObject *args) {
32051  Py_ssize_t argc;
32052  PyObject *argv[3] = {
32053  0
32054  };
32055  Py_ssize_t ii;
32056 
32057  if (!PyTuple_Check(args)) SWIG_fail;
32058  argc = PyObject_Length(args);
32059  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
32060  argv[ii] = PyTuple_GET_ITEM(args,ii);
32061  }
32062  if (argc == 2) {
32063  int _v;
32064  void *vptr = 0;
32065  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32066  _v = SWIG_CheckState(res);
32067  if (_v) {
32068  void *vptr = 0;
32069  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
32070  _v = SWIG_CheckState(res);
32071  if (_v) {
32072  return _wrap_Constraint___add____SWIG_0(self, args);
32073  }
32074  }
32075  }
32076  if (argc == 2) {
32077  int _v;
32078  void *vptr = 0;
32079  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32080  _v = SWIG_CheckState(res);
32081  if (_v) {
32082  void *vptr = 0;
32083  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32084  _v = SWIG_CheckState(res);
32085  if (_v) {
32086  return _wrap_Constraint___add____SWIG_1(self, args);
32087  }
32088  }
32089  }
32090  if (argc == 2) {
32091  int _v;
32092  void *vptr = 0;
32093  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32094  _v = SWIG_CheckState(res);
32095  if (_v) {
32096  {
32097  int res = SWIG_AsVal_long(argv[1], NULL);
32098  _v = SWIG_CheckState(res);
32099  }
32100  if (_v) {
32101  return _wrap_Constraint___add____SWIG_2(self, args);
32102  }
32103  }
32104  }
32105 
32106 fail:
32107  Py_INCREF(Py_NotImplemented);
32108  return Py_NotImplemented;
32109 }
32110 
32111 
32112 SWIGINTERN PyObject *_wrap_Constraint___radd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32113  PyObject *resultobj = 0;
32115  int64_t arg2 ;
32116  void *argp1 = 0 ;
32117  int res1 = 0 ;
32118  long val2 ;
32119  int ecode2 = 0 ;
32120  PyObject * obj0 = 0 ;
32121  PyObject * obj1 = 0 ;
32122  operations_research::IntExpr *result = 0 ;
32123 
32124  if (!PyArg_UnpackTuple(args, "Constraint___radd__", 2, 2, &obj0, &obj1)) SWIG_fail;
32125  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32126  if (!SWIG_IsOK(res1)) {
32127  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___radd__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32128  }
32129  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32130  ecode2 = SWIG_AsVal_long(obj1, &val2);
32131  if (!SWIG_IsOK(ecode2)) {
32132  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___radd__" "', argument " "2"" of type '" "int64_t""'");
32133  }
32134  arg2 = static_cast< int64_t >(val2);
32135  {
32136  try {
32138  }
32139  catch (Swig::DirectorException &e) {
32140  SWIG_fail;
32141  }
32142  }
32144  return resultobj;
32145 fail:
32146  PyErr_Clear();
32147  Py_INCREF(Py_NotImplemented);
32148  return Py_NotImplemented;
32149 }
32150 
32151 
32152 SWIGINTERN PyObject *_wrap_Constraint___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32153  PyObject *resultobj = 0;
32156  void *argp1 = 0 ;
32157  int res1 = 0 ;
32158  void *argp2 = 0 ;
32159  int res2 = 0 ;
32160  PyObject * obj0 = 0 ;
32161  PyObject * obj1 = 0 ;
32162  operations_research::IntExpr *result = 0 ;
32163 
32164  if (!PyArg_UnpackTuple(args, "Constraint___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
32165  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32166  if (!SWIG_IsOK(res1)) {
32167  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___sub__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32168  }
32169  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32170  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
32171  if (!SWIG_IsOK(res2)) {
32172  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___sub__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
32173  }
32174  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
32175  {
32176  try {
32178  }
32179  catch (Swig::DirectorException &e) {
32180  SWIG_fail;
32181  }
32182  }
32184  return resultobj;
32185 fail:
32186  PyErr_Clear();
32187  Py_INCREF(Py_NotImplemented);
32188  return Py_NotImplemented;
32189 }
32190 
32191 
32192 SWIGINTERN PyObject *_wrap_Constraint___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32193  PyObject *resultobj = 0;
32196  void *argp1 = 0 ;
32197  int res1 = 0 ;
32198  void *argp2 = 0 ;
32199  int res2 = 0 ;
32200  PyObject * obj0 = 0 ;
32201  PyObject * obj1 = 0 ;
32202  operations_research::IntExpr *result = 0 ;
32203 
32204  if (!PyArg_UnpackTuple(args, "Constraint___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
32205  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32206  if (!SWIG_IsOK(res1)) {
32207  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___sub__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32208  }
32209  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32210  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32211  if (!SWIG_IsOK(res2)) {
32212  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___sub__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
32213  }
32214  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
32215  {
32216  try {
32218  }
32219  catch (Swig::DirectorException &e) {
32220  SWIG_fail;
32221  }
32222  }
32224  return resultobj;
32225 fail:
32226  PyErr_Clear();
32227  Py_INCREF(Py_NotImplemented);
32228  return Py_NotImplemented;
32229 }
32230 
32231 
32232 SWIGINTERN PyObject *_wrap_Constraint___sub____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32233  PyObject *resultobj = 0;
32235  int64_t arg2 ;
32236  void *argp1 = 0 ;
32237  int res1 = 0 ;
32238  long val2 ;
32239  int ecode2 = 0 ;
32240  PyObject * obj0 = 0 ;
32241  PyObject * obj1 = 0 ;
32242  operations_research::IntExpr *result = 0 ;
32243 
32244  if (!PyArg_UnpackTuple(args, "Constraint___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
32245  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32246  if (!SWIG_IsOK(res1)) {
32247  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___sub__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32248  }
32249  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32250  ecode2 = SWIG_AsVal_long(obj1, &val2);
32251  if (!SWIG_IsOK(ecode2)) {
32252  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___sub__" "', argument " "2"" of type '" "int64_t""'");
32253  }
32254  arg2 = static_cast< int64_t >(val2);
32255  {
32256  try {
32258  }
32259  catch (Swig::DirectorException &e) {
32260  SWIG_fail;
32261  }
32262  }
32264  return resultobj;
32265 fail:
32266  PyErr_Clear();
32267  Py_INCREF(Py_NotImplemented);
32268  return Py_NotImplemented;
32269 }
32270 
32271 
32272 SWIGINTERN PyObject *_wrap_Constraint___sub__(PyObject *self, PyObject *args) {
32273  Py_ssize_t argc;
32274  PyObject *argv[3] = {
32275  0
32276  };
32277  Py_ssize_t ii;
32278 
32279  if (!PyTuple_Check(args)) SWIG_fail;
32280  argc = PyObject_Length(args);
32281  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
32282  argv[ii] = PyTuple_GET_ITEM(args,ii);
32283  }
32284  if (argc == 2) {
32285  int _v;
32286  void *vptr = 0;
32287  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32288  _v = SWIG_CheckState(res);
32289  if (_v) {
32290  void *vptr = 0;
32291  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
32292  _v = SWIG_CheckState(res);
32293  if (_v) {
32294  return _wrap_Constraint___sub____SWIG_0(self, args);
32295  }
32296  }
32297  }
32298  if (argc == 2) {
32299  int _v;
32300  void *vptr = 0;
32301  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32302  _v = SWIG_CheckState(res);
32303  if (_v) {
32304  void *vptr = 0;
32305  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32306  _v = SWIG_CheckState(res);
32307  if (_v) {
32308  return _wrap_Constraint___sub____SWIG_1(self, args);
32309  }
32310  }
32311  }
32312  if (argc == 2) {
32313  int _v;
32314  void *vptr = 0;
32315  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32316  _v = SWIG_CheckState(res);
32317  if (_v) {
32318  {
32319  int res = SWIG_AsVal_long(argv[1], NULL);
32320  _v = SWIG_CheckState(res);
32321  }
32322  if (_v) {
32323  return _wrap_Constraint___sub____SWIG_2(self, args);
32324  }
32325  }
32326  }
32327 
32328 fail:
32329  Py_INCREF(Py_NotImplemented);
32330  return Py_NotImplemented;
32331 }
32332 
32333 
32334 SWIGINTERN PyObject *_wrap_Constraint___rsub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32335  PyObject *resultobj = 0;
32337  int64_t arg2 ;
32338  void *argp1 = 0 ;
32339  int res1 = 0 ;
32340  long val2 ;
32341  int ecode2 = 0 ;
32342  PyObject * obj0 = 0 ;
32343  PyObject * obj1 = 0 ;
32344  operations_research::IntExpr *result = 0 ;
32345 
32346  if (!PyArg_UnpackTuple(args, "Constraint___rsub__", 2, 2, &obj0, &obj1)) SWIG_fail;
32347  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32348  if (!SWIG_IsOK(res1)) {
32349  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___rsub__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32350  }
32351  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32352  ecode2 = SWIG_AsVal_long(obj1, &val2);
32353  if (!SWIG_IsOK(ecode2)) {
32354  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___rsub__" "', argument " "2"" of type '" "int64_t""'");
32355  }
32356  arg2 = static_cast< int64_t >(val2);
32357  {
32358  try {
32360  }
32361  catch (Swig::DirectorException &e) {
32362  SWIG_fail;
32363  }
32364  }
32366  return resultobj;
32367 fail:
32368  PyErr_Clear();
32369  Py_INCREF(Py_NotImplemented);
32370  return Py_NotImplemented;
32371 }
32372 
32373 
32374 SWIGINTERN PyObject *_wrap_Constraint___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32375  PyObject *resultobj = 0;
32378  void *argp1 = 0 ;
32379  int res1 = 0 ;
32380  void *argp2 = 0 ;
32381  int res2 = 0 ;
32382  PyObject * obj0 = 0 ;
32383  PyObject * obj1 = 0 ;
32384  operations_research::IntExpr *result = 0 ;
32385 
32386  if (!PyArg_UnpackTuple(args, "Constraint___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
32387  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32388  if (!SWIG_IsOK(res1)) {
32389  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___mul__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32390  }
32391  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32392  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
32393  if (!SWIG_IsOK(res2)) {
32394  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___mul__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
32395  }
32396  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
32397  {
32398  try {
32400  }
32401  catch (Swig::DirectorException &e) {
32402  SWIG_fail;
32403  }
32404  }
32406  return resultobj;
32407 fail:
32408  PyErr_Clear();
32409  Py_INCREF(Py_NotImplemented);
32410  return Py_NotImplemented;
32411 }
32412 
32413 
32414 SWIGINTERN PyObject *_wrap_Constraint___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32415  PyObject *resultobj = 0;
32418  void *argp1 = 0 ;
32419  int res1 = 0 ;
32420  void *argp2 = 0 ;
32421  int res2 = 0 ;
32422  PyObject * obj0 = 0 ;
32423  PyObject * obj1 = 0 ;
32424  operations_research::IntExpr *result = 0 ;
32425 
32426  if (!PyArg_UnpackTuple(args, "Constraint___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
32427  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32428  if (!SWIG_IsOK(res1)) {
32429  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___mul__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32430  }
32431  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32432  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32433  if (!SWIG_IsOK(res2)) {
32434  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___mul__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
32435  }
32436  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
32437  {
32438  try {
32440  }
32441  catch (Swig::DirectorException &e) {
32442  SWIG_fail;
32443  }
32444  }
32446  return resultobj;
32447 fail:
32448  PyErr_Clear();
32449  Py_INCREF(Py_NotImplemented);
32450  return Py_NotImplemented;
32451 }
32452 
32453 
32454 SWIGINTERN PyObject *_wrap_Constraint___mul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32455  PyObject *resultobj = 0;
32457  int64_t arg2 ;
32458  void *argp1 = 0 ;
32459  int res1 = 0 ;
32460  long val2 ;
32461  int ecode2 = 0 ;
32462  PyObject * obj0 = 0 ;
32463  PyObject * obj1 = 0 ;
32464  operations_research::IntExpr *result = 0 ;
32465 
32466  if (!PyArg_UnpackTuple(args, "Constraint___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
32467  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32468  if (!SWIG_IsOK(res1)) {
32469  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___mul__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32470  }
32471  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32472  ecode2 = SWIG_AsVal_long(obj1, &val2);
32473  if (!SWIG_IsOK(ecode2)) {
32474  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___mul__" "', argument " "2"" of type '" "int64_t""'");
32475  }
32476  arg2 = static_cast< int64_t >(val2);
32477  {
32478  try {
32480  }
32481  catch (Swig::DirectorException &e) {
32482  SWIG_fail;
32483  }
32484  }
32486  return resultobj;
32487 fail:
32488  PyErr_Clear();
32489  Py_INCREF(Py_NotImplemented);
32490  return Py_NotImplemented;
32491 }
32492 
32493 
32494 SWIGINTERN PyObject *_wrap_Constraint___mul__(PyObject *self, PyObject *args) {
32495  Py_ssize_t argc;
32496  PyObject *argv[3] = {
32497  0
32498  };
32499  Py_ssize_t ii;
32500 
32501  if (!PyTuple_Check(args)) SWIG_fail;
32502  argc = PyObject_Length(args);
32503  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
32504  argv[ii] = PyTuple_GET_ITEM(args,ii);
32505  }
32506  if (argc == 2) {
32507  int _v;
32508  void *vptr = 0;
32509  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32510  _v = SWIG_CheckState(res);
32511  if (_v) {
32512  void *vptr = 0;
32513  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
32514  _v = SWIG_CheckState(res);
32515  if (_v) {
32516  return _wrap_Constraint___mul____SWIG_0(self, args);
32517  }
32518  }
32519  }
32520  if (argc == 2) {
32521  int _v;
32522  void *vptr = 0;
32523  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32524  _v = SWIG_CheckState(res);
32525  if (_v) {
32526  void *vptr = 0;
32527  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32528  _v = SWIG_CheckState(res);
32529  if (_v) {
32530  return _wrap_Constraint___mul____SWIG_1(self, args);
32531  }
32532  }
32533  }
32534  if (argc == 2) {
32535  int _v;
32536  void *vptr = 0;
32537  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
32538  _v = SWIG_CheckState(res);
32539  if (_v) {
32540  {
32541  int res = SWIG_AsVal_long(argv[1], NULL);
32542  _v = SWIG_CheckState(res);
32543  }
32544  if (_v) {
32545  return _wrap_Constraint___mul____SWIG_2(self, args);
32546  }
32547  }
32548  }
32549 
32550 fail:
32551  Py_INCREF(Py_NotImplemented);
32552  return Py_NotImplemented;
32553 }
32554 
32555 
32556 SWIGINTERN PyObject *_wrap_Constraint___rmul__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32557  PyObject *resultobj = 0;
32559  int64_t arg2 ;
32560  void *argp1 = 0 ;
32561  int res1 = 0 ;
32562  long val2 ;
32563  int ecode2 = 0 ;
32564  PyObject * obj0 = 0 ;
32565  PyObject * obj1 = 0 ;
32566  operations_research::IntExpr *result = 0 ;
32567 
32568  if (!PyArg_UnpackTuple(args, "Constraint___rmul__", 2, 2, &obj0, &obj1)) SWIG_fail;
32569  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32570  if (!SWIG_IsOK(res1)) {
32571  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___rmul__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32572  }
32573  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32574  ecode2 = SWIG_AsVal_long(obj1, &val2);
32575  if (!SWIG_IsOK(ecode2)) {
32576  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___rmul__" "', argument " "2"" of type '" "int64_t""'");
32577  }
32578  arg2 = static_cast< int64_t >(val2);
32579  {
32580  try {
32582  }
32583  catch (Swig::DirectorException &e) {
32584  SWIG_fail;
32585  }
32586  }
32588  return resultobj;
32589 fail:
32590  PyErr_Clear();
32591  Py_INCREF(Py_NotImplemented);
32592  return Py_NotImplemented;
32593 }
32594 
32595 
32596 SWIGINTERN PyObject *_wrap_Constraint___floordiv__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32597  PyObject *resultobj = 0;
32599  int64_t arg2 ;
32600  void *argp1 = 0 ;
32601  int res1 = 0 ;
32602  long val2 ;
32603  int ecode2 = 0 ;
32604  PyObject * obj0 = 0 ;
32605  PyObject * obj1 = 0 ;
32606  operations_research::IntExpr *result = 0 ;
32607 
32608  if (!PyArg_UnpackTuple(args, "Constraint___floordiv__", 2, 2, &obj0, &obj1)) SWIG_fail;
32609  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32610  if (!SWIG_IsOK(res1)) {
32611  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___floordiv__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32612  }
32613  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32614  ecode2 = SWIG_AsVal_long(obj1, &val2);
32615  if (!SWIG_IsOK(ecode2)) {
32616  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___floordiv__" "', argument " "2"" of type '" "int64_t""'");
32617  }
32618  arg2 = static_cast< int64_t >(val2);
32619  {
32620  try {
32622  }
32623  catch (Swig::DirectorException &e) {
32624  SWIG_fail;
32625  }
32626  }
32628  return resultobj;
32629 fail:
32630  return NULL;
32631 }
32632 
32633 
32634 SWIGINTERN PyObject *_wrap_Constraint___neg__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32635  PyObject *resultobj = 0;
32637  void *argp1 = 0 ;
32638  int res1 = 0 ;
32639  PyObject * obj0 = 0 ;
32640  operations_research::IntExpr *result = 0 ;
32641 
32642  if (!PyArg_UnpackTuple(args, "Constraint___neg__", 1, 1, &obj0)) SWIG_fail;
32643  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32644  if (!SWIG_IsOK(res1)) {
32645  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___neg__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32646  }
32647  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32648  {
32649  try {
32651  }
32652  catch (Swig::DirectorException &e) {
32653  SWIG_fail;
32654  }
32655  }
32657  return resultobj;
32658 fail:
32659  PyErr_Clear();
32660  Py_INCREF(Py_NotImplemented);
32661  return Py_NotImplemented;
32662 }
32663 
32664 
32665 SWIGINTERN PyObject *_wrap_Constraint___abs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32666  PyObject *resultobj = 0;
32668  void *argp1 = 0 ;
32669  int res1 = 0 ;
32670  PyObject * obj0 = 0 ;
32671  operations_research::IntExpr *result = 0 ;
32672 
32673  if (!PyArg_UnpackTuple(args, "Constraint___abs__", 1, 1, &obj0)) SWIG_fail;
32674  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32675  if (!SWIG_IsOK(res1)) {
32676  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___abs__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32677  }
32678  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32679  {
32680  try {
32682  }
32683  catch (Swig::DirectorException &e) {
32684  SWIG_fail;
32685  }
32686  }
32688  return resultobj;
32689 fail:
32690  return NULL;
32691 }
32692 
32693 
32694 SWIGINTERN PyObject *_wrap_Constraint_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32695  PyObject *resultobj = 0;
32697  void *argp1 = 0 ;
32698  int res1 = 0 ;
32699  PyObject * obj0 = 0 ;
32700  operations_research::IntExpr *result = 0 ;
32701 
32702  if (!PyArg_UnpackTuple(args, "Constraint_Square", 1, 1, &obj0)) SWIG_fail;
32703  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32704  if (!SWIG_IsOK(res1)) {
32705  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_Square" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32706  }
32707  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32708  {
32709  try {
32711  }
32712  catch (Swig::DirectorException &e) {
32713  SWIG_fail;
32714  }
32715  }
32717  return resultobj;
32718 fail:
32719  return NULL;
32720 }
32721 
32722 
32723 SWIGINTERN PyObject *_wrap_Constraint___eq____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32724  PyObject *resultobj = 0;
32726  int64_t arg2 ;
32727  void *argp1 = 0 ;
32728  int res1 = 0 ;
32729  long val2 ;
32730  int ecode2 = 0 ;
32731  PyObject * obj0 = 0 ;
32732  PyObject * obj1 = 0 ;
32733  Swig::Director *director = 0;
32734  operations_research::Constraint *result = 0 ;
32735 
32736  if (!PyArg_UnpackTuple(args, "Constraint___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
32737  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32738  if (!SWIG_IsOK(res1)) {
32739  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___eq__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32740  }
32741  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32742  ecode2 = SWIG_AsVal_long(obj1, &val2);
32743  if (!SWIG_IsOK(ecode2)) {
32744  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___eq__" "', argument " "2"" of type '" "int64_t""'");
32745  }
32746  arg2 = static_cast< int64_t >(val2);
32747  {
32748  try {
32750  }
32751  catch (Swig::DirectorException &e) {
32752  SWIG_fail;
32753  }
32754  }
32755  director = SWIG_DIRECTOR_CAST(result);
32756  if (director) {
32757  resultobj = director->swig_get_self();
32758  Py_INCREF(resultobj);
32759  } else {
32761  }
32762  return resultobj;
32763 fail:
32764  PyErr_Clear();
32765  Py_INCREF(Py_NotImplemented);
32766  return Py_NotImplemented;
32767 }
32768 
32769 
32770 SWIGINTERN PyObject *_wrap_Constraint___ne____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32771  PyObject *resultobj = 0;
32773  int64_t arg2 ;
32774  void *argp1 = 0 ;
32775  int res1 = 0 ;
32776  long val2 ;
32777  int ecode2 = 0 ;
32778  PyObject * obj0 = 0 ;
32779  PyObject * obj1 = 0 ;
32780  Swig::Director *director = 0;
32781  operations_research::Constraint *result = 0 ;
32782 
32783  if (!PyArg_UnpackTuple(args, "Constraint___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
32784  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32785  if (!SWIG_IsOK(res1)) {
32786  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ne__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32787  }
32788  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32789  ecode2 = SWIG_AsVal_long(obj1, &val2);
32790  if (!SWIG_IsOK(ecode2)) {
32791  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___ne__" "', argument " "2"" of type '" "int64_t""'");
32792  }
32793  arg2 = static_cast< int64_t >(val2);
32794  {
32795  try {
32797  }
32798  catch (Swig::DirectorException &e) {
32799  SWIG_fail;
32800  }
32801  }
32802  director = SWIG_DIRECTOR_CAST(result);
32803  if (director) {
32804  resultobj = director->swig_get_self();
32805  Py_INCREF(resultobj);
32806  } else {
32808  }
32809  return resultobj;
32810 fail:
32811  PyErr_Clear();
32812  Py_INCREF(Py_NotImplemented);
32813  return Py_NotImplemented;
32814 }
32815 
32816 
32817 SWIGINTERN PyObject *_wrap_Constraint___ge____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32818  PyObject *resultobj = 0;
32820  int64_t arg2 ;
32821  void *argp1 = 0 ;
32822  int res1 = 0 ;
32823  long val2 ;
32824  int ecode2 = 0 ;
32825  PyObject * obj0 = 0 ;
32826  PyObject * obj1 = 0 ;
32827  Swig::Director *director = 0;
32828  operations_research::Constraint *result = 0 ;
32829 
32830  if (!PyArg_UnpackTuple(args, "Constraint___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
32831  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32832  if (!SWIG_IsOK(res1)) {
32833  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ge__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32834  }
32835  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32836  ecode2 = SWIG_AsVal_long(obj1, &val2);
32837  if (!SWIG_IsOK(ecode2)) {
32838  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___ge__" "', argument " "2"" of type '" "int64_t""'");
32839  }
32840  arg2 = static_cast< int64_t >(val2);
32841  {
32842  try {
32844  }
32845  catch (Swig::DirectorException &e) {
32846  SWIG_fail;
32847  }
32848  }
32849  director = SWIG_DIRECTOR_CAST(result);
32850  if (director) {
32851  resultobj = director->swig_get_self();
32852  Py_INCREF(resultobj);
32853  } else {
32855  }
32856  return resultobj;
32857 fail:
32858  PyErr_Clear();
32859  Py_INCREF(Py_NotImplemented);
32860  return Py_NotImplemented;
32861 }
32862 
32863 
32864 SWIGINTERN PyObject *_wrap_Constraint___gt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32865  PyObject *resultobj = 0;
32867  int64_t arg2 ;
32868  void *argp1 = 0 ;
32869  int res1 = 0 ;
32870  long val2 ;
32871  int ecode2 = 0 ;
32872  PyObject * obj0 = 0 ;
32873  PyObject * obj1 = 0 ;
32874  Swig::Director *director = 0;
32875  operations_research::Constraint *result = 0 ;
32876 
32877  if (!PyArg_UnpackTuple(args, "Constraint___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
32878  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32879  if (!SWIG_IsOK(res1)) {
32880  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___gt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32881  }
32882  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32883  ecode2 = SWIG_AsVal_long(obj1, &val2);
32884  if (!SWIG_IsOK(ecode2)) {
32885  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___gt__" "', argument " "2"" of type '" "int64_t""'");
32886  }
32887  arg2 = static_cast< int64_t >(val2);
32888  {
32889  try {
32891  }
32892  catch (Swig::DirectorException &e) {
32893  SWIG_fail;
32894  }
32895  }
32896  director = SWIG_DIRECTOR_CAST(result);
32897  if (director) {
32898  resultobj = director->swig_get_self();
32899  Py_INCREF(resultobj);
32900  } else {
32902  }
32903  return resultobj;
32904 fail:
32905  PyErr_Clear();
32906  Py_INCREF(Py_NotImplemented);
32907  return Py_NotImplemented;
32908 }
32909 
32910 
32911 SWIGINTERN PyObject *_wrap_Constraint___le____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32912  PyObject *resultobj = 0;
32914  int64_t arg2 ;
32915  void *argp1 = 0 ;
32916  int res1 = 0 ;
32917  long val2 ;
32918  int ecode2 = 0 ;
32919  PyObject * obj0 = 0 ;
32920  PyObject * obj1 = 0 ;
32921  Swig::Director *director = 0;
32922  operations_research::Constraint *result = 0 ;
32923 
32924  if (!PyArg_UnpackTuple(args, "Constraint___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
32925  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32926  if (!SWIG_IsOK(res1)) {
32927  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___le__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32928  }
32929  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32930  ecode2 = SWIG_AsVal_long(obj1, &val2);
32931  if (!SWIG_IsOK(ecode2)) {
32932  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___le__" "', argument " "2"" of type '" "int64_t""'");
32933  }
32934  arg2 = static_cast< int64_t >(val2);
32935  {
32936  try {
32938  }
32939  catch (Swig::DirectorException &e) {
32940  SWIG_fail;
32941  }
32942  }
32943  director = SWIG_DIRECTOR_CAST(result);
32944  if (director) {
32945  resultobj = director->swig_get_self();
32946  Py_INCREF(resultobj);
32947  } else {
32949  }
32950  return resultobj;
32951 fail:
32952  PyErr_Clear();
32953  Py_INCREF(Py_NotImplemented);
32954  return Py_NotImplemented;
32955 }
32956 
32957 
32958 SWIGINTERN PyObject *_wrap_Constraint___lt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
32959  PyObject *resultobj = 0;
32961  int64_t arg2 ;
32962  void *argp1 = 0 ;
32963  int res1 = 0 ;
32964  long val2 ;
32965  int ecode2 = 0 ;
32966  PyObject * obj0 = 0 ;
32967  PyObject * obj1 = 0 ;
32968  Swig::Director *director = 0;
32969  operations_research::Constraint *result = 0 ;
32970 
32971  if (!PyArg_UnpackTuple(args, "Constraint___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
32972  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
32973  if (!SWIG_IsOK(res1)) {
32974  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___lt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
32975  }
32976  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
32977  ecode2 = SWIG_AsVal_long(obj1, &val2);
32978  if (!SWIG_IsOK(ecode2)) {
32979  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Constraint___lt__" "', argument " "2"" of type '" "int64_t""'");
32980  }
32981  arg2 = static_cast< int64_t >(val2);
32982  {
32983  try {
32985  }
32986  catch (Swig::DirectorException &e) {
32987  SWIG_fail;
32988  }
32989  }
32990  director = SWIG_DIRECTOR_CAST(result);
32991  if (director) {
32992  resultobj = director->swig_get_self();
32993  Py_INCREF(resultobj);
32994  } else {
32996  }
32997  return resultobj;
32998 fail:
32999  PyErr_Clear();
33000  Py_INCREF(Py_NotImplemented);
33001  return Py_NotImplemented;
33002 }
33003 
33004 
33005 SWIGINTERN PyObject *_wrap_Constraint___eq____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33006  PyObject *resultobj = 0;
33009  void *argp1 = 0 ;
33010  int res1 = 0 ;
33011  void *argp2 = 0 ;
33012  int res2 = 0 ;
33013  PyObject * obj0 = 0 ;
33014  PyObject * obj1 = 0 ;
33015  Swig::Director *director = 0;
33016  operations_research::Constraint *result = 0 ;
33017 
33018  if (!PyArg_UnpackTuple(args, "Constraint___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
33019  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33020  if (!SWIG_IsOK(res1)) {
33021  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___eq__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33022  }
33023  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33024  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33025  if (!SWIG_IsOK(res2)) {
33026  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___eq__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33027  }
33028  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33029  {
33030  try {
33032  }
33033  catch (Swig::DirectorException &e) {
33034  SWIG_fail;
33035  }
33036  }
33037  director = SWIG_DIRECTOR_CAST(result);
33038  if (director) {
33039  resultobj = director->swig_get_self();
33040  Py_INCREF(resultobj);
33041  } else {
33043  }
33044  return resultobj;
33045 fail:
33046  PyErr_Clear();
33047  Py_INCREF(Py_NotImplemented);
33048  return Py_NotImplemented;
33049 }
33050 
33051 
33052 SWIGINTERN PyObject *_wrap_Constraint___ne____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33053  PyObject *resultobj = 0;
33056  void *argp1 = 0 ;
33057  int res1 = 0 ;
33058  void *argp2 = 0 ;
33059  int res2 = 0 ;
33060  PyObject * obj0 = 0 ;
33061  PyObject * obj1 = 0 ;
33062  Swig::Director *director = 0;
33063  operations_research::Constraint *result = 0 ;
33064 
33065  if (!PyArg_UnpackTuple(args, "Constraint___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
33066  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33067  if (!SWIG_IsOK(res1)) {
33068  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ne__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33069  }
33070  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33071  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33072  if (!SWIG_IsOK(res2)) {
33073  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___ne__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33074  }
33075  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33076  {
33077  try {
33079  }
33080  catch (Swig::DirectorException &e) {
33081  SWIG_fail;
33082  }
33083  }
33084  director = SWIG_DIRECTOR_CAST(result);
33085  if (director) {
33086  resultobj = director->swig_get_self();
33087  Py_INCREF(resultobj);
33088  } else {
33090  }
33091  return resultobj;
33092 fail:
33093  PyErr_Clear();
33094  Py_INCREF(Py_NotImplemented);
33095  return Py_NotImplemented;
33096 }
33097 
33098 
33099 SWIGINTERN PyObject *_wrap_Constraint___ge____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33100  PyObject *resultobj = 0;
33103  void *argp1 = 0 ;
33104  int res1 = 0 ;
33105  void *argp2 = 0 ;
33106  int res2 = 0 ;
33107  PyObject * obj0 = 0 ;
33108  PyObject * obj1 = 0 ;
33109  Swig::Director *director = 0;
33110  operations_research::Constraint *result = 0 ;
33111 
33112  if (!PyArg_UnpackTuple(args, "Constraint___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
33113  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33114  if (!SWIG_IsOK(res1)) {
33115  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ge__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33116  }
33117  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33118  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33119  if (!SWIG_IsOK(res2)) {
33120  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___ge__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33121  }
33122  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33123  {
33124  try {
33126  }
33127  catch (Swig::DirectorException &e) {
33128  SWIG_fail;
33129  }
33130  }
33131  director = SWIG_DIRECTOR_CAST(result);
33132  if (director) {
33133  resultobj = director->swig_get_self();
33134  Py_INCREF(resultobj);
33135  } else {
33137  }
33138  return resultobj;
33139 fail:
33140  PyErr_Clear();
33141  Py_INCREF(Py_NotImplemented);
33142  return Py_NotImplemented;
33143 }
33144 
33145 
33146 SWIGINTERN PyObject *_wrap_Constraint___gt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33147  PyObject *resultobj = 0;
33150  void *argp1 = 0 ;
33151  int res1 = 0 ;
33152  void *argp2 = 0 ;
33153  int res2 = 0 ;
33154  PyObject * obj0 = 0 ;
33155  PyObject * obj1 = 0 ;
33156  Swig::Director *director = 0;
33157  operations_research::Constraint *result = 0 ;
33158 
33159  if (!PyArg_UnpackTuple(args, "Constraint___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
33160  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33161  if (!SWIG_IsOK(res1)) {
33162  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___gt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33163  }
33164  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33165  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33166  if (!SWIG_IsOK(res2)) {
33167  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___gt__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33168  }
33169  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33170  {
33171  try {
33173  }
33174  catch (Swig::DirectorException &e) {
33175  SWIG_fail;
33176  }
33177  }
33178  director = SWIG_DIRECTOR_CAST(result);
33179  if (director) {
33180  resultobj = director->swig_get_self();
33181  Py_INCREF(resultobj);
33182  } else {
33184  }
33185  return resultobj;
33186 fail:
33187  PyErr_Clear();
33188  Py_INCREF(Py_NotImplemented);
33189  return Py_NotImplemented;
33190 }
33191 
33192 
33193 SWIGINTERN PyObject *_wrap_Constraint___le____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33194  PyObject *resultobj = 0;
33197  void *argp1 = 0 ;
33198  int res1 = 0 ;
33199  void *argp2 = 0 ;
33200  int res2 = 0 ;
33201  PyObject * obj0 = 0 ;
33202  PyObject * obj1 = 0 ;
33203  Swig::Director *director = 0;
33204  operations_research::Constraint *result = 0 ;
33205 
33206  if (!PyArg_UnpackTuple(args, "Constraint___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
33207  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33208  if (!SWIG_IsOK(res1)) {
33209  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___le__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33210  }
33211  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33212  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33213  if (!SWIG_IsOK(res2)) {
33214  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___le__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33215  }
33216  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33217  {
33218  try {
33220  }
33221  catch (Swig::DirectorException &e) {
33222  SWIG_fail;
33223  }
33224  }
33225  director = SWIG_DIRECTOR_CAST(result);
33226  if (director) {
33227  resultobj = director->swig_get_self();
33228  Py_INCREF(resultobj);
33229  } else {
33231  }
33232  return resultobj;
33233 fail:
33234  PyErr_Clear();
33235  Py_INCREF(Py_NotImplemented);
33236  return Py_NotImplemented;
33237 }
33238 
33239 
33240 SWIGINTERN PyObject *_wrap_Constraint___lt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33241  PyObject *resultobj = 0;
33244  void *argp1 = 0 ;
33245  int res1 = 0 ;
33246  void *argp2 = 0 ;
33247  int res2 = 0 ;
33248  PyObject * obj0 = 0 ;
33249  PyObject * obj1 = 0 ;
33250  Swig::Director *director = 0;
33251  operations_research::Constraint *result = 0 ;
33252 
33253  if (!PyArg_UnpackTuple(args, "Constraint___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
33254  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33255  if (!SWIG_IsOK(res1)) {
33256  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___lt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33257  }
33258  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33259  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
33260  if (!SWIG_IsOK(res2)) {
33261  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___lt__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
33262  }
33263  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
33264  {
33265  try {
33267  }
33268  catch (Swig::DirectorException &e) {
33269  SWIG_fail;
33270  }
33271  }
33272  director = SWIG_DIRECTOR_CAST(result);
33273  if (director) {
33274  resultobj = director->swig_get_self();
33275  Py_INCREF(resultobj);
33276  } else {
33278  }
33279  return resultobj;
33280 fail:
33281  PyErr_Clear();
33282  Py_INCREF(Py_NotImplemented);
33283  return Py_NotImplemented;
33284 }
33285 
33286 
33287 SWIGINTERN PyObject *_wrap_Constraint___eq____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33288  PyObject *resultobj = 0;
33291  void *argp1 = 0 ;
33292  int res1 = 0 ;
33293  void *argp2 = 0 ;
33294  int res2 = 0 ;
33295  PyObject * obj0 = 0 ;
33296  PyObject * obj1 = 0 ;
33297  Swig::Director *director = 0;
33298  operations_research::Constraint *result = 0 ;
33299 
33300  if (!PyArg_UnpackTuple(args, "Constraint___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
33301  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33302  if (!SWIG_IsOK(res1)) {
33303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___eq__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33304  }
33305  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33306  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33307  if (!SWIG_IsOK(res2)) {
33308  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___eq__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33309  }
33310  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33311  {
33312  try {
33314  }
33315  catch (Swig::DirectorException &e) {
33316  SWIG_fail;
33317  }
33318  }
33319  director = SWIG_DIRECTOR_CAST(result);
33320  if (director) {
33321  resultobj = director->swig_get_self();
33322  Py_INCREF(resultobj);
33323  } else {
33325  }
33326  return resultobj;
33327 fail:
33328  PyErr_Clear();
33329  Py_INCREF(Py_NotImplemented);
33330  return Py_NotImplemented;
33331 }
33332 
33333 
33334 SWIGINTERN PyObject *_wrap_Constraint___eq__(PyObject *self, PyObject *args) {
33335  Py_ssize_t argc;
33336  PyObject *argv[3] = {
33337  0
33338  };
33339  Py_ssize_t ii;
33340 
33341  if (!PyTuple_Check(args)) SWIG_fail;
33342  argc = PyObject_Length(args);
33343  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33344  argv[ii] = PyTuple_GET_ITEM(args,ii);
33345  }
33346  if (argc == 2) {
33347  int _v;
33348  void *vptr = 0;
33349  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33350  _v = SWIG_CheckState(res);
33351  if (_v) {
33352  void *vptr = 0;
33353  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33354  _v = SWIG_CheckState(res);
33355  if (_v) {
33356  return _wrap_Constraint___eq____SWIG_1(self, args);
33357  }
33358  }
33359  }
33360  if (argc == 2) {
33361  int _v;
33362  void *vptr = 0;
33363  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33364  _v = SWIG_CheckState(res);
33365  if (_v) {
33366  void *vptr = 0;
33367  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33368  _v = SWIG_CheckState(res);
33369  if (_v) {
33370  return _wrap_Constraint___eq____SWIG_2(self, args);
33371  }
33372  }
33373  }
33374  if (argc == 2) {
33375  int _v;
33376  void *vptr = 0;
33377  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33378  _v = SWIG_CheckState(res);
33379  if (_v) {
33380  {
33381  int res = SWIG_AsVal_long(argv[1], NULL);
33382  _v = SWIG_CheckState(res);
33383  }
33384  if (_v) {
33385  return _wrap_Constraint___eq____SWIG_0(self, args);
33386  }
33387  }
33388  }
33389 
33390 fail:
33391  Py_INCREF(Py_NotImplemented);
33392  return Py_NotImplemented;
33393 }
33394 
33395 
33396 SWIGINTERN PyObject *_wrap_Constraint___ne____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33397  PyObject *resultobj = 0;
33400  void *argp1 = 0 ;
33401  int res1 = 0 ;
33402  void *argp2 = 0 ;
33403  int res2 = 0 ;
33404  PyObject * obj0 = 0 ;
33405  PyObject * obj1 = 0 ;
33406  Swig::Director *director = 0;
33407  operations_research::Constraint *result = 0 ;
33408 
33409  if (!PyArg_UnpackTuple(args, "Constraint___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
33410  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33411  if (!SWIG_IsOK(res1)) {
33412  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ne__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33413  }
33414  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33415  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33416  if (!SWIG_IsOK(res2)) {
33417  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___ne__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33418  }
33419  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33420  {
33421  try {
33423  }
33424  catch (Swig::DirectorException &e) {
33425  SWIG_fail;
33426  }
33427  }
33428  director = SWIG_DIRECTOR_CAST(result);
33429  if (director) {
33430  resultobj = director->swig_get_self();
33431  Py_INCREF(resultobj);
33432  } else {
33434  }
33435  return resultobj;
33436 fail:
33437  PyErr_Clear();
33438  Py_INCREF(Py_NotImplemented);
33439  return Py_NotImplemented;
33440 }
33441 
33442 
33443 SWIGINTERN PyObject *_wrap_Constraint___ne__(PyObject *self, PyObject *args) {
33444  Py_ssize_t argc;
33445  PyObject *argv[3] = {
33446  0
33447  };
33448  Py_ssize_t ii;
33449 
33450  if (!PyTuple_Check(args)) SWIG_fail;
33451  argc = PyObject_Length(args);
33452  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33453  argv[ii] = PyTuple_GET_ITEM(args,ii);
33454  }
33455  if (argc == 2) {
33456  int _v;
33457  void *vptr = 0;
33458  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33459  _v = SWIG_CheckState(res);
33460  if (_v) {
33461  void *vptr = 0;
33462  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33463  _v = SWIG_CheckState(res);
33464  if (_v) {
33465  return _wrap_Constraint___ne____SWIG_1(self, args);
33466  }
33467  }
33468  }
33469  if (argc == 2) {
33470  int _v;
33471  void *vptr = 0;
33472  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33473  _v = SWIG_CheckState(res);
33474  if (_v) {
33475  void *vptr = 0;
33476  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33477  _v = SWIG_CheckState(res);
33478  if (_v) {
33479  return _wrap_Constraint___ne____SWIG_2(self, args);
33480  }
33481  }
33482  }
33483  if (argc == 2) {
33484  int _v;
33485  void *vptr = 0;
33486  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33487  _v = SWIG_CheckState(res);
33488  if (_v) {
33489  {
33490  int res = SWIG_AsVal_long(argv[1], NULL);
33491  _v = SWIG_CheckState(res);
33492  }
33493  if (_v) {
33494  return _wrap_Constraint___ne____SWIG_0(self, args);
33495  }
33496  }
33497  }
33498 
33499 fail:
33500  Py_INCREF(Py_NotImplemented);
33501  return Py_NotImplemented;
33502 }
33503 
33504 
33505 SWIGINTERN PyObject *_wrap_Constraint___ge____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33506  PyObject *resultobj = 0;
33509  void *argp1 = 0 ;
33510  int res1 = 0 ;
33511  void *argp2 = 0 ;
33512  int res2 = 0 ;
33513  PyObject * obj0 = 0 ;
33514  PyObject * obj1 = 0 ;
33515  Swig::Director *director = 0;
33516  operations_research::Constraint *result = 0 ;
33517 
33518  if (!PyArg_UnpackTuple(args, "Constraint___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
33519  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33520  if (!SWIG_IsOK(res1)) {
33521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___ge__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33522  }
33523  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33524  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33525  if (!SWIG_IsOK(res2)) {
33526  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___ge__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33527  }
33528  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33529  {
33530  try {
33532  }
33533  catch (Swig::DirectorException &e) {
33534  SWIG_fail;
33535  }
33536  }
33537  director = SWIG_DIRECTOR_CAST(result);
33538  if (director) {
33539  resultobj = director->swig_get_self();
33540  Py_INCREF(resultobj);
33541  } else {
33543  }
33544  return resultobj;
33545 fail:
33546  PyErr_Clear();
33547  Py_INCREF(Py_NotImplemented);
33548  return Py_NotImplemented;
33549 }
33550 
33551 
33552 SWIGINTERN PyObject *_wrap_Constraint___ge__(PyObject *self, PyObject *args) {
33553  Py_ssize_t argc;
33554  PyObject *argv[3] = {
33555  0
33556  };
33557  Py_ssize_t ii;
33558 
33559  if (!PyTuple_Check(args)) SWIG_fail;
33560  argc = PyObject_Length(args);
33561  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33562  argv[ii] = PyTuple_GET_ITEM(args,ii);
33563  }
33564  if (argc == 2) {
33565  int _v;
33566  void *vptr = 0;
33567  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33568  _v = SWIG_CheckState(res);
33569  if (_v) {
33570  void *vptr = 0;
33571  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33572  _v = SWIG_CheckState(res);
33573  if (_v) {
33574  return _wrap_Constraint___ge____SWIG_1(self, args);
33575  }
33576  }
33577  }
33578  if (argc == 2) {
33579  int _v;
33580  void *vptr = 0;
33581  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33582  _v = SWIG_CheckState(res);
33583  if (_v) {
33584  void *vptr = 0;
33585  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33586  _v = SWIG_CheckState(res);
33587  if (_v) {
33588  return _wrap_Constraint___ge____SWIG_2(self, args);
33589  }
33590  }
33591  }
33592  if (argc == 2) {
33593  int _v;
33594  void *vptr = 0;
33595  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33596  _v = SWIG_CheckState(res);
33597  if (_v) {
33598  {
33599  int res = SWIG_AsVal_long(argv[1], NULL);
33600  _v = SWIG_CheckState(res);
33601  }
33602  if (_v) {
33603  return _wrap_Constraint___ge____SWIG_0(self, args);
33604  }
33605  }
33606  }
33607 
33608 fail:
33609  Py_INCREF(Py_NotImplemented);
33610  return Py_NotImplemented;
33611 }
33612 
33613 
33614 SWIGINTERN PyObject *_wrap_Constraint___gt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33615  PyObject *resultobj = 0;
33618  void *argp1 = 0 ;
33619  int res1 = 0 ;
33620  void *argp2 = 0 ;
33621  int res2 = 0 ;
33622  PyObject * obj0 = 0 ;
33623  PyObject * obj1 = 0 ;
33624  Swig::Director *director = 0;
33625  operations_research::Constraint *result = 0 ;
33626 
33627  if (!PyArg_UnpackTuple(args, "Constraint___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
33628  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33629  if (!SWIG_IsOK(res1)) {
33630  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___gt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33631  }
33632  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33633  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33634  if (!SWIG_IsOK(res2)) {
33635  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___gt__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33636  }
33637  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33638  {
33639  try {
33641  }
33642  catch (Swig::DirectorException &e) {
33643  SWIG_fail;
33644  }
33645  }
33646  director = SWIG_DIRECTOR_CAST(result);
33647  if (director) {
33648  resultobj = director->swig_get_self();
33649  Py_INCREF(resultobj);
33650  } else {
33652  }
33653  return resultobj;
33654 fail:
33655  PyErr_Clear();
33656  Py_INCREF(Py_NotImplemented);
33657  return Py_NotImplemented;
33658 }
33659 
33660 
33661 SWIGINTERN PyObject *_wrap_Constraint___gt__(PyObject *self, PyObject *args) {
33662  Py_ssize_t argc;
33663  PyObject *argv[3] = {
33664  0
33665  };
33666  Py_ssize_t ii;
33667 
33668  if (!PyTuple_Check(args)) SWIG_fail;
33669  argc = PyObject_Length(args);
33670  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33671  argv[ii] = PyTuple_GET_ITEM(args,ii);
33672  }
33673  if (argc == 2) {
33674  int _v;
33675  void *vptr = 0;
33676  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33677  _v = SWIG_CheckState(res);
33678  if (_v) {
33679  void *vptr = 0;
33680  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33681  _v = SWIG_CheckState(res);
33682  if (_v) {
33683  return _wrap_Constraint___gt____SWIG_1(self, args);
33684  }
33685  }
33686  }
33687  if (argc == 2) {
33688  int _v;
33689  void *vptr = 0;
33690  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33691  _v = SWIG_CheckState(res);
33692  if (_v) {
33693  void *vptr = 0;
33694  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33695  _v = SWIG_CheckState(res);
33696  if (_v) {
33697  return _wrap_Constraint___gt____SWIG_2(self, args);
33698  }
33699  }
33700  }
33701  if (argc == 2) {
33702  int _v;
33703  void *vptr = 0;
33704  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33705  _v = SWIG_CheckState(res);
33706  if (_v) {
33707  {
33708  int res = SWIG_AsVal_long(argv[1], NULL);
33709  _v = SWIG_CheckState(res);
33710  }
33711  if (_v) {
33712  return _wrap_Constraint___gt____SWIG_0(self, args);
33713  }
33714  }
33715  }
33716 
33717 fail:
33718  Py_INCREF(Py_NotImplemented);
33719  return Py_NotImplemented;
33720 }
33721 
33722 
33723 SWIGINTERN PyObject *_wrap_Constraint___le____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33724  PyObject *resultobj = 0;
33727  void *argp1 = 0 ;
33728  int res1 = 0 ;
33729  void *argp2 = 0 ;
33730  int res2 = 0 ;
33731  PyObject * obj0 = 0 ;
33732  PyObject * obj1 = 0 ;
33733  Swig::Director *director = 0;
33734  operations_research::Constraint *result = 0 ;
33735 
33736  if (!PyArg_UnpackTuple(args, "Constraint___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
33737  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33738  if (!SWIG_IsOK(res1)) {
33739  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___le__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33740  }
33741  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33742  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33743  if (!SWIG_IsOK(res2)) {
33744  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___le__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33745  }
33746  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33747  {
33748  try {
33750  }
33751  catch (Swig::DirectorException &e) {
33752  SWIG_fail;
33753  }
33754  }
33755  director = SWIG_DIRECTOR_CAST(result);
33756  if (director) {
33757  resultobj = director->swig_get_self();
33758  Py_INCREF(resultobj);
33759  } else {
33761  }
33762  return resultobj;
33763 fail:
33764  PyErr_Clear();
33765  Py_INCREF(Py_NotImplemented);
33766  return Py_NotImplemented;
33767 }
33768 
33769 
33770 SWIGINTERN PyObject *_wrap_Constraint___le__(PyObject *self, PyObject *args) {
33771  Py_ssize_t argc;
33772  PyObject *argv[3] = {
33773  0
33774  };
33775  Py_ssize_t ii;
33776 
33777  if (!PyTuple_Check(args)) SWIG_fail;
33778  argc = PyObject_Length(args);
33779  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33780  argv[ii] = PyTuple_GET_ITEM(args,ii);
33781  }
33782  if (argc == 2) {
33783  int _v;
33784  void *vptr = 0;
33785  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33786  _v = SWIG_CheckState(res);
33787  if (_v) {
33788  void *vptr = 0;
33789  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33790  _v = SWIG_CheckState(res);
33791  if (_v) {
33792  return _wrap_Constraint___le____SWIG_1(self, args);
33793  }
33794  }
33795  }
33796  if (argc == 2) {
33797  int _v;
33798  void *vptr = 0;
33799  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33800  _v = SWIG_CheckState(res);
33801  if (_v) {
33802  void *vptr = 0;
33803  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33804  _v = SWIG_CheckState(res);
33805  if (_v) {
33806  return _wrap_Constraint___le____SWIG_2(self, args);
33807  }
33808  }
33809  }
33810  if (argc == 2) {
33811  int _v;
33812  void *vptr = 0;
33813  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33814  _v = SWIG_CheckState(res);
33815  if (_v) {
33816  {
33817  int res = SWIG_AsVal_long(argv[1], NULL);
33818  _v = SWIG_CheckState(res);
33819  }
33820  if (_v) {
33821  return _wrap_Constraint___le____SWIG_0(self, args);
33822  }
33823  }
33824  }
33825 
33826 fail:
33827  Py_INCREF(Py_NotImplemented);
33828  return Py_NotImplemented;
33829 }
33830 
33831 
33832 SWIGINTERN PyObject *_wrap_Constraint___lt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33833  PyObject *resultobj = 0;
33836  void *argp1 = 0 ;
33837  int res1 = 0 ;
33838  void *argp2 = 0 ;
33839  int res2 = 0 ;
33840  PyObject * obj0 = 0 ;
33841  PyObject * obj1 = 0 ;
33842  Swig::Director *director = 0;
33843  operations_research::Constraint *result = 0 ;
33844 
33845  if (!PyArg_UnpackTuple(args, "Constraint___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
33846  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33847  if (!SWIG_IsOK(res1)) {
33848  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint___lt__" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33849  }
33850  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33851  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33852  if (!SWIG_IsOK(res2)) {
33853  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Constraint___lt__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
33854  }
33855  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
33856  {
33857  try {
33859  }
33860  catch (Swig::DirectorException &e) {
33861  SWIG_fail;
33862  }
33863  }
33864  director = SWIG_DIRECTOR_CAST(result);
33865  if (director) {
33866  resultobj = director->swig_get_self();
33867  Py_INCREF(resultobj);
33868  } else {
33870  }
33871  return resultobj;
33872 fail:
33873  PyErr_Clear();
33874  Py_INCREF(Py_NotImplemented);
33875  return Py_NotImplemented;
33876 }
33877 
33878 
33879 SWIGINTERN PyObject *_wrap_Constraint___lt__(PyObject *self, PyObject *args) {
33880  Py_ssize_t argc;
33881  PyObject *argv[3] = {
33882  0
33883  };
33884  Py_ssize_t ii;
33885 
33886  if (!PyTuple_Check(args)) SWIG_fail;
33887  argc = PyObject_Length(args);
33888  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
33889  argv[ii] = PyTuple_GET_ITEM(args,ii);
33890  }
33891  if (argc == 2) {
33892  int _v;
33893  void *vptr = 0;
33894  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33895  _v = SWIG_CheckState(res);
33896  if (_v) {
33897  void *vptr = 0;
33898  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
33899  _v = SWIG_CheckState(res);
33900  if (_v) {
33901  return _wrap_Constraint___lt____SWIG_1(self, args);
33902  }
33903  }
33904  }
33905  if (argc == 2) {
33906  int _v;
33907  void *vptr = 0;
33908  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33909  _v = SWIG_CheckState(res);
33910  if (_v) {
33911  void *vptr = 0;
33912  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33913  _v = SWIG_CheckState(res);
33914  if (_v) {
33915  return _wrap_Constraint___lt____SWIG_2(self, args);
33916  }
33917  }
33918  }
33919  if (argc == 2) {
33920  int _v;
33921  void *vptr = 0;
33922  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
33923  _v = SWIG_CheckState(res);
33924  if (_v) {
33925  {
33926  int res = SWIG_AsVal_long(argv[1], NULL);
33927  _v = SWIG_CheckState(res);
33928  }
33929  if (_v) {
33930  return _wrap_Constraint___lt____SWIG_0(self, args);
33931  }
33932  }
33933  }
33934 
33935 fail:
33936  Py_INCREF(Py_NotImplemented);
33937  return Py_NotImplemented;
33938 }
33939 
33940 
33941 SWIGINTERN PyObject *_wrap_Constraint_MapTo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33942  PyObject *resultobj = 0;
33944  std::vector< operations_research::IntVar * > *arg2 = 0 ;
33945  void *argp1 = 0 ;
33946  int res1 = 0 ;
33947  std::vector< operations_research::IntVar * > temp2 ;
33948  PyObject * obj0 = 0 ;
33949  PyObject * obj1 = 0 ;
33950  Swig::Director *director = 0;
33951  operations_research::Constraint *result = 0 ;
33952 
33953  if (!PyArg_UnpackTuple(args, "Constraint_MapTo", 2, 2, &obj0, &obj1)) SWIG_fail;
33954  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
33955  if (!SWIG_IsOK(res1)) {
33956  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_MapTo" "', argument " "1"" of type '" "operations_research::Constraint *""'");
33957  }
33958  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
33959  {
33960  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
33961  if (!PyErr_Occurred())
33962  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
33963  return NULL;
33964  }
33965  arg2 = &temp2;
33966  }
33967  {
33968  try {
33969  result = (operations_research::Constraint *)operations_research_Constraint_MapTo(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
33970  }
33971  catch (Swig::DirectorException &e) {
33972  SWIG_fail;
33973  }
33974  }
33975  director = SWIG_DIRECTOR_CAST(result);
33976  if (director) {
33977  resultobj = director->swig_get_self();
33978  Py_INCREF(resultobj);
33979  } else {
33981  }
33982  return resultobj;
33983 fail:
33984  return NULL;
33985 }
33986 
33987 
33988 SWIGINTERN PyObject *_wrap_Constraint_IndexOf__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
33989  PyObject *resultobj = 0;
33991  std::vector< int64_t > *arg2 = 0 ;
33992  void *argp1 = 0 ;
33993  int res1 = 0 ;
33994  std::vector< int64_t > temp2 ;
33995  PyObject * obj0 = 0 ;
33996  PyObject * obj1 = 0 ;
33997  operations_research::IntExpr *result = 0 ;
33998 
33999  if (!PyArg_UnpackTuple(args, "Constraint_IndexOf", 2, 2, &obj0, &obj1)) SWIG_fail;
34000  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
34001  if (!SWIG_IsOK(res1)) {
34002  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_IndexOf" "', argument " "1"" of type '" "operations_research::Constraint *""'");
34003  }
34004  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
34005  {
34006  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
34007  if (!PyErr_Occurred())
34008  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
34009  return NULL;
34010  }
34011  arg2 = &temp2;
34012  }
34013  {
34014  try {
34015  result = (operations_research::IntExpr *)operations_research_Constraint_IndexOf__SWIG_0(arg1,(std::vector< long > const &)*arg2);
34016  }
34017  catch (Swig::DirectorException &e) {
34018  SWIG_fail;
34019  }
34020  }
34022  return resultobj;
34023 fail:
34024  return NULL;
34025 }
34026 
34027 
34028 SWIGINTERN PyObject *_wrap_Constraint_IndexOf__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34029  PyObject *resultobj = 0;
34031  std::vector< operations_research::IntVar * > *arg2 = 0 ;
34032  void *argp1 = 0 ;
34033  int res1 = 0 ;
34034  std::vector< operations_research::IntVar * > temp2 ;
34035  PyObject * obj0 = 0 ;
34036  PyObject * obj1 = 0 ;
34037  operations_research::IntExpr *result = 0 ;
34038 
34039  if (!PyArg_UnpackTuple(args, "Constraint_IndexOf", 2, 2, &obj0, &obj1)) SWIG_fail;
34040  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
34041  if (!SWIG_IsOK(res1)) {
34042  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Constraint_IndexOf" "', argument " "1"" of type '" "operations_research::Constraint *""'");
34043  }
34044  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
34045  {
34046  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
34047  if (!PyErr_Occurred())
34048  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
34049  return NULL;
34050  }
34051  arg2 = &temp2;
34052  }
34053  {
34054  try {
34055  result = (operations_research::IntExpr *)operations_research_Constraint_IndexOf__SWIG_1(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
34056  }
34057  catch (Swig::DirectorException &e) {
34058  SWIG_fail;
34059  }
34060  }
34062  return resultobj;
34063 fail:
34064  return NULL;
34065 }
34066 
34067 
34068 SWIGINTERN PyObject *_wrap_Constraint_IndexOf(PyObject *self, PyObject *args) {
34069  Py_ssize_t argc;
34070  PyObject *argv[3] = {
34071  0
34072  };
34073  Py_ssize_t ii;
34074 
34075  if (!PyTuple_Check(args)) SWIG_fail;
34076  argc = PyObject_Length(args);
34077  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
34078  argv[ii] = PyTuple_GET_ITEM(args,ii);
34079  }
34080  if (argc == 2) {
34081  int _v;
34082  void *vptr = 0;
34083  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
34084  _v = SWIG_CheckState(res);
34085  if (_v) {
34086  {
34087  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
34088  _v = 0;
34089  } else {
34090  const bool is_tuple = PyTuple_Check(argv[1]);
34091  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
34092  size_t i = 0;
34093  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
34094  :PyList_GetItem(argv[1], i))) {
34095  ++i;
34096  }
34097  _v = i == size;
34098  }
34099  }
34100  if (_v) {
34101  return _wrap_Constraint_IndexOf__SWIG_0(self, args);
34102  }
34103  }
34104  }
34105  if (argc == 2) {
34106  int _v;
34107  void *vptr = 0;
34108  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
34109  _v = SWIG_CheckState(res);
34110  if (_v) {
34111  {
34112  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
34113  _v = 0;
34114  } else {
34115  const bool is_tuple = PyTuple_Check(argv[1]);
34116  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
34117  size_t i = 0;
34118  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
34119  :PyList_GetItem(argv[1], i))) {
34120  ++i;
34121  }
34122  _v = i == size;
34123  }
34124  }
34125  if (_v) {
34126  return _wrap_Constraint_IndexOf__SWIG_1(self, args);
34127  }
34128  }
34129  }
34130 
34131 fail:
34132  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Constraint_IndexOf'.\n"
34133  " Possible C/C++ prototypes are:\n"
34134  " operations_research::Constraint::IndexOf(std::vector< int64_t > const &)\n"
34135  " operations_research::Constraint::IndexOf(std::vector< operations_research::IntVar * > const &)\n");
34136  return 0;
34137 }
34138 
34139 
34140 SWIGINTERN PyObject *_wrap_disown_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34141  PyObject *resultobj = 0;
34143  void *argp1 = 0 ;
34144  int res1 = 0 ;
34145  PyObject * obj0 = 0 ;
34146 
34147  if (!PyArg_UnpackTuple(args, "disown_Constraint", 1, 1, &obj0)) SWIG_fail;
34148  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
34149  if (!SWIG_IsOK(res1)) {
34150  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_Constraint" "', argument " "1"" of type '" "operations_research::Constraint *""'");
34151  }
34152  arg1 = reinterpret_cast< operations_research::Constraint * >(argp1);
34153  {
34154  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
34155  if (director) director->swig_disown();
34156  }
34157 
34158  resultobj = SWIG_Py_Void();
34159  return resultobj;
34160 fail:
34161  return NULL;
34162 }
34163 
34164 
34165 SWIGINTERN PyObject *Constraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34166  PyObject *obj;
34167  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
34169  return SWIG_Py_Void();
34170 }
34171 
34172 SWIGINTERN PyObject *Constraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34173  return SWIG_Python_InitShadowInstance(args);
34174 }
34175 
34176 SWIGINTERN PyObject *_wrap_new_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34177  PyObject *resultobj = 0;
34178  PyObject *arg1 = (PyObject *) 0 ;
34180  void *argp2 = 0 ;
34181  int res2 = 0 ;
34182  PyObject * obj0 = 0 ;
34183  PyObject * obj1 = 0 ;
34185 
34186  if (!PyArg_UnpackTuple(args, "new_SearchMonitor", 2, 2, &obj0, &obj1)) SWIG_fail;
34187  arg1 = obj0;
34188  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
34189  if (!SWIG_IsOK(res2)) {
34190  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_SearchMonitor" "', argument " "2"" of type '" "operations_research::Solver *const""'");
34191  }
34192  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
34193  {
34194  try {
34195  if ( arg1 != Py_None ) {
34196  /* subclassed */
34198  } else {
34200  }
34201  }
34202  catch (Swig::DirectorException &e) {
34203  SWIG_fail;
34204  }
34205  }
34207  return resultobj;
34208 fail:
34209  return NULL;
34210 }
34211 
34212 
34213 SWIGINTERN PyObject *_wrap_delete_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34214  PyObject *resultobj = 0;
34216  void *argp1 = 0 ;
34217  int res1 = 0 ;
34218  PyObject * obj0 = 0 ;
34219 
34220  if (!PyArg_UnpackTuple(args, "delete_SearchMonitor", 1, 1, &obj0)) SWIG_fail;
34222  if (!SWIG_IsOK(res1)) {
34223  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SearchMonitor" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34224  }
34225  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34226  {
34227  try {
34228  delete arg1;
34229  }
34230  catch (Swig::DirectorException &e) {
34231  SWIG_fail;
34232  }
34233  }
34234  resultobj = SWIG_Py_Void();
34235  return resultobj;
34236 fail:
34237  return NULL;
34238 }
34239 
34240 
34241 SWIGINTERN PyObject *_wrap_SearchMonitor_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34242  PyObject *resultobj = 0;
34244  void *argp1 = 0 ;
34245  int res1 = 0 ;
34246  PyObject * obj0 = 0 ;
34247  Swig::Director *director = 0;
34248  bool upcall = false;
34249 
34250  if (!PyArg_UnpackTuple(args, "SearchMonitor_EnterSearch", 1, 1, &obj0)) SWIG_fail;
34252  if (!SWIG_IsOK(res1)) {
34253  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_EnterSearch" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34254  }
34255  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34256  director = SWIG_DIRECTOR_CAST(arg1);
34257  upcall = (director && (director->swig_get_self()==obj0));
34258  try {
34259  {
34260  try {
34261  if (upcall) {
34263  } else {
34264  (arg1)->EnterSearch();
34265  }
34266  }
34267  catch (Swig::DirectorException &e) {
34268  SWIG_fail;
34269  }
34270  }
34271  } catch (Swig::DirectorException&) {
34272  SWIG_fail;
34273  }
34274  resultobj = SWIG_Py_Void();
34275  return resultobj;
34276 fail:
34277  return NULL;
34278 }
34279 
34280 
34281 SWIGINTERN PyObject *_wrap_SearchMonitor_RestartSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34282  PyObject *resultobj = 0;
34284  void *argp1 = 0 ;
34285  int res1 = 0 ;
34286  PyObject * obj0 = 0 ;
34287  Swig::Director *director = 0;
34288  bool upcall = false;
34289 
34290  if (!PyArg_UnpackTuple(args, "SearchMonitor_RestartSearch", 1, 1, &obj0)) SWIG_fail;
34292  if (!SWIG_IsOK(res1)) {
34293  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_RestartSearch" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34294  }
34295  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34296  director = SWIG_DIRECTOR_CAST(arg1);
34297  upcall = (director && (director->swig_get_self()==obj0));
34298  try {
34299  {
34300  try {
34301  if (upcall) {
34303  } else {
34304  (arg1)->RestartSearch();
34305  }
34306  }
34307  catch (Swig::DirectorException &e) {
34308  SWIG_fail;
34309  }
34310  }
34311  } catch (Swig::DirectorException&) {
34312  SWIG_fail;
34313  }
34314  resultobj = SWIG_Py_Void();
34315  return resultobj;
34316 fail:
34317  return NULL;
34318 }
34319 
34320 
34321 SWIGINTERN PyObject *_wrap_SearchMonitor_ExitSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34322  PyObject *resultobj = 0;
34324  void *argp1 = 0 ;
34325  int res1 = 0 ;
34326  PyObject * obj0 = 0 ;
34327  Swig::Director *director = 0;
34328  bool upcall = false;
34329 
34330  if (!PyArg_UnpackTuple(args, "SearchMonitor_ExitSearch", 1, 1, &obj0)) SWIG_fail;
34332  if (!SWIG_IsOK(res1)) {
34333  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_ExitSearch" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34334  }
34335  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34336  director = SWIG_DIRECTOR_CAST(arg1);
34337  upcall = (director && (director->swig_get_self()==obj0));
34338  try {
34339  {
34340  try {
34341  if (upcall) {
34343  } else {
34344  (arg1)->ExitSearch();
34345  }
34346  }
34347  catch (Swig::DirectorException &e) {
34348  SWIG_fail;
34349  }
34350  }
34351  } catch (Swig::DirectorException&) {
34352  SWIG_fail;
34353  }
34354  resultobj = SWIG_Py_Void();
34355  return resultobj;
34356 fail:
34357  return NULL;
34358 }
34359 
34360 
34361 SWIGINTERN PyObject *_wrap_SearchMonitor_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34362  PyObject *resultobj = 0;
34365  void *argp1 = 0 ;
34366  int res1 = 0 ;
34367  PyObject * obj0 = 0 ;
34368  PyObject * obj1 = 0 ;
34369  Swig::Director *director = 0;
34370  bool upcall = false;
34371 
34372  if (!PyArg_UnpackTuple(args, "SearchMonitor_BeginNextDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
34374  if (!SWIG_IsOK(res1)) {
34375  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_BeginNextDecision" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34376  }
34377  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34378  {
34379  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
34380  }
34381  director = SWIG_DIRECTOR_CAST(arg1);
34382  upcall = (director && (director->swig_get_self()==obj0));
34383  try {
34384  {
34385  try {
34386  if (upcall) {
34388  } else {
34389  (arg1)->BeginNextDecision(arg2);
34390  }
34391  }
34392  catch (Swig::DirectorException &e) {
34393  SWIG_fail;
34394  }
34395  }
34396  } catch (Swig::DirectorException&) {
34397  SWIG_fail;
34398  }
34399  resultobj = SWIG_Py_Void();
34400  return resultobj;
34401 fail:
34402  return NULL;
34403 }
34404 
34405 
34406 SWIGINTERN PyObject *_wrap_SearchMonitor_EndNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34407  PyObject *resultobj = 0;
34411  void *argp1 = 0 ;
34412  int res1 = 0 ;
34413  PyObject * obj0 = 0 ;
34414  PyObject * obj1 = 0 ;
34415  PyObject * obj2 = 0 ;
34416  Swig::Director *director = 0;
34417  bool upcall = false;
34418 
34419  if (!PyArg_UnpackTuple(args, "SearchMonitor_EndNextDecision", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
34421  if (!SWIG_IsOK(res1)) {
34422  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_EndNextDecision" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34423  }
34424  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34425  {
34426  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
34427  }
34428  {
34429  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
34430  }
34431  director = SWIG_DIRECTOR_CAST(arg1);
34432  upcall = (director && (director->swig_get_self()==obj0));
34433  try {
34434  {
34435  try {
34436  if (upcall) {
34438  } else {
34439  (arg1)->EndNextDecision(arg2,arg3);
34440  }
34441  }
34442  catch (Swig::DirectorException &e) {
34443  SWIG_fail;
34444  }
34445  }
34446  } catch (Swig::DirectorException&) {
34447  SWIG_fail;
34448  }
34449  resultobj = SWIG_Py_Void();
34450  return resultobj;
34451 fail:
34452  return NULL;
34453 }
34454 
34455 
34456 SWIGINTERN PyObject *_wrap_SearchMonitor_ApplyDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34457  PyObject *resultobj = 0;
34460  void *argp1 = 0 ;
34461  int res1 = 0 ;
34462  PyObject * obj0 = 0 ;
34463  PyObject * obj1 = 0 ;
34464  Swig::Director *director = 0;
34465  bool upcall = false;
34466 
34467  if (!PyArg_UnpackTuple(args, "SearchMonitor_ApplyDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
34469  if (!SWIG_IsOK(res1)) {
34470  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_ApplyDecision" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34471  }
34472  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34473  {
34474  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
34475  }
34476  director = SWIG_DIRECTOR_CAST(arg1);
34477  upcall = (director && (director->swig_get_self()==obj0));
34478  try {
34479  {
34480  try {
34481  if (upcall) {
34483  } else {
34484  (arg1)->ApplyDecision(arg2);
34485  }
34486  }
34487  catch (Swig::DirectorException &e) {
34488  SWIG_fail;
34489  }
34490  }
34491  } catch (Swig::DirectorException&) {
34492  SWIG_fail;
34493  }
34494  resultobj = SWIG_Py_Void();
34495  return resultobj;
34496 fail:
34497  return NULL;
34498 }
34499 
34500 
34501 SWIGINTERN PyObject *_wrap_SearchMonitor_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34502  PyObject *resultobj = 0;
34505  void *argp1 = 0 ;
34506  int res1 = 0 ;
34507  PyObject * obj0 = 0 ;
34508  PyObject * obj1 = 0 ;
34509  Swig::Director *director = 0;
34510  bool upcall = false;
34511 
34512  if (!PyArg_UnpackTuple(args, "SearchMonitor_RefuteDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
34514  if (!SWIG_IsOK(res1)) {
34515  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_RefuteDecision" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34516  }
34517  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34518  {
34519  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
34520  }
34521  director = SWIG_DIRECTOR_CAST(arg1);
34522  upcall = (director && (director->swig_get_self()==obj0));
34523  try {
34524  {
34525  try {
34526  if (upcall) {
34528  } else {
34529  (arg1)->RefuteDecision(arg2);
34530  }
34531  }
34532  catch (Swig::DirectorException &e) {
34533  SWIG_fail;
34534  }
34535  }
34536  } catch (Swig::DirectorException&) {
34537  SWIG_fail;
34538  }
34539  resultobj = SWIG_Py_Void();
34540  return resultobj;
34541 fail:
34542  return NULL;
34543 }
34544 
34545 
34546 SWIGINTERN PyObject *_wrap_SearchMonitor_AfterDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34547  PyObject *resultobj = 0;
34550  bool arg3 ;
34551  void *argp1 = 0 ;
34552  int res1 = 0 ;
34553  bool val3 ;
34554  int ecode3 = 0 ;
34555  PyObject * obj0 = 0 ;
34556  PyObject * obj1 = 0 ;
34557  PyObject * obj2 = 0 ;
34558  Swig::Director *director = 0;
34559  bool upcall = false;
34560 
34561  if (!PyArg_UnpackTuple(args, "SearchMonitor_AfterDecision", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
34563  if (!SWIG_IsOK(res1)) {
34564  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_AfterDecision" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34565  }
34566  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34567  {
34568  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
34569  }
34570  ecode3 = SWIG_AsVal_bool(obj2, &val3);
34571  if (!SWIG_IsOK(ecode3)) {
34572  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SearchMonitor_AfterDecision" "', argument " "3"" of type '" "bool""'");
34573  }
34574  arg3 = static_cast< bool >(val3);
34575  director = SWIG_DIRECTOR_CAST(arg1);
34576  upcall = (director && (director->swig_get_self()==obj0));
34577  try {
34578  {
34579  try {
34580  if (upcall) {
34582  } else {
34583  (arg1)->AfterDecision(arg2,arg3);
34584  }
34585  }
34586  catch (Swig::DirectorException &e) {
34587  SWIG_fail;
34588  }
34589  }
34590  } catch (Swig::DirectorException&) {
34591  SWIG_fail;
34592  }
34593  resultobj = SWIG_Py_Void();
34594  return resultobj;
34595 fail:
34596  return NULL;
34597 }
34598 
34599 
34600 SWIGINTERN PyObject *_wrap_SearchMonitor_BeginFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34601  PyObject *resultobj = 0;
34603  void *argp1 = 0 ;
34604  int res1 = 0 ;
34605  PyObject * obj0 = 0 ;
34606  Swig::Director *director = 0;
34607  bool upcall = false;
34608 
34609  if (!PyArg_UnpackTuple(args, "SearchMonitor_BeginFail", 1, 1, &obj0)) SWIG_fail;
34611  if (!SWIG_IsOK(res1)) {
34612  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_BeginFail" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34613  }
34614  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34615  director = SWIG_DIRECTOR_CAST(arg1);
34616  upcall = (director && (director->swig_get_self()==obj0));
34617  try {
34618  {
34619  try {
34620  if (upcall) {
34622  } else {
34623  (arg1)->BeginFail();
34624  }
34625  }
34626  catch (Swig::DirectorException &e) {
34627  SWIG_fail;
34628  }
34629  }
34630  } catch (Swig::DirectorException&) {
34631  SWIG_fail;
34632  }
34633  resultobj = SWIG_Py_Void();
34634  return resultobj;
34635 fail:
34636  return NULL;
34637 }
34638 
34639 
34640 SWIGINTERN PyObject *_wrap_SearchMonitor_EndFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34641  PyObject *resultobj = 0;
34643  void *argp1 = 0 ;
34644  int res1 = 0 ;
34645  PyObject * obj0 = 0 ;
34646  Swig::Director *director = 0;
34647  bool upcall = false;
34648 
34649  if (!PyArg_UnpackTuple(args, "SearchMonitor_EndFail", 1, 1, &obj0)) SWIG_fail;
34651  if (!SWIG_IsOK(res1)) {
34652  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_EndFail" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34653  }
34654  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34655  director = SWIG_DIRECTOR_CAST(arg1);
34656  upcall = (director && (director->swig_get_self()==obj0));
34657  try {
34658  {
34659  try {
34660  if (upcall) {
34662  } else {
34663  (arg1)->EndFail();
34664  }
34665  }
34666  catch (Swig::DirectorException &e) {
34667  SWIG_fail;
34668  }
34669  }
34670  } catch (Swig::DirectorException&) {
34671  SWIG_fail;
34672  }
34673  resultobj = SWIG_Py_Void();
34674  return resultobj;
34675 fail:
34676  return NULL;
34677 }
34678 
34679 
34680 SWIGINTERN PyObject *_wrap_SearchMonitor_BeginInitialPropagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34681  PyObject *resultobj = 0;
34683  void *argp1 = 0 ;
34684  int res1 = 0 ;
34685  PyObject * obj0 = 0 ;
34686  Swig::Director *director = 0;
34687  bool upcall = false;
34688 
34689  if (!PyArg_UnpackTuple(args, "SearchMonitor_BeginInitialPropagation", 1, 1, &obj0)) SWIG_fail;
34691  if (!SWIG_IsOK(res1)) {
34692  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_BeginInitialPropagation" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34693  }
34694  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34695  director = SWIG_DIRECTOR_CAST(arg1);
34696  upcall = (director && (director->swig_get_self()==obj0));
34697  try {
34698  {
34699  try {
34700  if (upcall) {
34702  } else {
34703  (arg1)->BeginInitialPropagation();
34704  }
34705  }
34706  catch (Swig::DirectorException &e) {
34707  SWIG_fail;
34708  }
34709  }
34710  } catch (Swig::DirectorException&) {
34711  SWIG_fail;
34712  }
34713  resultobj = SWIG_Py_Void();
34714  return resultobj;
34715 fail:
34716  return NULL;
34717 }
34718 
34719 
34720 SWIGINTERN PyObject *_wrap_SearchMonitor_EndInitialPropagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34721  PyObject *resultobj = 0;
34723  void *argp1 = 0 ;
34724  int res1 = 0 ;
34725  PyObject * obj0 = 0 ;
34726  Swig::Director *director = 0;
34727  bool upcall = false;
34728 
34729  if (!PyArg_UnpackTuple(args, "SearchMonitor_EndInitialPropagation", 1, 1, &obj0)) SWIG_fail;
34731  if (!SWIG_IsOK(res1)) {
34732  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_EndInitialPropagation" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34733  }
34734  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34735  director = SWIG_DIRECTOR_CAST(arg1);
34736  upcall = (director && (director->swig_get_self()==obj0));
34737  try {
34738  {
34739  try {
34740  if (upcall) {
34742  } else {
34743  (arg1)->EndInitialPropagation();
34744  }
34745  }
34746  catch (Swig::DirectorException &e) {
34747  SWIG_fail;
34748  }
34749  }
34750  } catch (Swig::DirectorException&) {
34751  SWIG_fail;
34752  }
34753  resultobj = SWIG_Py_Void();
34754  return resultobj;
34755 fail:
34756  return NULL;
34757 }
34758 
34759 
34760 SWIGINTERN PyObject *_wrap_SearchMonitor_AcceptSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34761  PyObject *resultobj = 0;
34763  void *argp1 = 0 ;
34764  int res1 = 0 ;
34765  PyObject * obj0 = 0 ;
34766  Swig::Director *director = 0;
34767  bool upcall = false;
34768  bool result;
34769 
34770  if (!PyArg_UnpackTuple(args, "SearchMonitor_AcceptSolution", 1, 1, &obj0)) SWIG_fail;
34772  if (!SWIG_IsOK(res1)) {
34773  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_AcceptSolution" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34774  }
34775  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34776  director = SWIG_DIRECTOR_CAST(arg1);
34777  upcall = (director && (director->swig_get_self()==obj0));
34778  try {
34779  {
34780  try {
34781  if (upcall) {
34782  result = (bool)(arg1)->operations_research::SearchMonitor::AcceptSolution();
34783  } else {
34784  result = (bool)(arg1)->AcceptSolution();
34785  }
34786  }
34787  catch (Swig::DirectorException &e) {
34788  SWIG_fail;
34789  }
34790  }
34791  } catch (Swig::DirectorException&) {
34792  SWIG_fail;
34793  }
34794  resultobj = SWIG_From_bool(static_cast< bool >(result));
34795  return resultobj;
34796 fail:
34797  return NULL;
34798 }
34799 
34800 
34801 SWIGINTERN PyObject *_wrap_SearchMonitor_AtSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34802  PyObject *resultobj = 0;
34804  void *argp1 = 0 ;
34805  int res1 = 0 ;
34806  PyObject * obj0 = 0 ;
34807  Swig::Director *director = 0;
34808  bool upcall = false;
34809  bool result;
34810 
34811  if (!PyArg_UnpackTuple(args, "SearchMonitor_AtSolution", 1, 1, &obj0)) SWIG_fail;
34813  if (!SWIG_IsOK(res1)) {
34814  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_AtSolution" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34815  }
34816  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34817  director = SWIG_DIRECTOR_CAST(arg1);
34818  upcall = (director && (director->swig_get_self()==obj0));
34819  try {
34820  {
34821  try {
34822  if (upcall) {
34823  result = (bool)(arg1)->operations_research::SearchMonitor::AtSolution();
34824  } else {
34825  result = (bool)(arg1)->AtSolution();
34826  }
34827  }
34828  catch (Swig::DirectorException &e) {
34829  SWIG_fail;
34830  }
34831  }
34832  } catch (Swig::DirectorException&) {
34833  SWIG_fail;
34834  }
34835  resultobj = SWIG_From_bool(static_cast< bool >(result));
34836  return resultobj;
34837 fail:
34838  return NULL;
34839 }
34840 
34841 
34842 SWIGINTERN PyObject *_wrap_SearchMonitor_NoMoreSolutions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34843  PyObject *resultobj = 0;
34845  void *argp1 = 0 ;
34846  int res1 = 0 ;
34847  PyObject * obj0 = 0 ;
34848  Swig::Director *director = 0;
34849  bool upcall = false;
34850 
34851  if (!PyArg_UnpackTuple(args, "SearchMonitor_NoMoreSolutions", 1, 1, &obj0)) SWIG_fail;
34853  if (!SWIG_IsOK(res1)) {
34854  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_NoMoreSolutions" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34855  }
34856  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34857  director = SWIG_DIRECTOR_CAST(arg1);
34858  upcall = (director && (director->swig_get_self()==obj0));
34859  try {
34860  {
34861  try {
34862  if (upcall) {
34864  } else {
34865  (arg1)->NoMoreSolutions();
34866  }
34867  }
34868  catch (Swig::DirectorException &e) {
34869  SWIG_fail;
34870  }
34871  }
34872  } catch (Swig::DirectorException&) {
34873  SWIG_fail;
34874  }
34875  resultobj = SWIG_Py_Void();
34876  return resultobj;
34877 fail:
34878  return NULL;
34879 }
34880 
34881 
34882 SWIGINTERN PyObject *_wrap_SearchMonitor_LocalOptimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34883  PyObject *resultobj = 0;
34885  void *argp1 = 0 ;
34886  int res1 = 0 ;
34887  PyObject * obj0 = 0 ;
34888  Swig::Director *director = 0;
34889  bool upcall = false;
34890  bool result;
34891 
34892  if (!PyArg_UnpackTuple(args, "SearchMonitor_LocalOptimum", 1, 1, &obj0)) SWIG_fail;
34894  if (!SWIG_IsOK(res1)) {
34895  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_LocalOptimum" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34896  }
34897  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34898  director = SWIG_DIRECTOR_CAST(arg1);
34899  upcall = (director && (director->swig_get_self()==obj0));
34900  try {
34901  {
34902  try {
34903  if (upcall) {
34904  result = (bool)(arg1)->operations_research::SearchMonitor::LocalOptimum();
34905  } else {
34906  result = (bool)(arg1)->LocalOptimum();
34907  }
34908  }
34909  catch (Swig::DirectorException &e) {
34910  SWIG_fail;
34911  }
34912  }
34913  } catch (Swig::DirectorException&) {
34914  SWIG_fail;
34915  }
34916  resultobj = SWIG_From_bool(static_cast< bool >(result));
34917  return resultobj;
34918 fail:
34919  return NULL;
34920 }
34921 
34922 
34923 SWIGINTERN PyObject *_wrap_SearchMonitor_AcceptDelta(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34924  PyObject *resultobj = 0;
34928  void *argp1 = 0 ;
34929  int res1 = 0 ;
34930  void *argp2 = 0 ;
34931  int res2 = 0 ;
34932  void *argp3 = 0 ;
34933  int res3 = 0 ;
34934  PyObject * obj0 = 0 ;
34935  PyObject * obj1 = 0 ;
34936  PyObject * obj2 = 0 ;
34937  Swig::Director *director = 0;
34938  bool upcall = false;
34939  bool result;
34940 
34941  if (!PyArg_UnpackTuple(args, "SearchMonitor_AcceptDelta", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
34943  if (!SWIG_IsOK(res1)) {
34944  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_AcceptDelta" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34945  }
34946  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34947  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
34948  if (!SWIG_IsOK(res2)) {
34949  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SearchMonitor_AcceptDelta" "', argument " "2"" of type '" "operations_research::Assignment *""'");
34950  }
34951  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
34952  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
34953  if (!SWIG_IsOK(res3)) {
34954  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SearchMonitor_AcceptDelta" "', argument " "3"" of type '" "operations_research::Assignment *""'");
34955  }
34956  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
34957  director = SWIG_DIRECTOR_CAST(arg1);
34958  upcall = (director && (director->swig_get_self()==obj0));
34959  try {
34960  {
34961  try {
34962  if (upcall) {
34963  result = (bool)(arg1)->operations_research::SearchMonitor::AcceptDelta(arg2,arg3);
34964  } else {
34965  result = (bool)(arg1)->AcceptDelta(arg2,arg3);
34966  }
34967  }
34968  catch (Swig::DirectorException &e) {
34969  SWIG_fail;
34970  }
34971  }
34972  } catch (Swig::DirectorException&) {
34973  SWIG_fail;
34974  }
34975  resultobj = SWIG_From_bool(static_cast< bool >(result));
34976  return resultobj;
34977 fail:
34978  return NULL;
34979 }
34980 
34981 
34982 SWIGINTERN PyObject *_wrap_SearchMonitor_AcceptNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
34983  PyObject *resultobj = 0;
34985  void *argp1 = 0 ;
34986  int res1 = 0 ;
34987  PyObject * obj0 = 0 ;
34988  Swig::Director *director = 0;
34989  bool upcall = false;
34990 
34991  if (!PyArg_UnpackTuple(args, "SearchMonitor_AcceptNeighbor", 1, 1, &obj0)) SWIG_fail;
34993  if (!SWIG_IsOK(res1)) {
34994  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_AcceptNeighbor" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
34995  }
34996  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
34997  director = SWIG_DIRECTOR_CAST(arg1);
34998  upcall = (director && (director->swig_get_self()==obj0));
34999  try {
35000  {
35001  try {
35002  if (upcall) {
35004  } else {
35005  (arg1)->AcceptNeighbor();
35006  }
35007  }
35008  catch (Swig::DirectorException &e) {
35009  SWIG_fail;
35010  }
35011  }
35012  } catch (Swig::DirectorException&) {
35013  SWIG_fail;
35014  }
35015  resultobj = SWIG_Py_Void();
35016  return resultobj;
35017 fail:
35018  return NULL;
35019 }
35020 
35021 
35022 SWIGINTERN PyObject *_wrap_SearchMonitor_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35023  PyObject *resultobj = 0;
35025  void *argp1 = 0 ;
35026  int res1 = 0 ;
35027  PyObject * obj0 = 0 ;
35028  operations_research::Solver *result = 0 ;
35029 
35030  if (!PyArg_UnpackTuple(args, "SearchMonitor_solver", 1, 1, &obj0)) SWIG_fail;
35032  if (!SWIG_IsOK(res1)) {
35033  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor_solver" "', argument " "1"" of type '" "operations_research::SearchMonitor const *""'");
35034  }
35035  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
35036  {
35037  try {
35038  result = (operations_research::Solver *)((operations_research::SearchMonitor const *)arg1)->solver();
35039  }
35040  catch (Swig::DirectorException &e) {
35041  SWIG_fail;
35042  }
35043  }
35045  return resultobj;
35046 fail:
35047  return NULL;
35048 }
35049 
35050 
35051 SWIGINTERN PyObject *_wrap_SearchMonitor___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35052  PyObject *resultobj = 0;
35054  void *argp1 = 0 ;
35055  int res1 = 0 ;
35056  PyObject * obj0 = 0 ;
35057  std::string result;
35058 
35059  if (!PyArg_UnpackTuple(args, "SearchMonitor___repr__", 1, 1, &obj0)) SWIG_fail;
35061  if (!SWIG_IsOK(res1)) {
35062  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor___repr__" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
35063  }
35064  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
35065  {
35066  try {
35068  }
35069  catch (Swig::DirectorException &e) {
35070  SWIG_fail;
35071  }
35072  }
35073  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
35074  return resultobj;
35075 fail:
35076  return NULL;
35077 }
35078 
35079 
35080 SWIGINTERN PyObject *_wrap_SearchMonitor___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35081  PyObject *resultobj = 0;
35083  void *argp1 = 0 ;
35084  int res1 = 0 ;
35085  PyObject * obj0 = 0 ;
35086  std::string result;
35087 
35088  if (!PyArg_UnpackTuple(args, "SearchMonitor___str__", 1, 1, &obj0)) SWIG_fail;
35090  if (!SWIG_IsOK(res1)) {
35091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchMonitor___str__" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
35092  }
35093  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
35094  {
35095  try {
35097  }
35098  catch (Swig::DirectorException &e) {
35099  SWIG_fail;
35100  }
35101  }
35102  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
35103  return resultobj;
35104 fail:
35105  return NULL;
35106 }
35107 
35108 
35109 SWIGINTERN PyObject *_wrap_disown_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35110  PyObject *resultobj = 0;
35112  void *argp1 = 0 ;
35113  int res1 = 0 ;
35114  PyObject * obj0 = 0 ;
35115 
35116  if (!PyArg_UnpackTuple(args, "disown_SearchMonitor", 1, 1, &obj0)) SWIG_fail;
35118  if (!SWIG_IsOK(res1)) {
35119  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_SearchMonitor" "', argument " "1"" of type '" "operations_research::SearchMonitor *""'");
35120  }
35121  arg1 = reinterpret_cast< operations_research::SearchMonitor * >(argp1);
35122  {
35123  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
35124  if (director) director->swig_disown();
35125  }
35126 
35127  resultobj = SWIG_Py_Void();
35128  return resultobj;
35129 fail:
35130  return NULL;
35131 }
35132 
35133 
35134 SWIGINTERN PyObject *SearchMonitor_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35135  PyObject *obj;
35136  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
35138  return SWIG_Py_Void();
35139 }
35140 
35141 SWIGINTERN PyObject *SearchMonitor_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35142  return SWIG_Python_InitShadowInstance(args);
35143 }
35144 
35145 SWIGINTERN PyObject *_wrap_IntExpr_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35146  PyObject *resultobj = 0;
35148  void *argp1 = 0 ;
35149  int res1 = 0 ;
35150  PyObject * obj0 = 0 ;
35151  int64_t result;
35152 
35153  if (!PyArg_UnpackTuple(args, "IntExpr_Min", 1, 1, &obj0)) SWIG_fail;
35154  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35155  if (!SWIG_IsOK(res1)) {
35156  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Min" "', argument " "1"" of type '" "operations_research::IntExpr const *""'");
35157  }
35158  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35159  {
35160  try {
35161  result = (int64_t)((operations_research::IntExpr const *)arg1)->Min();
35162  }
35163  catch (Swig::DirectorException &e) {
35164  SWIG_fail;
35165  }
35166  }
35167  resultobj = SWIG_From_long(static_cast< long >(result));
35168  return resultobj;
35169 fail:
35170  return NULL;
35171 }
35172 
35173 
35174 SWIGINTERN PyObject *_wrap_IntExpr_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35175  PyObject *resultobj = 0;
35177  int64_t arg2 ;
35178  void *argp1 = 0 ;
35179  int res1 = 0 ;
35180  long val2 ;
35181  int ecode2 = 0 ;
35182  PyObject * obj0 = 0 ;
35183  PyObject * obj1 = 0 ;
35184 
35185  if (!PyArg_UnpackTuple(args, "IntExpr_SetMin", 2, 2, &obj0, &obj1)) SWIG_fail;
35186  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35187  if (!SWIG_IsOK(res1)) {
35188  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_SetMin" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35189  }
35190  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35191  ecode2 = SWIG_AsVal_long(obj1, &val2);
35192  if (!SWIG_IsOK(ecode2)) {
35193  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr_SetMin" "', argument " "2"" of type '" "int64_t""'");
35194  }
35195  arg2 = static_cast< int64_t >(val2);
35196  {
35197  operations_research::Solver* const solver = arg1->solver();
35198  FailureProtect protect;
35199  solver->set_fail_intercept([&protect]() {
35200  protect.JumpBack();
35201  });
35202  if (setjmp(protect.exception_buffer) == 0) {
35203  (arg1)->SetMin(arg2);
35204  solver->clear_fail_intercept();
35205  } else {
35206  solver->clear_fail_intercept();
35207  // IMPORTANT: the type and message of the exception raised matter,
35208  // because they are caught by the python overrides of some CP classes.
35209  // See the occurrences of the "PyExc_Exception" string below.
35210  PyErr_SetString(PyExc_Exception, "CP Solver fail");
35211  SWIG_fail;
35212  }
35213  }
35214  resultobj = SWIG_Py_Void();
35215  return resultobj;
35216 fail:
35217  return NULL;
35218 }
35219 
35220 
35221 SWIGINTERN PyObject *_wrap_IntExpr_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35222  PyObject *resultobj = 0;
35224  void *argp1 = 0 ;
35225  int res1 = 0 ;
35226  PyObject * obj0 = 0 ;
35227  int64_t result;
35228 
35229  if (!PyArg_UnpackTuple(args, "IntExpr_Max", 1, 1, &obj0)) SWIG_fail;
35230  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35231  if (!SWIG_IsOK(res1)) {
35232  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Max" "', argument " "1"" of type '" "operations_research::IntExpr const *""'");
35233  }
35234  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35235  {
35236  try {
35237  result = (int64_t)((operations_research::IntExpr const *)arg1)->Max();
35238  }
35239  catch (Swig::DirectorException &e) {
35240  SWIG_fail;
35241  }
35242  }
35243  resultobj = SWIG_From_long(static_cast< long >(result));
35244  return resultobj;
35245 fail:
35246  return NULL;
35247 }
35248 
35249 
35250 SWIGINTERN PyObject *_wrap_IntExpr_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35251  PyObject *resultobj = 0;
35253  int64_t arg2 ;
35254  void *argp1 = 0 ;
35255  int res1 = 0 ;
35256  long val2 ;
35257  int ecode2 = 0 ;
35258  PyObject * obj0 = 0 ;
35259  PyObject * obj1 = 0 ;
35260 
35261  if (!PyArg_UnpackTuple(args, "IntExpr_SetMax", 2, 2, &obj0, &obj1)) SWIG_fail;
35262  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35263  if (!SWIG_IsOK(res1)) {
35264  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_SetMax" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35265  }
35266  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35267  ecode2 = SWIG_AsVal_long(obj1, &val2);
35268  if (!SWIG_IsOK(ecode2)) {
35269  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr_SetMax" "', argument " "2"" of type '" "int64_t""'");
35270  }
35271  arg2 = static_cast< int64_t >(val2);
35272  {
35273  operations_research::Solver* const solver = arg1->solver();
35274  FailureProtect protect;
35275  solver->set_fail_intercept([&protect]() {
35276  protect.JumpBack();
35277  });
35278  if (setjmp(protect.exception_buffer) == 0) {
35279  (arg1)->SetMax(arg2);
35280  solver->clear_fail_intercept();
35281  } else {
35282  solver->clear_fail_intercept();
35283  // IMPORTANT: the type and message of the exception raised matter,
35284  // because they are caught by the python overrides of some CP classes.
35285  // See the occurrences of the "PyExc_Exception" string below.
35286  PyErr_SetString(PyExc_Exception, "CP Solver fail");
35287  SWIG_fail;
35288  }
35289  }
35290  resultobj = SWIG_Py_Void();
35291  return resultobj;
35292 fail:
35293  return NULL;
35294 }
35295 
35296 
35297 SWIGINTERN PyObject *_wrap_IntExpr_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35298  PyObject *resultobj = 0;
35300  int64_t arg2 ;
35301  int64_t arg3 ;
35302  void *argp1 = 0 ;
35303  int res1 = 0 ;
35304  long val2 ;
35305  int ecode2 = 0 ;
35306  long val3 ;
35307  int ecode3 = 0 ;
35308  PyObject * obj0 = 0 ;
35309  PyObject * obj1 = 0 ;
35310  PyObject * obj2 = 0 ;
35311 
35312  if (!PyArg_UnpackTuple(args, "IntExpr_SetRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
35313  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35314  if (!SWIG_IsOK(res1)) {
35315  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_SetRange" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35316  }
35317  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35318  ecode2 = SWIG_AsVal_long(obj1, &val2);
35319  if (!SWIG_IsOK(ecode2)) {
35320  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr_SetRange" "', argument " "2"" of type '" "int64_t""'");
35321  }
35322  arg2 = static_cast< int64_t >(val2);
35323  ecode3 = SWIG_AsVal_long(obj2, &val3);
35324  if (!SWIG_IsOK(ecode3)) {
35325  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntExpr_SetRange" "', argument " "3"" of type '" "int64_t""'");
35326  }
35327  arg3 = static_cast< int64_t >(val3);
35328  {
35329  operations_research::Solver* const solver = arg1->solver();
35330  FailureProtect protect;
35331  solver->set_fail_intercept([&protect]() {
35332  protect.JumpBack();
35333  });
35334  if (setjmp(protect.exception_buffer) == 0) {
35335  (arg1)->SetRange(arg2,arg3);
35336  solver->clear_fail_intercept();
35337  } else {
35338  solver->clear_fail_intercept();
35339  // IMPORTANT: the type and message of the exception raised matter,
35340  // because they are caught by the python overrides of some CP classes.
35341  // See the occurrences of the "PyExc_Exception" string below.
35342  PyErr_SetString(PyExc_Exception, "CP Solver fail");
35343  SWIG_fail;
35344  }
35345  }
35346  resultobj = SWIG_Py_Void();
35347  return resultobj;
35348 fail:
35349  return NULL;
35350 }
35351 
35352 
35353 SWIGINTERN PyObject *_wrap_IntExpr_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35354  PyObject *resultobj = 0;
35356  int64_t arg2 ;
35357  void *argp1 = 0 ;
35358  int res1 = 0 ;
35359  long val2 ;
35360  int ecode2 = 0 ;
35361  PyObject * obj0 = 0 ;
35362  PyObject * obj1 = 0 ;
35363 
35364  if (!PyArg_UnpackTuple(args, "IntExpr_SetValue", 2, 2, &obj0, &obj1)) SWIG_fail;
35365  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35366  if (!SWIG_IsOK(res1)) {
35367  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_SetValue" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35368  }
35369  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35370  ecode2 = SWIG_AsVal_long(obj1, &val2);
35371  if (!SWIG_IsOK(ecode2)) {
35372  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr_SetValue" "', argument " "2"" of type '" "int64_t""'");
35373  }
35374  arg2 = static_cast< int64_t >(val2);
35375  {
35376  operations_research::Solver* const solver = arg1->solver();
35377  FailureProtect protect;
35378  solver->set_fail_intercept([&protect]() {
35379  protect.JumpBack();
35380  });
35381  if (setjmp(protect.exception_buffer) == 0) {
35382  (arg1)->SetValue(arg2);
35383  solver->clear_fail_intercept();
35384  } else {
35385  solver->clear_fail_intercept();
35386  // IMPORTANT: the type and message of the exception raised matter,
35387  // because they are caught by the python overrides of some CP classes.
35388  // See the occurrences of the "PyExc_Exception" string below.
35389  PyErr_SetString(PyExc_Exception, "CP Solver fail");
35390  SWIG_fail;
35391  }
35392  }
35393  resultobj = SWIG_Py_Void();
35394  return resultobj;
35395 fail:
35396  return NULL;
35397 }
35398 
35399 
35400 SWIGINTERN PyObject *_wrap_IntExpr_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35401  PyObject *resultobj = 0;
35403  void *argp1 = 0 ;
35404  int res1 = 0 ;
35405  PyObject * obj0 = 0 ;
35406  bool result;
35407 
35408  if (!PyArg_UnpackTuple(args, "IntExpr_Bound", 1, 1, &obj0)) SWIG_fail;
35409  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35410  if (!SWIG_IsOK(res1)) {
35411  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Bound" "', argument " "1"" of type '" "operations_research::IntExpr const *""'");
35412  }
35413  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35414  {
35415  try {
35416  result = (bool)((operations_research::IntExpr const *)arg1)->Bound();
35417  }
35418  catch (Swig::DirectorException &e) {
35419  SWIG_fail;
35420  }
35421  }
35422  resultobj = SWIG_From_bool(static_cast< bool >(result));
35423  return resultobj;
35424 fail:
35425  return NULL;
35426 }
35427 
35428 
35429 SWIGINTERN PyObject *_wrap_IntExpr_IsVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35430  PyObject *resultobj = 0;
35432  void *argp1 = 0 ;
35433  int res1 = 0 ;
35434  PyObject * obj0 = 0 ;
35435  bool result;
35436 
35437  if (!PyArg_UnpackTuple(args, "IntExpr_IsVar", 1, 1, &obj0)) SWIG_fail;
35438  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35439  if (!SWIG_IsOK(res1)) {
35440  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_IsVar" "', argument " "1"" of type '" "operations_research::IntExpr const *""'");
35441  }
35442  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35443  {
35444  try {
35445  result = (bool)((operations_research::IntExpr const *)arg1)->IsVar();
35446  }
35447  catch (Swig::DirectorException &e) {
35448  SWIG_fail;
35449  }
35450  }
35451  resultobj = SWIG_From_bool(static_cast< bool >(result));
35452  return resultobj;
35453 fail:
35454  return NULL;
35455 }
35456 
35457 
35458 SWIGINTERN PyObject *_wrap_IntExpr_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35459  PyObject *resultobj = 0;
35461  void *argp1 = 0 ;
35462  int res1 = 0 ;
35463  PyObject * obj0 = 0 ;
35464  operations_research::IntVar *result = 0 ;
35465 
35466  if (!PyArg_UnpackTuple(args, "IntExpr_Var", 1, 1, &obj0)) SWIG_fail;
35467  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35468  if (!SWIG_IsOK(res1)) {
35469  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Var" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35470  }
35471  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35472  {
35473  try {
35474  result = (operations_research::IntVar *)(arg1)->Var();
35475  }
35476  catch (Swig::DirectorException &e) {
35477  SWIG_fail;
35478  }
35479  }
35481  return resultobj;
35482 fail:
35483  return NULL;
35484 }
35485 
35486 
35487 SWIGINTERN PyObject *_wrap_IntExpr_VarWithName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35488  PyObject *resultobj = 0;
35490  std::string *arg2 = 0 ;
35491  void *argp1 = 0 ;
35492  int res1 = 0 ;
35493  int res2 = SWIG_OLDOBJ ;
35494  PyObject * obj0 = 0 ;
35495  PyObject * obj1 = 0 ;
35496  operations_research::IntVar *result = 0 ;
35497 
35498  if (!PyArg_UnpackTuple(args, "IntExpr_VarWithName", 2, 2, &obj0, &obj1)) SWIG_fail;
35499  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35500  if (!SWIG_IsOK(res1)) {
35501  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_VarWithName" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35502  }
35503  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35504  {
35505  std::string *ptr = (std::string *)0;
35506  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
35507  if (!SWIG_IsOK(res2)) {
35508  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr_VarWithName" "', argument " "2"" of type '" "std::string const &""'");
35509  }
35510  if (!ptr) {
35511  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntExpr_VarWithName" "', argument " "2"" of type '" "std::string const &""'");
35512  }
35513  arg2 = ptr;
35514  }
35515  {
35516  try {
35517  result = (operations_research::IntVar *)(arg1)->VarWithName((std::string const &)*arg2);
35518  }
35519  catch (Swig::DirectorException &e) {
35520  SWIG_fail;
35521  }
35522  }
35524  if (SWIG_IsNewObj(res2)) delete arg2;
35525  return resultobj;
35526 fail:
35527  if (SWIG_IsNewObj(res2)) delete arg2;
35528  return NULL;
35529 }
35530 
35531 
35532 SWIGINTERN PyObject *_wrap_IntExpr_WhenRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35533  PyObject *resultobj = 0;
35536  void *argp1 = 0 ;
35537  int res1 = 0 ;
35538  void *argp2 = 0 ;
35539  int res2 = 0 ;
35540  PyObject * obj0 = 0 ;
35541  PyObject * obj1 = 0 ;
35542 
35543  if (!PyArg_UnpackTuple(args, "IntExpr_WhenRange", 2, 2, &obj0, &obj1)) SWIG_fail;
35544  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35545  if (!SWIG_IsOK(res1)) {
35546  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_WhenRange" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35547  }
35548  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35549  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
35550  if (!SWIG_IsOK(res2)) {
35551  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr_WhenRange" "', argument " "2"" of type '" "operations_research::Demon *""'");
35552  }
35553  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
35554  {
35555  try {
35556  (arg1)->WhenRange(arg2);
35557  }
35558  catch (Swig::DirectorException &e) {
35559  SWIG_fail;
35560  }
35561  }
35562  resultobj = SWIG_Py_Void();
35563  return resultobj;
35564 fail:
35565  return NULL;
35566 }
35567 
35568 
35569 SWIGINTERN PyObject *_wrap_IntExpr_WhenRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35570  PyObject *resultobj = 0;
35573  void *argp1 = 0 ;
35574  int res1 = 0 ;
35575  PyObject * obj0 = 0 ;
35576  PyObject * obj1 = 0 ;
35577 
35578  if (!PyArg_UnpackTuple(args, "IntExpr_WhenRange", 2, 2, &obj0, &obj1)) SWIG_fail;
35579  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35580  if (!SWIG_IsOK(res1)) {
35581  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_WhenRange" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35582  }
35583  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35584  {
35585  SharedPyPtr input(obj1);
35586  arg2 = [input]() {
35587  return InvokePythonCallableReturning<void>(input.get());
35588  };
35589  }
35590  {
35591  try {
35592  (arg1)->WhenRange(arg2);
35593  }
35594  catch (Swig::DirectorException &e) {
35595  SWIG_fail;
35596  }
35597  }
35598  resultobj = SWIG_Py_Void();
35599  return resultobj;
35600 fail:
35601  return NULL;
35602 }
35603 
35604 
35605 SWIGINTERN PyObject *_wrap_IntExpr_WhenRange(PyObject *self, PyObject *args) {
35606  Py_ssize_t argc;
35607  PyObject *argv[3] = {
35608  0
35609  };
35610  Py_ssize_t ii;
35611 
35612  if (!PyTuple_Check(args)) SWIG_fail;
35613  argc = PyObject_Length(args);
35614  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
35615  argv[ii] = PyTuple_GET_ITEM(args,ii);
35616  }
35617  if (argc == 2) {
35618  int _v;
35619  void *vptr = 0;
35620  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35621  _v = SWIG_CheckState(res);
35622  if (_v) {
35623  void *vptr = 0;
35624  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
35625  _v = SWIG_CheckState(res);
35626  if (_v) {
35627  return _wrap_IntExpr_WhenRange__SWIG_0(self, args);
35628  }
35629  }
35630  }
35631  if (argc == 2) {
35632  int _v;
35633  void *vptr = 0;
35634  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35635  _v = SWIG_CheckState(res);
35636  if (_v) {
35637  {
35638  _v = PyCallable_Check(argv[1]);
35639  }
35640  if (_v) {
35641  return _wrap_IntExpr_WhenRange__SWIG_1(self, args);
35642  }
35643  }
35644  }
35645 
35646 fail:
35647  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntExpr_WhenRange'.\n"
35648  " Possible C/C++ prototypes are:\n"
35649  " operations_research::IntExpr::WhenRange(operations_research::Demon *)\n"
35650  " operations_research::IntExpr::WhenRange(operations_research::Solver::Closure)\n");
35651  return 0;
35652 }
35653 
35654 
35655 SWIGINTERN PyObject *_wrap_IntExpr___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35656  PyObject *resultobj = 0;
35658  void *argp1 = 0 ;
35659  int res1 = 0 ;
35660  PyObject * obj0 = 0 ;
35661  std::string result;
35662 
35663  if (!PyArg_UnpackTuple(args, "IntExpr___repr__", 1, 1, &obj0)) SWIG_fail;
35664  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35665  if (!SWIG_IsOK(res1)) {
35666  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___repr__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35667  }
35668  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35669  {
35670  try {
35671  result = operations_research_IntExpr___repr__(arg1);
35672  }
35673  catch (Swig::DirectorException &e) {
35674  SWIG_fail;
35675  }
35676  }
35677  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
35678  return resultobj;
35679 fail:
35680  return NULL;
35681 }
35682 
35683 
35684 SWIGINTERN PyObject *_wrap_IntExpr___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35685  PyObject *resultobj = 0;
35687  void *argp1 = 0 ;
35688  int res1 = 0 ;
35689  PyObject * obj0 = 0 ;
35690  std::string result;
35691 
35692  if (!PyArg_UnpackTuple(args, "IntExpr___str__", 1, 1, &obj0)) SWIG_fail;
35693  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35694  if (!SWIG_IsOK(res1)) {
35695  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___str__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35696  }
35697  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35698  {
35699  try {
35700  result = operations_research_IntExpr___str__(arg1);
35701  }
35702  catch (Swig::DirectorException &e) {
35703  SWIG_fail;
35704  }
35705  }
35706  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
35707  return resultobj;
35708 fail:
35709  return NULL;
35710 }
35711 
35712 
35713 SWIGINTERN PyObject *_wrap_IntExpr___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35714  PyObject *resultobj = 0;
35717  void *argp1 = 0 ;
35718  int res1 = 0 ;
35719  void *argp2 = 0 ;
35720  int res2 = 0 ;
35721  PyObject * obj0 = 0 ;
35722  PyObject * obj1 = 0 ;
35723  operations_research::IntExpr *result = 0 ;
35724 
35725  if (!PyArg_UnpackTuple(args, "IntExpr___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
35726  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35727  if (!SWIG_IsOK(res1)) {
35728  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___add__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35729  }
35730  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35731  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35732  if (!SWIG_IsOK(res2)) {
35733  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___add__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
35734  }
35735  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
35736  {
35737  try {
35739  }
35740  catch (Swig::DirectorException &e) {
35741  SWIG_fail;
35742  }
35743  }
35745  return resultobj;
35746 fail:
35747  PyErr_Clear();
35748  Py_INCREF(Py_NotImplemented);
35749  return Py_NotImplemented;
35750 }
35751 
35752 
35753 SWIGINTERN PyObject *_wrap_IntExpr___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35754  PyObject *resultobj = 0;
35757  void *argp1 = 0 ;
35758  int res1 = 0 ;
35759  void *argp2 = 0 ;
35760  int res2 = 0 ;
35761  PyObject * obj0 = 0 ;
35762  PyObject * obj1 = 0 ;
35763  operations_research::IntExpr *result = 0 ;
35764 
35765  if (!PyArg_UnpackTuple(args, "IntExpr___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
35766  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35767  if (!SWIG_IsOK(res1)) {
35768  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___add__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35769  }
35770  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35771  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
35772  if (!SWIG_IsOK(res2)) {
35773  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___add__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
35774  }
35775  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
35776  {
35777  try {
35779  }
35780  catch (Swig::DirectorException &e) {
35781  SWIG_fail;
35782  }
35783  }
35785  return resultobj;
35786 fail:
35787  PyErr_Clear();
35788  Py_INCREF(Py_NotImplemented);
35789  return Py_NotImplemented;
35790 }
35791 
35792 
35793 SWIGINTERN PyObject *_wrap_IntExpr___add____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35794  PyObject *resultobj = 0;
35796  int64_t arg2 ;
35797  void *argp1 = 0 ;
35798  int res1 = 0 ;
35799  long val2 ;
35800  int ecode2 = 0 ;
35801  PyObject * obj0 = 0 ;
35802  PyObject * obj1 = 0 ;
35803  operations_research::IntExpr *result = 0 ;
35804 
35805  if (!PyArg_UnpackTuple(args, "IntExpr___add__", 2, 2, &obj0, &obj1)) SWIG_fail;
35806  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35807  if (!SWIG_IsOK(res1)) {
35808  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___add__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35809  }
35810  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35811  ecode2 = SWIG_AsVal_long(obj1, &val2);
35812  if (!SWIG_IsOK(ecode2)) {
35813  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___add__" "', argument " "2"" of type '" "int64_t""'");
35814  }
35815  arg2 = static_cast< int64_t >(val2);
35816  {
35817  try {
35819  }
35820  catch (Swig::DirectorException &e) {
35821  SWIG_fail;
35822  }
35823  }
35825  return resultobj;
35826 fail:
35827  PyErr_Clear();
35828  Py_INCREF(Py_NotImplemented);
35829  return Py_NotImplemented;
35830 }
35831 
35832 
35833 SWIGINTERN PyObject *_wrap_IntExpr___add__(PyObject *self, PyObject *args) {
35834  Py_ssize_t argc;
35835  PyObject *argv[3] = {
35836  0
35837  };
35838  Py_ssize_t ii;
35839 
35840  if (!PyTuple_Check(args)) SWIG_fail;
35841  argc = PyObject_Length(args);
35842  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
35843  argv[ii] = PyTuple_GET_ITEM(args,ii);
35844  }
35845  if (argc == 2) {
35846  int _v;
35847  void *vptr = 0;
35848  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35849  _v = SWIG_CheckState(res);
35850  if (_v) {
35851  void *vptr = 0;
35852  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35853  _v = SWIG_CheckState(res);
35854  if (_v) {
35855  return _wrap_IntExpr___add____SWIG_0(self, args);
35856  }
35857  }
35858  }
35859  if (argc == 2) {
35860  int _v;
35861  void *vptr = 0;
35862  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35863  _v = SWIG_CheckState(res);
35864  if (_v) {
35865  void *vptr = 0;
35866  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
35867  _v = SWIG_CheckState(res);
35868  if (_v) {
35869  return _wrap_IntExpr___add____SWIG_1(self, args);
35870  }
35871  }
35872  }
35873  if (argc == 2) {
35874  int _v;
35875  void *vptr = 0;
35876  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
35877  _v = SWIG_CheckState(res);
35878  if (_v) {
35879  {
35880  int res = SWIG_AsVal_long(argv[1], NULL);
35881  _v = SWIG_CheckState(res);
35882  }
35883  if (_v) {
35884  return _wrap_IntExpr___add____SWIG_2(self, args);
35885  }
35886  }
35887  }
35888 
35889 fail:
35890  Py_INCREF(Py_NotImplemented);
35891  return Py_NotImplemented;
35892 }
35893 
35894 
35895 SWIGINTERN PyObject *_wrap_IntExpr___radd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35896  PyObject *resultobj = 0;
35898  int64_t arg2 ;
35899  void *argp1 = 0 ;
35900  int res1 = 0 ;
35901  long val2 ;
35902  int ecode2 = 0 ;
35903  PyObject * obj0 = 0 ;
35904  PyObject * obj1 = 0 ;
35905  operations_research::IntExpr *result = 0 ;
35906 
35907  if (!PyArg_UnpackTuple(args, "IntExpr___radd__", 2, 2, &obj0, &obj1)) SWIG_fail;
35908  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35909  if (!SWIG_IsOK(res1)) {
35910  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___radd__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35911  }
35912  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35913  ecode2 = SWIG_AsVal_long(obj1, &val2);
35914  if (!SWIG_IsOK(ecode2)) {
35915  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___radd__" "', argument " "2"" of type '" "int64_t""'");
35916  }
35917  arg2 = static_cast< int64_t >(val2);
35918  {
35919  try {
35921  }
35922  catch (Swig::DirectorException &e) {
35923  SWIG_fail;
35924  }
35925  }
35927  return resultobj;
35928 fail:
35929  PyErr_Clear();
35930  Py_INCREF(Py_NotImplemented);
35931  return Py_NotImplemented;
35932 }
35933 
35934 
35935 SWIGINTERN PyObject *_wrap_IntExpr___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35936  PyObject *resultobj = 0;
35939  void *argp1 = 0 ;
35940  int res1 = 0 ;
35941  void *argp2 = 0 ;
35942  int res2 = 0 ;
35943  PyObject * obj0 = 0 ;
35944  PyObject * obj1 = 0 ;
35945  operations_research::IntExpr *result = 0 ;
35946 
35947  if (!PyArg_UnpackTuple(args, "IntExpr___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
35948  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35949  if (!SWIG_IsOK(res1)) {
35950  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___sub__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35951  }
35952  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35953  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35954  if (!SWIG_IsOK(res2)) {
35955  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___sub__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
35956  }
35957  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
35958  {
35959  try {
35961  }
35962  catch (Swig::DirectorException &e) {
35963  SWIG_fail;
35964  }
35965  }
35967  return resultobj;
35968 fail:
35969  PyErr_Clear();
35970  Py_INCREF(Py_NotImplemented);
35971  return Py_NotImplemented;
35972 }
35973 
35974 
35975 SWIGINTERN PyObject *_wrap_IntExpr___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
35976  PyObject *resultobj = 0;
35979  void *argp1 = 0 ;
35980  int res1 = 0 ;
35981  void *argp2 = 0 ;
35982  int res2 = 0 ;
35983  PyObject * obj0 = 0 ;
35984  PyObject * obj1 = 0 ;
35985  operations_research::IntExpr *result = 0 ;
35986 
35987  if (!PyArg_UnpackTuple(args, "IntExpr___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
35988  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
35989  if (!SWIG_IsOK(res1)) {
35990  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___sub__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
35991  }
35992  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
35993  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
35994  if (!SWIG_IsOK(res2)) {
35995  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___sub__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
35996  }
35997  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
35998  {
35999  try {
36001  }
36002  catch (Swig::DirectorException &e) {
36003  SWIG_fail;
36004  }
36005  }
36007  return resultobj;
36008 fail:
36009  PyErr_Clear();
36010  Py_INCREF(Py_NotImplemented);
36011  return Py_NotImplemented;
36012 }
36013 
36014 
36015 SWIGINTERN PyObject *_wrap_IntExpr___sub____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36016  PyObject *resultobj = 0;
36018  int64_t arg2 ;
36019  void *argp1 = 0 ;
36020  int res1 = 0 ;
36021  long val2 ;
36022  int ecode2 = 0 ;
36023  PyObject * obj0 = 0 ;
36024  PyObject * obj1 = 0 ;
36025  operations_research::IntExpr *result = 0 ;
36026 
36027  if (!PyArg_UnpackTuple(args, "IntExpr___sub__", 2, 2, &obj0, &obj1)) SWIG_fail;
36028  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36029  if (!SWIG_IsOK(res1)) {
36030  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___sub__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36031  }
36032  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36033  ecode2 = SWIG_AsVal_long(obj1, &val2);
36034  if (!SWIG_IsOK(ecode2)) {
36035  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___sub__" "', argument " "2"" of type '" "int64_t""'");
36036  }
36037  arg2 = static_cast< int64_t >(val2);
36038  {
36039  try {
36041  }
36042  catch (Swig::DirectorException &e) {
36043  SWIG_fail;
36044  }
36045  }
36047  return resultobj;
36048 fail:
36049  PyErr_Clear();
36050  Py_INCREF(Py_NotImplemented);
36051  return Py_NotImplemented;
36052 }
36053 
36054 
36055 SWIGINTERN PyObject *_wrap_IntExpr___sub__(PyObject *self, PyObject *args) {
36056  Py_ssize_t argc;
36057  PyObject *argv[3] = {
36058  0
36059  };
36060  Py_ssize_t ii;
36061 
36062  if (!PyTuple_Check(args)) SWIG_fail;
36063  argc = PyObject_Length(args);
36064  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
36065  argv[ii] = PyTuple_GET_ITEM(args,ii);
36066  }
36067  if (argc == 2) {
36068  int _v;
36069  void *vptr = 0;
36070  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36071  _v = SWIG_CheckState(res);
36072  if (_v) {
36073  void *vptr = 0;
36074  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36075  _v = SWIG_CheckState(res);
36076  if (_v) {
36077  return _wrap_IntExpr___sub____SWIG_0(self, args);
36078  }
36079  }
36080  }
36081  if (argc == 2) {
36082  int _v;
36083  void *vptr = 0;
36084  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36085  _v = SWIG_CheckState(res);
36086  if (_v) {
36087  void *vptr = 0;
36088  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
36089  _v = SWIG_CheckState(res);
36090  if (_v) {
36091  return _wrap_IntExpr___sub____SWIG_1(self, args);
36092  }
36093  }
36094  }
36095  if (argc == 2) {
36096  int _v;
36097  void *vptr = 0;
36098  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36099  _v = SWIG_CheckState(res);
36100  if (_v) {
36101  {
36102  int res = SWIG_AsVal_long(argv[1], NULL);
36103  _v = SWIG_CheckState(res);
36104  }
36105  if (_v) {
36106  return _wrap_IntExpr___sub____SWIG_2(self, args);
36107  }
36108  }
36109  }
36110 
36111 fail:
36112  Py_INCREF(Py_NotImplemented);
36113  return Py_NotImplemented;
36114 }
36115 
36116 
36117 SWIGINTERN PyObject *_wrap_IntExpr___rsub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36118  PyObject *resultobj = 0;
36120  int64_t arg2 ;
36121  void *argp1 = 0 ;
36122  int res1 = 0 ;
36123  long val2 ;
36124  int ecode2 = 0 ;
36125  PyObject * obj0 = 0 ;
36126  PyObject * obj1 = 0 ;
36127  operations_research::IntExpr *result = 0 ;
36128 
36129  if (!PyArg_UnpackTuple(args, "IntExpr___rsub__", 2, 2, &obj0, &obj1)) SWIG_fail;
36130  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36131  if (!SWIG_IsOK(res1)) {
36132  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___rsub__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36133  }
36134  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36135  ecode2 = SWIG_AsVal_long(obj1, &val2);
36136  if (!SWIG_IsOK(ecode2)) {
36137  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___rsub__" "', argument " "2"" of type '" "int64_t""'");
36138  }
36139  arg2 = static_cast< int64_t >(val2);
36140  {
36141  try {
36143  }
36144  catch (Swig::DirectorException &e) {
36145  SWIG_fail;
36146  }
36147  }
36149  return resultobj;
36150 fail:
36151  PyErr_Clear();
36152  Py_INCREF(Py_NotImplemented);
36153  return Py_NotImplemented;
36154 }
36155 
36156 
36157 SWIGINTERN PyObject *_wrap_IntExpr___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36158  PyObject *resultobj = 0;
36161  void *argp1 = 0 ;
36162  int res1 = 0 ;
36163  void *argp2 = 0 ;
36164  int res2 = 0 ;
36165  PyObject * obj0 = 0 ;
36166  PyObject * obj1 = 0 ;
36167  operations_research::IntExpr *result = 0 ;
36168 
36169  if (!PyArg_UnpackTuple(args, "IntExpr___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
36170  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36171  if (!SWIG_IsOK(res1)) {
36172  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___mul__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36173  }
36174  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36175  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36176  if (!SWIG_IsOK(res2)) {
36177  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___mul__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
36178  }
36179  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
36180  {
36181  try {
36183  }
36184  catch (Swig::DirectorException &e) {
36185  SWIG_fail;
36186  }
36187  }
36189  return resultobj;
36190 fail:
36191  PyErr_Clear();
36192  Py_INCREF(Py_NotImplemented);
36193  return Py_NotImplemented;
36194 }
36195 
36196 
36197 SWIGINTERN PyObject *_wrap_IntExpr___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36198  PyObject *resultobj = 0;
36201  void *argp1 = 0 ;
36202  int res1 = 0 ;
36203  void *argp2 = 0 ;
36204  int res2 = 0 ;
36205  PyObject * obj0 = 0 ;
36206  PyObject * obj1 = 0 ;
36207  operations_research::IntExpr *result = 0 ;
36208 
36209  if (!PyArg_UnpackTuple(args, "IntExpr___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
36210  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36211  if (!SWIG_IsOK(res1)) {
36212  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___mul__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36213  }
36214  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36215  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
36216  if (!SWIG_IsOK(res2)) {
36217  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___mul__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
36218  }
36219  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
36220  {
36221  try {
36223  }
36224  catch (Swig::DirectorException &e) {
36225  SWIG_fail;
36226  }
36227  }
36229  return resultobj;
36230 fail:
36231  PyErr_Clear();
36232  Py_INCREF(Py_NotImplemented);
36233  return Py_NotImplemented;
36234 }
36235 
36236 
36237 SWIGINTERN PyObject *_wrap_IntExpr___mul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36238  PyObject *resultobj = 0;
36240  int64_t arg2 ;
36241  void *argp1 = 0 ;
36242  int res1 = 0 ;
36243  long val2 ;
36244  int ecode2 = 0 ;
36245  PyObject * obj0 = 0 ;
36246  PyObject * obj1 = 0 ;
36247  operations_research::IntExpr *result = 0 ;
36248 
36249  if (!PyArg_UnpackTuple(args, "IntExpr___mul__", 2, 2, &obj0, &obj1)) SWIG_fail;
36250  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36251  if (!SWIG_IsOK(res1)) {
36252  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___mul__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36253  }
36254  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36255  ecode2 = SWIG_AsVal_long(obj1, &val2);
36256  if (!SWIG_IsOK(ecode2)) {
36257  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___mul__" "', argument " "2"" of type '" "int64_t""'");
36258  }
36259  arg2 = static_cast< int64_t >(val2);
36260  {
36261  try {
36263  }
36264  catch (Swig::DirectorException &e) {
36265  SWIG_fail;
36266  }
36267  }
36269  return resultobj;
36270 fail:
36271  PyErr_Clear();
36272  Py_INCREF(Py_NotImplemented);
36273  return Py_NotImplemented;
36274 }
36275 
36276 
36277 SWIGINTERN PyObject *_wrap_IntExpr___mul__(PyObject *self, PyObject *args) {
36278  Py_ssize_t argc;
36279  PyObject *argv[3] = {
36280  0
36281  };
36282  Py_ssize_t ii;
36283 
36284  if (!PyTuple_Check(args)) SWIG_fail;
36285  argc = PyObject_Length(args);
36286  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
36287  argv[ii] = PyTuple_GET_ITEM(args,ii);
36288  }
36289  if (argc == 2) {
36290  int _v;
36291  void *vptr = 0;
36292  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36293  _v = SWIG_CheckState(res);
36294  if (_v) {
36295  void *vptr = 0;
36296  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36297  _v = SWIG_CheckState(res);
36298  if (_v) {
36299  return _wrap_IntExpr___mul____SWIG_0(self, args);
36300  }
36301  }
36302  }
36303  if (argc == 2) {
36304  int _v;
36305  void *vptr = 0;
36306  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36307  _v = SWIG_CheckState(res);
36308  if (_v) {
36309  void *vptr = 0;
36310  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
36311  _v = SWIG_CheckState(res);
36312  if (_v) {
36313  return _wrap_IntExpr___mul____SWIG_1(self, args);
36314  }
36315  }
36316  }
36317  if (argc == 2) {
36318  int _v;
36319  void *vptr = 0;
36320  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36321  _v = SWIG_CheckState(res);
36322  if (_v) {
36323  {
36324  int res = SWIG_AsVal_long(argv[1], NULL);
36325  _v = SWIG_CheckState(res);
36326  }
36327  if (_v) {
36328  return _wrap_IntExpr___mul____SWIG_2(self, args);
36329  }
36330  }
36331  }
36332 
36333 fail:
36334  Py_INCREF(Py_NotImplemented);
36335  return Py_NotImplemented;
36336 }
36337 
36338 
36339 SWIGINTERN PyObject *_wrap_IntExpr___rmul__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36340  PyObject *resultobj = 0;
36342  int64_t arg2 ;
36343  void *argp1 = 0 ;
36344  int res1 = 0 ;
36345  long val2 ;
36346  int ecode2 = 0 ;
36347  PyObject * obj0 = 0 ;
36348  PyObject * obj1 = 0 ;
36349  operations_research::IntExpr *result = 0 ;
36350 
36351  if (!PyArg_UnpackTuple(args, "IntExpr___rmul__", 2, 2, &obj0, &obj1)) SWIG_fail;
36352  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36353  if (!SWIG_IsOK(res1)) {
36354  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___rmul__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36355  }
36356  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36357  ecode2 = SWIG_AsVal_long(obj1, &val2);
36358  if (!SWIG_IsOK(ecode2)) {
36359  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___rmul__" "', argument " "2"" of type '" "int64_t""'");
36360  }
36361  arg2 = static_cast< int64_t >(val2);
36362  {
36363  try {
36365  }
36366  catch (Swig::DirectorException &e) {
36367  SWIG_fail;
36368  }
36369  }
36371  return resultobj;
36372 fail:
36373  PyErr_Clear();
36374  Py_INCREF(Py_NotImplemented);
36375  return Py_NotImplemented;
36376 }
36377 
36378 
36379 SWIGINTERN PyObject *_wrap_IntExpr___floordiv____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36380  PyObject *resultobj = 0;
36382  int64_t arg2 ;
36383  void *argp1 = 0 ;
36384  int res1 = 0 ;
36385  long val2 ;
36386  int ecode2 = 0 ;
36387  PyObject * obj0 = 0 ;
36388  PyObject * obj1 = 0 ;
36389  operations_research::IntExpr *result = 0 ;
36390 
36391  if (!PyArg_UnpackTuple(args, "IntExpr___floordiv__", 2, 2, &obj0, &obj1)) SWIG_fail;
36392  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36393  if (!SWIG_IsOK(res1)) {
36394  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___floordiv__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36395  }
36396  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36397  ecode2 = SWIG_AsVal_long(obj1, &val2);
36398  if (!SWIG_IsOK(ecode2)) {
36399  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___floordiv__" "', argument " "2"" of type '" "int64_t""'");
36400  }
36401  arg2 = static_cast< int64_t >(val2);
36402  {
36403  try {
36405  }
36406  catch (Swig::DirectorException &e) {
36407  SWIG_fail;
36408  }
36409  }
36411  return resultobj;
36412 fail:
36413  return NULL;
36414 }
36415 
36416 
36417 SWIGINTERN PyObject *_wrap_IntExpr___floordiv____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36418  PyObject *resultobj = 0;
36421  void *argp1 = 0 ;
36422  int res1 = 0 ;
36423  void *argp2 = 0 ;
36424  int res2 = 0 ;
36425  PyObject * obj0 = 0 ;
36426  PyObject * obj1 = 0 ;
36427  operations_research::IntExpr *result = 0 ;
36428 
36429  if (!PyArg_UnpackTuple(args, "IntExpr___floordiv__", 2, 2, &obj0, &obj1)) SWIG_fail;
36430  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36431  if (!SWIG_IsOK(res1)) {
36432  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___floordiv__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36433  }
36434  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36435  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36436  if (!SWIG_IsOK(res2)) {
36437  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___floordiv__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
36438  }
36439  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
36440  {
36441  try {
36443  }
36444  catch (Swig::DirectorException &e) {
36445  SWIG_fail;
36446  }
36447  }
36449  return resultobj;
36450 fail:
36451  return NULL;
36452 }
36453 
36454 
36455 SWIGINTERN PyObject *_wrap_IntExpr___floordiv__(PyObject *self, PyObject *args) {
36456  Py_ssize_t argc;
36457  PyObject *argv[3] = {
36458  0
36459  };
36460  Py_ssize_t ii;
36461 
36462  if (!PyTuple_Check(args)) SWIG_fail;
36463  argc = PyObject_Length(args);
36464  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
36465  argv[ii] = PyTuple_GET_ITEM(args,ii);
36466  }
36467  if (argc == 2) {
36468  int _v;
36469  void *vptr = 0;
36470  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36471  _v = SWIG_CheckState(res);
36472  if (_v) {
36473  void *vptr = 0;
36474  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36475  _v = SWIG_CheckState(res);
36476  if (_v) {
36477  return _wrap_IntExpr___floordiv____SWIG_1(self, args);
36478  }
36479  }
36480  }
36481  if (argc == 2) {
36482  int _v;
36483  void *vptr = 0;
36484  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36485  _v = SWIG_CheckState(res);
36486  if (_v) {
36487  {
36488  int res = SWIG_AsVal_long(argv[1], NULL);
36489  _v = SWIG_CheckState(res);
36490  }
36491  if (_v) {
36492  return _wrap_IntExpr___floordiv____SWIG_0(self, args);
36493  }
36494  }
36495  }
36496 
36497 fail:
36498  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntExpr___floordiv__'.\n"
36499  " Possible C/C++ prototypes are:\n"
36500  " operations_research::IntExpr::__floordiv__(int64_t)\n"
36501  " operations_research::IntExpr::__floordiv__(operations_research::IntExpr *)\n");
36502  return 0;
36503 }
36504 
36505 
36506 SWIGINTERN PyObject *_wrap_IntExpr___mod____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36507  PyObject *resultobj = 0;
36509  int64_t arg2 ;
36510  void *argp1 = 0 ;
36511  int res1 = 0 ;
36512  long val2 ;
36513  int ecode2 = 0 ;
36514  PyObject * obj0 = 0 ;
36515  PyObject * obj1 = 0 ;
36516  operations_research::IntExpr *result = 0 ;
36517 
36518  if (!PyArg_UnpackTuple(args, "IntExpr___mod__", 2, 2, &obj0, &obj1)) SWIG_fail;
36519  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36520  if (!SWIG_IsOK(res1)) {
36521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___mod__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36522  }
36523  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36524  ecode2 = SWIG_AsVal_long(obj1, &val2);
36525  if (!SWIG_IsOK(ecode2)) {
36526  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___mod__" "', argument " "2"" of type '" "int64_t""'");
36527  }
36528  arg2 = static_cast< int64_t >(val2);
36529  {
36530  try {
36532  }
36533  catch (Swig::DirectorException &e) {
36534  SWIG_fail;
36535  }
36536  }
36538  return resultobj;
36539 fail:
36540  PyErr_Clear();
36541  Py_INCREF(Py_NotImplemented);
36542  return Py_NotImplemented;
36543 }
36544 
36545 
36546 SWIGINTERN PyObject *_wrap_IntExpr___mod____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36547  PyObject *resultobj = 0;
36550  void *argp1 = 0 ;
36551  int res1 = 0 ;
36552  void *argp2 = 0 ;
36553  int res2 = 0 ;
36554  PyObject * obj0 = 0 ;
36555  PyObject * obj1 = 0 ;
36556  operations_research::IntExpr *result = 0 ;
36557 
36558  if (!PyArg_UnpackTuple(args, "IntExpr___mod__", 2, 2, &obj0, &obj1)) SWIG_fail;
36559  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36560  if (!SWIG_IsOK(res1)) {
36561  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___mod__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36562  }
36563  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36564  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36565  if (!SWIG_IsOK(res2)) {
36566  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___mod__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
36567  }
36568  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
36569  {
36570  try {
36572  }
36573  catch (Swig::DirectorException &e) {
36574  SWIG_fail;
36575  }
36576  }
36578  return resultobj;
36579 fail:
36580  PyErr_Clear();
36581  Py_INCREF(Py_NotImplemented);
36582  return Py_NotImplemented;
36583 }
36584 
36585 
36586 SWIGINTERN PyObject *_wrap_IntExpr___mod__(PyObject *self, PyObject *args) {
36587  Py_ssize_t argc;
36588  PyObject *argv[3] = {
36589  0
36590  };
36591  Py_ssize_t ii;
36592 
36593  if (!PyTuple_Check(args)) SWIG_fail;
36594  argc = PyObject_Length(args);
36595  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
36596  argv[ii] = PyTuple_GET_ITEM(args,ii);
36597  }
36598  if (argc == 2) {
36599  int _v;
36600  void *vptr = 0;
36601  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36602  _v = SWIG_CheckState(res);
36603  if (_v) {
36604  void *vptr = 0;
36605  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36606  _v = SWIG_CheckState(res);
36607  if (_v) {
36608  return _wrap_IntExpr___mod____SWIG_1(self, args);
36609  }
36610  }
36611  }
36612  if (argc == 2) {
36613  int _v;
36614  void *vptr = 0;
36615  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
36616  _v = SWIG_CheckState(res);
36617  if (_v) {
36618  {
36619  int res = SWIG_AsVal_long(argv[1], NULL);
36620  _v = SWIG_CheckState(res);
36621  }
36622  if (_v) {
36623  return _wrap_IntExpr___mod____SWIG_0(self, args);
36624  }
36625  }
36626  }
36627 
36628 fail:
36629  Py_INCREF(Py_NotImplemented);
36630  return Py_NotImplemented;
36631 }
36632 
36633 
36634 SWIGINTERN PyObject *_wrap_IntExpr___neg__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36635  PyObject *resultobj = 0;
36637  void *argp1 = 0 ;
36638  int res1 = 0 ;
36639  PyObject * obj0 = 0 ;
36640  operations_research::IntExpr *result = 0 ;
36641 
36642  if (!PyArg_UnpackTuple(args, "IntExpr___neg__", 1, 1, &obj0)) SWIG_fail;
36643  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36644  if (!SWIG_IsOK(res1)) {
36645  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___neg__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36646  }
36647  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36648  {
36649  try {
36651  }
36652  catch (Swig::DirectorException &e) {
36653  SWIG_fail;
36654  }
36655  }
36657  return resultobj;
36658 fail:
36659  PyErr_Clear();
36660  Py_INCREF(Py_NotImplemented);
36661  return Py_NotImplemented;
36662 }
36663 
36664 
36665 SWIGINTERN PyObject *_wrap_IntExpr___abs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36666  PyObject *resultobj = 0;
36668  void *argp1 = 0 ;
36669  int res1 = 0 ;
36670  PyObject * obj0 = 0 ;
36671  operations_research::IntExpr *result = 0 ;
36672 
36673  if (!PyArg_UnpackTuple(args, "IntExpr___abs__", 1, 1, &obj0)) SWIG_fail;
36674  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36675  if (!SWIG_IsOK(res1)) {
36676  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___abs__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36677  }
36678  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36679  {
36680  try {
36682  }
36683  catch (Swig::DirectorException &e) {
36684  SWIG_fail;
36685  }
36686  }
36688  return resultobj;
36689 fail:
36690  return NULL;
36691 }
36692 
36693 
36694 SWIGINTERN PyObject *_wrap_IntExpr_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36695  PyObject *resultobj = 0;
36697  void *argp1 = 0 ;
36698  int res1 = 0 ;
36699  PyObject * obj0 = 0 ;
36700  operations_research::IntExpr *result = 0 ;
36701 
36702  if (!PyArg_UnpackTuple(args, "IntExpr_Square", 1, 1, &obj0)) SWIG_fail;
36703  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36704  if (!SWIG_IsOK(res1)) {
36705  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Square" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36706  }
36707  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36708  {
36709  try {
36711  }
36712  catch (Swig::DirectorException &e) {
36713  SWIG_fail;
36714  }
36715  }
36717  return resultobj;
36718 fail:
36719  return NULL;
36720 }
36721 
36722 
36723 SWIGINTERN PyObject *_wrap_IntExpr___eq____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36724  PyObject *resultobj = 0;
36726  int64_t arg2 ;
36727  void *argp1 = 0 ;
36728  int res1 = 0 ;
36729  long val2 ;
36730  int ecode2 = 0 ;
36731  PyObject * obj0 = 0 ;
36732  PyObject * obj1 = 0 ;
36733  Swig::Director *director = 0;
36734  operations_research::Constraint *result = 0 ;
36735 
36736  if (!PyArg_UnpackTuple(args, "IntExpr___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
36737  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36738  if (!SWIG_IsOK(res1)) {
36739  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___eq__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36740  }
36741  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36742  ecode2 = SWIG_AsVal_long(obj1, &val2);
36743  if (!SWIG_IsOK(ecode2)) {
36744  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___eq__" "', argument " "2"" of type '" "int64_t""'");
36745  }
36746  arg2 = static_cast< int64_t >(val2);
36747  {
36748  try {
36750  }
36751  catch (Swig::DirectorException &e) {
36752  SWIG_fail;
36753  }
36754  }
36755  director = SWIG_DIRECTOR_CAST(result);
36756  if (director) {
36757  resultobj = director->swig_get_self();
36758  Py_INCREF(resultobj);
36759  } else {
36761  }
36762  return resultobj;
36763 fail:
36764  PyErr_Clear();
36765  Py_INCREF(Py_NotImplemented);
36766  return Py_NotImplemented;
36767 }
36768 
36769 
36770 SWIGINTERN PyObject *_wrap_IntExpr___ne____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36771  PyObject *resultobj = 0;
36773  int64_t arg2 ;
36774  void *argp1 = 0 ;
36775  int res1 = 0 ;
36776  long val2 ;
36777  int ecode2 = 0 ;
36778  PyObject * obj0 = 0 ;
36779  PyObject * obj1 = 0 ;
36780  Swig::Director *director = 0;
36781  operations_research::Constraint *result = 0 ;
36782 
36783  if (!PyArg_UnpackTuple(args, "IntExpr___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
36784  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36785  if (!SWIG_IsOK(res1)) {
36786  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ne__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36787  }
36788  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36789  ecode2 = SWIG_AsVal_long(obj1, &val2);
36790  if (!SWIG_IsOK(ecode2)) {
36791  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___ne__" "', argument " "2"" of type '" "int64_t""'");
36792  }
36793  arg2 = static_cast< int64_t >(val2);
36794  {
36795  try {
36797  }
36798  catch (Swig::DirectorException &e) {
36799  SWIG_fail;
36800  }
36801  }
36802  director = SWIG_DIRECTOR_CAST(result);
36803  if (director) {
36804  resultobj = director->swig_get_self();
36805  Py_INCREF(resultobj);
36806  } else {
36808  }
36809  return resultobj;
36810 fail:
36811  PyErr_Clear();
36812  Py_INCREF(Py_NotImplemented);
36813  return Py_NotImplemented;
36814 }
36815 
36816 
36817 SWIGINTERN PyObject *_wrap_IntExpr___ge____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36818  PyObject *resultobj = 0;
36820  int64_t arg2 ;
36821  void *argp1 = 0 ;
36822  int res1 = 0 ;
36823  long val2 ;
36824  int ecode2 = 0 ;
36825  PyObject * obj0 = 0 ;
36826  PyObject * obj1 = 0 ;
36827  Swig::Director *director = 0;
36828  operations_research::Constraint *result = 0 ;
36829 
36830  if (!PyArg_UnpackTuple(args, "IntExpr___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
36831  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36832  if (!SWIG_IsOK(res1)) {
36833  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ge__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36834  }
36835  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36836  ecode2 = SWIG_AsVal_long(obj1, &val2);
36837  if (!SWIG_IsOK(ecode2)) {
36838  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___ge__" "', argument " "2"" of type '" "int64_t""'");
36839  }
36840  arg2 = static_cast< int64_t >(val2);
36841  {
36842  try {
36844  }
36845  catch (Swig::DirectorException &e) {
36846  SWIG_fail;
36847  }
36848  }
36849  director = SWIG_DIRECTOR_CAST(result);
36850  if (director) {
36851  resultobj = director->swig_get_self();
36852  Py_INCREF(resultobj);
36853  } else {
36855  }
36856  return resultobj;
36857 fail:
36858  PyErr_Clear();
36859  Py_INCREF(Py_NotImplemented);
36860  return Py_NotImplemented;
36861 }
36862 
36863 
36864 SWIGINTERN PyObject *_wrap_IntExpr___gt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36865  PyObject *resultobj = 0;
36867  int64_t arg2 ;
36868  void *argp1 = 0 ;
36869  int res1 = 0 ;
36870  long val2 ;
36871  int ecode2 = 0 ;
36872  PyObject * obj0 = 0 ;
36873  PyObject * obj1 = 0 ;
36874  Swig::Director *director = 0;
36875  operations_research::Constraint *result = 0 ;
36876 
36877  if (!PyArg_UnpackTuple(args, "IntExpr___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
36878  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36879  if (!SWIG_IsOK(res1)) {
36880  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___gt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36881  }
36882  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36883  ecode2 = SWIG_AsVal_long(obj1, &val2);
36884  if (!SWIG_IsOK(ecode2)) {
36885  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___gt__" "', argument " "2"" of type '" "int64_t""'");
36886  }
36887  arg2 = static_cast< int64_t >(val2);
36888  {
36889  try {
36891  }
36892  catch (Swig::DirectorException &e) {
36893  SWIG_fail;
36894  }
36895  }
36896  director = SWIG_DIRECTOR_CAST(result);
36897  if (director) {
36898  resultobj = director->swig_get_self();
36899  Py_INCREF(resultobj);
36900  } else {
36902  }
36903  return resultobj;
36904 fail:
36905  PyErr_Clear();
36906  Py_INCREF(Py_NotImplemented);
36907  return Py_NotImplemented;
36908 }
36909 
36910 
36911 SWIGINTERN PyObject *_wrap_IntExpr___le____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36912  PyObject *resultobj = 0;
36914  int64_t arg2 ;
36915  void *argp1 = 0 ;
36916  int res1 = 0 ;
36917  long val2 ;
36918  int ecode2 = 0 ;
36919  PyObject * obj0 = 0 ;
36920  PyObject * obj1 = 0 ;
36921  Swig::Director *director = 0;
36922  operations_research::Constraint *result = 0 ;
36923 
36924  if (!PyArg_UnpackTuple(args, "IntExpr___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
36925  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36926  if (!SWIG_IsOK(res1)) {
36927  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___le__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36928  }
36929  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36930  ecode2 = SWIG_AsVal_long(obj1, &val2);
36931  if (!SWIG_IsOK(ecode2)) {
36932  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___le__" "', argument " "2"" of type '" "int64_t""'");
36933  }
36934  arg2 = static_cast< int64_t >(val2);
36935  {
36936  try {
36938  }
36939  catch (Swig::DirectorException &e) {
36940  SWIG_fail;
36941  }
36942  }
36943  director = SWIG_DIRECTOR_CAST(result);
36944  if (director) {
36945  resultobj = director->swig_get_self();
36946  Py_INCREF(resultobj);
36947  } else {
36949  }
36950  return resultobj;
36951 fail:
36952  PyErr_Clear();
36953  Py_INCREF(Py_NotImplemented);
36954  return Py_NotImplemented;
36955 }
36956 
36957 
36958 SWIGINTERN PyObject *_wrap_IntExpr___lt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
36959  PyObject *resultobj = 0;
36961  int64_t arg2 ;
36962  void *argp1 = 0 ;
36963  int res1 = 0 ;
36964  long val2 ;
36965  int ecode2 = 0 ;
36966  PyObject * obj0 = 0 ;
36967  PyObject * obj1 = 0 ;
36968  Swig::Director *director = 0;
36969  operations_research::Constraint *result = 0 ;
36970 
36971  if (!PyArg_UnpackTuple(args, "IntExpr___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
36972  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
36973  if (!SWIG_IsOK(res1)) {
36974  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___lt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
36975  }
36976  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
36977  ecode2 = SWIG_AsVal_long(obj1, &val2);
36978  if (!SWIG_IsOK(ecode2)) {
36979  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntExpr___lt__" "', argument " "2"" of type '" "int64_t""'");
36980  }
36981  arg2 = static_cast< int64_t >(val2);
36982  {
36983  try {
36985  }
36986  catch (Swig::DirectorException &e) {
36987  SWIG_fail;
36988  }
36989  }
36990  director = SWIG_DIRECTOR_CAST(result);
36991  if (director) {
36992  resultobj = director->swig_get_self();
36993  Py_INCREF(resultobj);
36994  } else {
36996  }
36997  return resultobj;
36998 fail:
36999  PyErr_Clear();
37000  Py_INCREF(Py_NotImplemented);
37001  return Py_NotImplemented;
37002 }
37003 
37004 
37005 SWIGINTERN PyObject *_wrap_IntExpr___eq____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37006  PyObject *resultobj = 0;
37009  void *argp1 = 0 ;
37010  int res1 = 0 ;
37011  void *argp2 = 0 ;
37012  int res2 = 0 ;
37013  PyObject * obj0 = 0 ;
37014  PyObject * obj1 = 0 ;
37015  Swig::Director *director = 0;
37016  operations_research::Constraint *result = 0 ;
37017 
37018  if (!PyArg_UnpackTuple(args, "IntExpr___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
37019  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37020  if (!SWIG_IsOK(res1)) {
37021  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___eq__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37022  }
37023  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37024  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37025  if (!SWIG_IsOK(res2)) {
37026  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___eq__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37027  }
37028  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37029  {
37030  try {
37032  }
37033  catch (Swig::DirectorException &e) {
37034  SWIG_fail;
37035  }
37036  }
37037  director = SWIG_DIRECTOR_CAST(result);
37038  if (director) {
37039  resultobj = director->swig_get_self();
37040  Py_INCREF(resultobj);
37041  } else {
37043  }
37044  return resultobj;
37045 fail:
37046  PyErr_Clear();
37047  Py_INCREF(Py_NotImplemented);
37048  return Py_NotImplemented;
37049 }
37050 
37051 
37052 SWIGINTERN PyObject *_wrap_IntExpr___ne____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37053  PyObject *resultobj = 0;
37056  void *argp1 = 0 ;
37057  int res1 = 0 ;
37058  void *argp2 = 0 ;
37059  int res2 = 0 ;
37060  PyObject * obj0 = 0 ;
37061  PyObject * obj1 = 0 ;
37062  Swig::Director *director = 0;
37063  operations_research::Constraint *result = 0 ;
37064 
37065  if (!PyArg_UnpackTuple(args, "IntExpr___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
37066  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37067  if (!SWIG_IsOK(res1)) {
37068  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ne__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37069  }
37070  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37071  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37072  if (!SWIG_IsOK(res2)) {
37073  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___ne__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37074  }
37075  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37076  {
37077  try {
37079  }
37080  catch (Swig::DirectorException &e) {
37081  SWIG_fail;
37082  }
37083  }
37084  director = SWIG_DIRECTOR_CAST(result);
37085  if (director) {
37086  resultobj = director->swig_get_self();
37087  Py_INCREF(resultobj);
37088  } else {
37090  }
37091  return resultobj;
37092 fail:
37093  PyErr_Clear();
37094  Py_INCREF(Py_NotImplemented);
37095  return Py_NotImplemented;
37096 }
37097 
37098 
37099 SWIGINTERN PyObject *_wrap_IntExpr___ge____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37100  PyObject *resultobj = 0;
37103  void *argp1 = 0 ;
37104  int res1 = 0 ;
37105  void *argp2 = 0 ;
37106  int res2 = 0 ;
37107  PyObject * obj0 = 0 ;
37108  PyObject * obj1 = 0 ;
37109  Swig::Director *director = 0;
37110  operations_research::Constraint *result = 0 ;
37111 
37112  if (!PyArg_UnpackTuple(args, "IntExpr___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
37113  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37114  if (!SWIG_IsOK(res1)) {
37115  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ge__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37116  }
37117  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37118  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37119  if (!SWIG_IsOK(res2)) {
37120  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___ge__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37121  }
37122  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37123  {
37124  try {
37126  }
37127  catch (Swig::DirectorException &e) {
37128  SWIG_fail;
37129  }
37130  }
37131  director = SWIG_DIRECTOR_CAST(result);
37132  if (director) {
37133  resultobj = director->swig_get_self();
37134  Py_INCREF(resultobj);
37135  } else {
37137  }
37138  return resultobj;
37139 fail:
37140  PyErr_Clear();
37141  Py_INCREF(Py_NotImplemented);
37142  return Py_NotImplemented;
37143 }
37144 
37145 
37146 SWIGINTERN PyObject *_wrap_IntExpr___gt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37147  PyObject *resultobj = 0;
37150  void *argp1 = 0 ;
37151  int res1 = 0 ;
37152  void *argp2 = 0 ;
37153  int res2 = 0 ;
37154  PyObject * obj0 = 0 ;
37155  PyObject * obj1 = 0 ;
37156  Swig::Director *director = 0;
37157  operations_research::Constraint *result = 0 ;
37158 
37159  if (!PyArg_UnpackTuple(args, "IntExpr___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
37160  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37161  if (!SWIG_IsOK(res1)) {
37162  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___gt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37163  }
37164  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37165  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37166  if (!SWIG_IsOK(res2)) {
37167  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___gt__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37168  }
37169  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37170  {
37171  try {
37173  }
37174  catch (Swig::DirectorException &e) {
37175  SWIG_fail;
37176  }
37177  }
37178  director = SWIG_DIRECTOR_CAST(result);
37179  if (director) {
37180  resultobj = director->swig_get_self();
37181  Py_INCREF(resultobj);
37182  } else {
37184  }
37185  return resultobj;
37186 fail:
37187  PyErr_Clear();
37188  Py_INCREF(Py_NotImplemented);
37189  return Py_NotImplemented;
37190 }
37191 
37192 
37193 SWIGINTERN PyObject *_wrap_IntExpr___le____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37194  PyObject *resultobj = 0;
37197  void *argp1 = 0 ;
37198  int res1 = 0 ;
37199  void *argp2 = 0 ;
37200  int res2 = 0 ;
37201  PyObject * obj0 = 0 ;
37202  PyObject * obj1 = 0 ;
37203  Swig::Director *director = 0;
37204  operations_research::Constraint *result = 0 ;
37205 
37206  if (!PyArg_UnpackTuple(args, "IntExpr___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
37207  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37208  if (!SWIG_IsOK(res1)) {
37209  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___le__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37210  }
37211  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37212  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37213  if (!SWIG_IsOK(res2)) {
37214  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___le__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37215  }
37216  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37217  {
37218  try {
37220  }
37221  catch (Swig::DirectorException &e) {
37222  SWIG_fail;
37223  }
37224  }
37225  director = SWIG_DIRECTOR_CAST(result);
37226  if (director) {
37227  resultobj = director->swig_get_self();
37228  Py_INCREF(resultobj);
37229  } else {
37231  }
37232  return resultobj;
37233 fail:
37234  PyErr_Clear();
37235  Py_INCREF(Py_NotImplemented);
37236  return Py_NotImplemented;
37237 }
37238 
37239 
37240 SWIGINTERN PyObject *_wrap_IntExpr___lt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37241  PyObject *resultobj = 0;
37244  void *argp1 = 0 ;
37245  int res1 = 0 ;
37246  void *argp2 = 0 ;
37247  int res2 = 0 ;
37248  PyObject * obj0 = 0 ;
37249  PyObject * obj1 = 0 ;
37250  Swig::Director *director = 0;
37251  operations_research::Constraint *result = 0 ;
37252 
37253  if (!PyArg_UnpackTuple(args, "IntExpr___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
37254  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37255  if (!SWIG_IsOK(res1)) {
37256  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___lt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37257  }
37258  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37259  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37260  if (!SWIG_IsOK(res2)) {
37261  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___lt__" "', argument " "2"" of type '" "operations_research::IntExpr *""'");
37262  }
37263  arg2 = reinterpret_cast< operations_research::IntExpr * >(argp2);
37264  {
37265  try {
37267  }
37268  catch (Swig::DirectorException &e) {
37269  SWIG_fail;
37270  }
37271  }
37272  director = SWIG_DIRECTOR_CAST(result);
37273  if (director) {
37274  resultobj = director->swig_get_self();
37275  Py_INCREF(resultobj);
37276  } else {
37278  }
37279  return resultobj;
37280 fail:
37281  PyErr_Clear();
37282  Py_INCREF(Py_NotImplemented);
37283  return Py_NotImplemented;
37284 }
37285 
37286 
37287 SWIGINTERN PyObject *_wrap_IntExpr___eq____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37288  PyObject *resultobj = 0;
37291  void *argp1 = 0 ;
37292  int res1 = 0 ;
37293  void *argp2 = 0 ;
37294  int res2 = 0 ;
37295  PyObject * obj0 = 0 ;
37296  PyObject * obj1 = 0 ;
37297  Swig::Director *director = 0;
37298  operations_research::Constraint *result = 0 ;
37299 
37300  if (!PyArg_UnpackTuple(args, "IntExpr___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
37301  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37302  if (!SWIG_IsOK(res1)) {
37303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___eq__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37304  }
37305  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37306  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37307  if (!SWIG_IsOK(res2)) {
37308  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___eq__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37309  }
37310  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37311  {
37312  try {
37314  }
37315  catch (Swig::DirectorException &e) {
37316  SWIG_fail;
37317  }
37318  }
37319  director = SWIG_DIRECTOR_CAST(result);
37320  if (director) {
37321  resultobj = director->swig_get_self();
37322  Py_INCREF(resultobj);
37323  } else {
37325  }
37326  return resultobj;
37327 fail:
37328  PyErr_Clear();
37329  Py_INCREF(Py_NotImplemented);
37330  return Py_NotImplemented;
37331 }
37332 
37333 
37334 SWIGINTERN PyObject *_wrap_IntExpr___eq__(PyObject *self, PyObject *args) {
37335  Py_ssize_t argc;
37336  PyObject *argv[3] = {
37337  0
37338  };
37339  Py_ssize_t ii;
37340 
37341  if (!PyTuple_Check(args)) SWIG_fail;
37342  argc = PyObject_Length(args);
37343  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37344  argv[ii] = PyTuple_GET_ITEM(args,ii);
37345  }
37346  if (argc == 2) {
37347  int _v;
37348  void *vptr = 0;
37349  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37350  _v = SWIG_CheckState(res);
37351  if (_v) {
37352  void *vptr = 0;
37353  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37354  _v = SWIG_CheckState(res);
37355  if (_v) {
37356  return _wrap_IntExpr___eq____SWIG_1(self, args);
37357  }
37358  }
37359  }
37360  if (argc == 2) {
37361  int _v;
37362  void *vptr = 0;
37363  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37364  _v = SWIG_CheckState(res);
37365  if (_v) {
37366  void *vptr = 0;
37367  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37368  _v = SWIG_CheckState(res);
37369  if (_v) {
37370  return _wrap_IntExpr___eq____SWIG_2(self, args);
37371  }
37372  }
37373  }
37374  if (argc == 2) {
37375  int _v;
37376  void *vptr = 0;
37377  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37378  _v = SWIG_CheckState(res);
37379  if (_v) {
37380  {
37381  int res = SWIG_AsVal_long(argv[1], NULL);
37382  _v = SWIG_CheckState(res);
37383  }
37384  if (_v) {
37385  return _wrap_IntExpr___eq____SWIG_0(self, args);
37386  }
37387  }
37388  }
37389 
37390 fail:
37391  Py_INCREF(Py_NotImplemented);
37392  return Py_NotImplemented;
37393 }
37394 
37395 
37396 SWIGINTERN PyObject *_wrap_IntExpr___ne____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37397  PyObject *resultobj = 0;
37400  void *argp1 = 0 ;
37401  int res1 = 0 ;
37402  void *argp2 = 0 ;
37403  int res2 = 0 ;
37404  PyObject * obj0 = 0 ;
37405  PyObject * obj1 = 0 ;
37406  Swig::Director *director = 0;
37407  operations_research::Constraint *result = 0 ;
37408 
37409  if (!PyArg_UnpackTuple(args, "IntExpr___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
37410  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37411  if (!SWIG_IsOK(res1)) {
37412  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ne__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37413  }
37414  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37415  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37416  if (!SWIG_IsOK(res2)) {
37417  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___ne__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37418  }
37419  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37420  {
37421  try {
37423  }
37424  catch (Swig::DirectorException &e) {
37425  SWIG_fail;
37426  }
37427  }
37428  director = SWIG_DIRECTOR_CAST(result);
37429  if (director) {
37430  resultobj = director->swig_get_self();
37431  Py_INCREF(resultobj);
37432  } else {
37434  }
37435  return resultobj;
37436 fail:
37437  PyErr_Clear();
37438  Py_INCREF(Py_NotImplemented);
37439  return Py_NotImplemented;
37440 }
37441 
37442 
37443 SWIGINTERN PyObject *_wrap_IntExpr___ne__(PyObject *self, PyObject *args) {
37444  Py_ssize_t argc;
37445  PyObject *argv[3] = {
37446  0
37447  };
37448  Py_ssize_t ii;
37449 
37450  if (!PyTuple_Check(args)) SWIG_fail;
37451  argc = PyObject_Length(args);
37452  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37453  argv[ii] = PyTuple_GET_ITEM(args,ii);
37454  }
37455  if (argc == 2) {
37456  int _v;
37457  void *vptr = 0;
37458  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37459  _v = SWIG_CheckState(res);
37460  if (_v) {
37461  void *vptr = 0;
37462  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37463  _v = SWIG_CheckState(res);
37464  if (_v) {
37465  return _wrap_IntExpr___ne____SWIG_1(self, args);
37466  }
37467  }
37468  }
37469  if (argc == 2) {
37470  int _v;
37471  void *vptr = 0;
37472  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37473  _v = SWIG_CheckState(res);
37474  if (_v) {
37475  void *vptr = 0;
37476  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37477  _v = SWIG_CheckState(res);
37478  if (_v) {
37479  return _wrap_IntExpr___ne____SWIG_2(self, args);
37480  }
37481  }
37482  }
37483  if (argc == 2) {
37484  int _v;
37485  void *vptr = 0;
37486  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37487  _v = SWIG_CheckState(res);
37488  if (_v) {
37489  {
37490  int res = SWIG_AsVal_long(argv[1], NULL);
37491  _v = SWIG_CheckState(res);
37492  }
37493  if (_v) {
37494  return _wrap_IntExpr___ne____SWIG_0(self, args);
37495  }
37496  }
37497  }
37498 
37499 fail:
37500  Py_INCREF(Py_NotImplemented);
37501  return Py_NotImplemented;
37502 }
37503 
37504 
37505 SWIGINTERN PyObject *_wrap_IntExpr___ge____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37506  PyObject *resultobj = 0;
37509  void *argp1 = 0 ;
37510  int res1 = 0 ;
37511  void *argp2 = 0 ;
37512  int res2 = 0 ;
37513  PyObject * obj0 = 0 ;
37514  PyObject * obj1 = 0 ;
37515  Swig::Director *director = 0;
37516  operations_research::Constraint *result = 0 ;
37517 
37518  if (!PyArg_UnpackTuple(args, "IntExpr___ge__", 2, 2, &obj0, &obj1)) SWIG_fail;
37519  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37520  if (!SWIG_IsOK(res1)) {
37521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___ge__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37522  }
37523  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37524  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37525  if (!SWIG_IsOK(res2)) {
37526  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___ge__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37527  }
37528  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37529  {
37530  try {
37532  }
37533  catch (Swig::DirectorException &e) {
37534  SWIG_fail;
37535  }
37536  }
37537  director = SWIG_DIRECTOR_CAST(result);
37538  if (director) {
37539  resultobj = director->swig_get_self();
37540  Py_INCREF(resultobj);
37541  } else {
37543  }
37544  return resultobj;
37545 fail:
37546  PyErr_Clear();
37547  Py_INCREF(Py_NotImplemented);
37548  return Py_NotImplemented;
37549 }
37550 
37551 
37552 SWIGINTERN PyObject *_wrap_IntExpr___ge__(PyObject *self, PyObject *args) {
37553  Py_ssize_t argc;
37554  PyObject *argv[3] = {
37555  0
37556  };
37557  Py_ssize_t ii;
37558 
37559  if (!PyTuple_Check(args)) SWIG_fail;
37560  argc = PyObject_Length(args);
37561  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37562  argv[ii] = PyTuple_GET_ITEM(args,ii);
37563  }
37564  if (argc == 2) {
37565  int _v;
37566  void *vptr = 0;
37567  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37568  _v = SWIG_CheckState(res);
37569  if (_v) {
37570  void *vptr = 0;
37571  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37572  _v = SWIG_CheckState(res);
37573  if (_v) {
37574  return _wrap_IntExpr___ge____SWIG_1(self, args);
37575  }
37576  }
37577  }
37578  if (argc == 2) {
37579  int _v;
37580  void *vptr = 0;
37581  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37582  _v = SWIG_CheckState(res);
37583  if (_v) {
37584  void *vptr = 0;
37585  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37586  _v = SWIG_CheckState(res);
37587  if (_v) {
37588  return _wrap_IntExpr___ge____SWIG_2(self, args);
37589  }
37590  }
37591  }
37592  if (argc == 2) {
37593  int _v;
37594  void *vptr = 0;
37595  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37596  _v = SWIG_CheckState(res);
37597  if (_v) {
37598  {
37599  int res = SWIG_AsVal_long(argv[1], NULL);
37600  _v = SWIG_CheckState(res);
37601  }
37602  if (_v) {
37603  return _wrap_IntExpr___ge____SWIG_0(self, args);
37604  }
37605  }
37606  }
37607 
37608 fail:
37609  Py_INCREF(Py_NotImplemented);
37610  return Py_NotImplemented;
37611 }
37612 
37613 
37614 SWIGINTERN PyObject *_wrap_IntExpr___gt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37615  PyObject *resultobj = 0;
37618  void *argp1 = 0 ;
37619  int res1 = 0 ;
37620  void *argp2 = 0 ;
37621  int res2 = 0 ;
37622  PyObject * obj0 = 0 ;
37623  PyObject * obj1 = 0 ;
37624  Swig::Director *director = 0;
37625  operations_research::Constraint *result = 0 ;
37626 
37627  if (!PyArg_UnpackTuple(args, "IntExpr___gt__", 2, 2, &obj0, &obj1)) SWIG_fail;
37628  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37629  if (!SWIG_IsOK(res1)) {
37630  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___gt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37631  }
37632  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37633  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37634  if (!SWIG_IsOK(res2)) {
37635  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___gt__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37636  }
37637  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37638  {
37639  try {
37641  }
37642  catch (Swig::DirectorException &e) {
37643  SWIG_fail;
37644  }
37645  }
37646  director = SWIG_DIRECTOR_CAST(result);
37647  if (director) {
37648  resultobj = director->swig_get_self();
37649  Py_INCREF(resultobj);
37650  } else {
37652  }
37653  return resultobj;
37654 fail:
37655  PyErr_Clear();
37656  Py_INCREF(Py_NotImplemented);
37657  return Py_NotImplemented;
37658 }
37659 
37660 
37661 SWIGINTERN PyObject *_wrap_IntExpr___gt__(PyObject *self, PyObject *args) {
37662  Py_ssize_t argc;
37663  PyObject *argv[3] = {
37664  0
37665  };
37666  Py_ssize_t ii;
37667 
37668  if (!PyTuple_Check(args)) SWIG_fail;
37669  argc = PyObject_Length(args);
37670  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37671  argv[ii] = PyTuple_GET_ITEM(args,ii);
37672  }
37673  if (argc == 2) {
37674  int _v;
37675  void *vptr = 0;
37676  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37677  _v = SWIG_CheckState(res);
37678  if (_v) {
37679  void *vptr = 0;
37680  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37681  _v = SWIG_CheckState(res);
37682  if (_v) {
37683  return _wrap_IntExpr___gt____SWIG_1(self, args);
37684  }
37685  }
37686  }
37687  if (argc == 2) {
37688  int _v;
37689  void *vptr = 0;
37690  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37691  _v = SWIG_CheckState(res);
37692  if (_v) {
37693  void *vptr = 0;
37694  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37695  _v = SWIG_CheckState(res);
37696  if (_v) {
37697  return _wrap_IntExpr___gt____SWIG_2(self, args);
37698  }
37699  }
37700  }
37701  if (argc == 2) {
37702  int _v;
37703  void *vptr = 0;
37704  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37705  _v = SWIG_CheckState(res);
37706  if (_v) {
37707  {
37708  int res = SWIG_AsVal_long(argv[1], NULL);
37709  _v = SWIG_CheckState(res);
37710  }
37711  if (_v) {
37712  return _wrap_IntExpr___gt____SWIG_0(self, args);
37713  }
37714  }
37715  }
37716 
37717 fail:
37718  Py_INCREF(Py_NotImplemented);
37719  return Py_NotImplemented;
37720 }
37721 
37722 
37723 SWIGINTERN PyObject *_wrap_IntExpr___le____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37724  PyObject *resultobj = 0;
37727  void *argp1 = 0 ;
37728  int res1 = 0 ;
37729  void *argp2 = 0 ;
37730  int res2 = 0 ;
37731  PyObject * obj0 = 0 ;
37732  PyObject * obj1 = 0 ;
37733  Swig::Director *director = 0;
37734  operations_research::Constraint *result = 0 ;
37735 
37736  if (!PyArg_UnpackTuple(args, "IntExpr___le__", 2, 2, &obj0, &obj1)) SWIG_fail;
37737  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37738  if (!SWIG_IsOK(res1)) {
37739  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___le__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37740  }
37741  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37742  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37743  if (!SWIG_IsOK(res2)) {
37744  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___le__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37745  }
37746  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37747  {
37748  try {
37750  }
37751  catch (Swig::DirectorException &e) {
37752  SWIG_fail;
37753  }
37754  }
37755  director = SWIG_DIRECTOR_CAST(result);
37756  if (director) {
37757  resultobj = director->swig_get_self();
37758  Py_INCREF(resultobj);
37759  } else {
37761  }
37762  return resultobj;
37763 fail:
37764  PyErr_Clear();
37765  Py_INCREF(Py_NotImplemented);
37766  return Py_NotImplemented;
37767 }
37768 
37769 
37770 SWIGINTERN PyObject *_wrap_IntExpr___le__(PyObject *self, PyObject *args) {
37771  Py_ssize_t argc;
37772  PyObject *argv[3] = {
37773  0
37774  };
37775  Py_ssize_t ii;
37776 
37777  if (!PyTuple_Check(args)) SWIG_fail;
37778  argc = PyObject_Length(args);
37779  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37780  argv[ii] = PyTuple_GET_ITEM(args,ii);
37781  }
37782  if (argc == 2) {
37783  int _v;
37784  void *vptr = 0;
37785  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37786  _v = SWIG_CheckState(res);
37787  if (_v) {
37788  void *vptr = 0;
37789  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37790  _v = SWIG_CheckState(res);
37791  if (_v) {
37792  return _wrap_IntExpr___le____SWIG_1(self, args);
37793  }
37794  }
37795  }
37796  if (argc == 2) {
37797  int _v;
37798  void *vptr = 0;
37799  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37800  _v = SWIG_CheckState(res);
37801  if (_v) {
37802  void *vptr = 0;
37803  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37804  _v = SWIG_CheckState(res);
37805  if (_v) {
37806  return _wrap_IntExpr___le____SWIG_2(self, args);
37807  }
37808  }
37809  }
37810  if (argc == 2) {
37811  int _v;
37812  void *vptr = 0;
37813  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37814  _v = SWIG_CheckState(res);
37815  if (_v) {
37816  {
37817  int res = SWIG_AsVal_long(argv[1], NULL);
37818  _v = SWIG_CheckState(res);
37819  }
37820  if (_v) {
37821  return _wrap_IntExpr___le____SWIG_0(self, args);
37822  }
37823  }
37824  }
37825 
37826 fail:
37827  Py_INCREF(Py_NotImplemented);
37828  return Py_NotImplemented;
37829 }
37830 
37831 
37832 SWIGINTERN PyObject *_wrap_IntExpr___lt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37833  PyObject *resultobj = 0;
37836  void *argp1 = 0 ;
37837  int res1 = 0 ;
37838  void *argp2 = 0 ;
37839  int res2 = 0 ;
37840  PyObject * obj0 = 0 ;
37841  PyObject * obj1 = 0 ;
37842  Swig::Director *director = 0;
37843  operations_research::Constraint *result = 0 ;
37844 
37845  if (!PyArg_UnpackTuple(args, "IntExpr___lt__", 2, 2, &obj0, &obj1)) SWIG_fail;
37846  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37847  if (!SWIG_IsOK(res1)) {
37848  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr___lt__" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37849  }
37850  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37851  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Constraint, 0 | 0 );
37852  if (!SWIG_IsOK(res2)) {
37853  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntExpr___lt__" "', argument " "2"" of type '" "operations_research::Constraint *""'");
37854  }
37855  arg2 = reinterpret_cast< operations_research::Constraint * >(argp2);
37856  {
37857  try {
37859  }
37860  catch (Swig::DirectorException &e) {
37861  SWIG_fail;
37862  }
37863  }
37864  director = SWIG_DIRECTOR_CAST(result);
37865  if (director) {
37866  resultobj = director->swig_get_self();
37867  Py_INCREF(resultobj);
37868  } else {
37870  }
37871  return resultobj;
37872 fail:
37873  PyErr_Clear();
37874  Py_INCREF(Py_NotImplemented);
37875  return Py_NotImplemented;
37876 }
37877 
37878 
37879 SWIGINTERN PyObject *_wrap_IntExpr___lt__(PyObject *self, PyObject *args) {
37880  Py_ssize_t argc;
37881  PyObject *argv[3] = {
37882  0
37883  };
37884  Py_ssize_t ii;
37885 
37886  if (!PyTuple_Check(args)) SWIG_fail;
37887  argc = PyObject_Length(args);
37888  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
37889  argv[ii] = PyTuple_GET_ITEM(args,ii);
37890  }
37891  if (argc == 2) {
37892  int _v;
37893  void *vptr = 0;
37894  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37895  _v = SWIG_CheckState(res);
37896  if (_v) {
37897  void *vptr = 0;
37898  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37899  _v = SWIG_CheckState(res);
37900  if (_v) {
37901  return _wrap_IntExpr___lt____SWIG_1(self, args);
37902  }
37903  }
37904  }
37905  if (argc == 2) {
37906  int _v;
37907  void *vptr = 0;
37908  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37909  _v = SWIG_CheckState(res);
37910  if (_v) {
37911  void *vptr = 0;
37912  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Constraint, 0);
37913  _v = SWIG_CheckState(res);
37914  if (_v) {
37915  return _wrap_IntExpr___lt____SWIG_2(self, args);
37916  }
37917  }
37918  }
37919  if (argc == 2) {
37920  int _v;
37921  void *vptr = 0;
37922  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
37923  _v = SWIG_CheckState(res);
37924  if (_v) {
37925  {
37926  int res = SWIG_AsVal_long(argv[1], NULL);
37927  _v = SWIG_CheckState(res);
37928  }
37929  if (_v) {
37930  return _wrap_IntExpr___lt____SWIG_0(self, args);
37931  }
37932  }
37933  }
37934 
37935 fail:
37936  Py_INCREF(Py_NotImplemented);
37937  return Py_NotImplemented;
37938 }
37939 
37940 
37941 SWIGINTERN PyObject *_wrap_IntExpr_MapTo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37942  PyObject *resultobj = 0;
37944  std::vector< operations_research::IntVar * > *arg2 = 0 ;
37945  void *argp1 = 0 ;
37946  int res1 = 0 ;
37947  std::vector< operations_research::IntVar * > temp2 ;
37948  PyObject * obj0 = 0 ;
37949  PyObject * obj1 = 0 ;
37950  Swig::Director *director = 0;
37951  operations_research::Constraint *result = 0 ;
37952 
37953  if (!PyArg_UnpackTuple(args, "IntExpr_MapTo", 2, 2, &obj0, &obj1)) SWIG_fail;
37954  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
37955  if (!SWIG_IsOK(res1)) {
37956  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_MapTo" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
37957  }
37958  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
37959  {
37960  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
37961  if (!PyErr_Occurred())
37962  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
37963  return NULL;
37964  }
37965  arg2 = &temp2;
37966  }
37967  {
37968  try {
37969  result = (operations_research::Constraint *)operations_research_IntExpr_MapTo(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
37970  }
37971  catch (Swig::DirectorException &e) {
37972  SWIG_fail;
37973  }
37974  }
37975  director = SWIG_DIRECTOR_CAST(result);
37976  if (director) {
37977  resultobj = director->swig_get_self();
37978  Py_INCREF(resultobj);
37979  } else {
37981  }
37982  return resultobj;
37983 fail:
37984  return NULL;
37985 }
37986 
37987 
37988 SWIGINTERN PyObject *_wrap_IntExpr_IndexOf__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
37989  PyObject *resultobj = 0;
37991  std::vector< int64_t > *arg2 = 0 ;
37992  void *argp1 = 0 ;
37993  int res1 = 0 ;
37994  std::vector< int64_t > temp2 ;
37995  PyObject * obj0 = 0 ;
37996  PyObject * obj1 = 0 ;
37997  operations_research::IntExpr *result = 0 ;
37998 
37999  if (!PyArg_UnpackTuple(args, "IntExpr_IndexOf", 2, 2, &obj0, &obj1)) SWIG_fail;
38000  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
38001  if (!SWIG_IsOK(res1)) {
38002  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_IndexOf" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
38003  }
38004  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
38005  {
38006  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38007  if (!PyErr_Occurred())
38008  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38009  return NULL;
38010  }
38011  arg2 = &temp2;
38012  }
38013  {
38014  try {
38015  result = (operations_research::IntExpr *)operations_research_IntExpr_IndexOf__SWIG_0(arg1,(std::vector< long > const &)*arg2);
38016  }
38017  catch (Swig::DirectorException &e) {
38018  SWIG_fail;
38019  }
38020  }
38022  return resultobj;
38023 fail:
38024  return NULL;
38025 }
38026 
38027 
38028 SWIGINTERN PyObject *_wrap_IntExpr_IndexOf__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38029  PyObject *resultobj = 0;
38031  std::vector< operations_research::IntVar * > *arg2 = 0 ;
38032  void *argp1 = 0 ;
38033  int res1 = 0 ;
38034  std::vector< operations_research::IntVar * > temp2 ;
38035  PyObject * obj0 = 0 ;
38036  PyObject * obj1 = 0 ;
38037  operations_research::IntExpr *result = 0 ;
38038 
38039  if (!PyArg_UnpackTuple(args, "IntExpr_IndexOf", 2, 2, &obj0, &obj1)) SWIG_fail;
38040  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
38041  if (!SWIG_IsOK(res1)) {
38042  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_IndexOf" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
38043  }
38044  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
38045  {
38046  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
38047  if (!PyErr_Occurred())
38048  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
38049  return NULL;
38050  }
38051  arg2 = &temp2;
38052  }
38053  {
38054  try {
38055  result = (operations_research::IntExpr *)operations_research_IntExpr_IndexOf__SWIG_1(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
38056  }
38057  catch (Swig::DirectorException &e) {
38058  SWIG_fail;
38059  }
38060  }
38062  return resultobj;
38063 fail:
38064  return NULL;
38065 }
38066 
38067 
38068 SWIGINTERN PyObject *_wrap_IntExpr_IndexOf(PyObject *self, PyObject *args) {
38069  Py_ssize_t argc;
38070  PyObject *argv[3] = {
38071  0
38072  };
38073  Py_ssize_t ii;
38074 
38075  if (!PyTuple_Check(args)) SWIG_fail;
38076  argc = PyObject_Length(args);
38077  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
38078  argv[ii] = PyTuple_GET_ITEM(args,ii);
38079  }
38080  if (argc == 2) {
38081  int _v;
38082  void *vptr = 0;
38083  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
38084  _v = SWIG_CheckState(res);
38085  if (_v) {
38086  {
38087  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
38088  _v = 0;
38089  } else {
38090  const bool is_tuple = PyTuple_Check(argv[1]);
38091  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
38092  size_t i = 0;
38093  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
38094  :PyList_GetItem(argv[1], i))) {
38095  ++i;
38096  }
38097  _v = i == size;
38098  }
38099  }
38100  if (_v) {
38101  return _wrap_IntExpr_IndexOf__SWIG_0(self, args);
38102  }
38103  }
38104  }
38105  if (argc == 2) {
38106  int _v;
38107  void *vptr = 0;
38108  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntExpr, 0);
38109  _v = SWIG_CheckState(res);
38110  if (_v) {
38111  {
38112  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
38113  _v = 0;
38114  } else {
38115  const bool is_tuple = PyTuple_Check(argv[1]);
38116  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
38117  size_t i = 0;
38118  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
38119  :PyList_GetItem(argv[1], i))) {
38120  ++i;
38121  }
38122  _v = i == size;
38123  }
38124  }
38125  if (_v) {
38126  return _wrap_IntExpr_IndexOf__SWIG_1(self, args);
38127  }
38128  }
38129  }
38130 
38131 fail:
38132  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntExpr_IndexOf'.\n"
38133  " Possible C/C++ prototypes are:\n"
38134  " operations_research::IntExpr::IndexOf(std::vector< int64_t > const &)\n"
38135  " operations_research::IntExpr::IndexOf(std::vector< operations_research::IntVar * > const &)\n");
38136  return 0;
38137 }
38138 
38139 
38140 SWIGINTERN PyObject *_wrap_IntExpr_IsMember(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38141  PyObject *resultobj = 0;
38143  std::vector< int64_t > *arg2 = 0 ;
38144  void *argp1 = 0 ;
38145  int res1 = 0 ;
38146  std::vector< int64_t > temp2 ;
38147  PyObject * obj0 = 0 ;
38148  PyObject * obj1 = 0 ;
38149  operations_research::IntVar *result = 0 ;
38150 
38151  if (!PyArg_UnpackTuple(args, "IntExpr_IsMember", 2, 2, &obj0, &obj1)) SWIG_fail;
38152  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
38153  if (!SWIG_IsOK(res1)) {
38154  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_IsMember" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
38155  }
38156  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
38157  {
38158  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38159  if (!PyErr_Occurred())
38160  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38161  return NULL;
38162  }
38163  arg2 = &temp2;
38164  }
38165  {
38166  try {
38167  result = (operations_research::IntVar *)operations_research_IntExpr_IsMember(arg1,(std::vector< long > const &)*arg2);
38168  }
38169  catch (Swig::DirectorException &e) {
38170  SWIG_fail;
38171  }
38172  }
38174  return resultobj;
38175 fail:
38176  return NULL;
38177 }
38178 
38179 
38180 SWIGINTERN PyObject *_wrap_IntExpr_Member(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38181  PyObject *resultobj = 0;
38183  std::vector< int64_t > *arg2 = 0 ;
38184  void *argp1 = 0 ;
38185  int res1 = 0 ;
38186  std::vector< int64_t > temp2 ;
38187  PyObject * obj0 = 0 ;
38188  PyObject * obj1 = 0 ;
38189  Swig::Director *director = 0;
38190  operations_research::Constraint *result = 0 ;
38191 
38192  if (!PyArg_UnpackTuple(args, "IntExpr_Member", 2, 2, &obj0, &obj1)) SWIG_fail;
38193  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
38194  if (!SWIG_IsOK(res1)) {
38195  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_Member" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
38196  }
38197  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
38198  {
38199  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38200  if (!PyErr_Occurred())
38201  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38202  return NULL;
38203  }
38204  arg2 = &temp2;
38205  }
38206  {
38207  try {
38208  result = (operations_research::Constraint *)operations_research_IntExpr_Member(arg1,(std::vector< long > const &)*arg2);
38209  }
38210  catch (Swig::DirectorException &e) {
38211  SWIG_fail;
38212  }
38213  }
38214  director = SWIG_DIRECTOR_CAST(result);
38215  if (director) {
38216  resultobj = director->swig_get_self();
38217  Py_INCREF(resultobj);
38218  } else {
38220  }
38221  return resultobj;
38222 fail:
38223  return NULL;
38224 }
38225 
38226 
38227 SWIGINTERN PyObject *_wrap_IntExpr_NotMember(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38228  PyObject *resultobj = 0;
38230  std::vector< int64_t > *arg2 = 0 ;
38231  std::vector< int64_t > *arg3 = 0 ;
38232  void *argp1 = 0 ;
38233  int res1 = 0 ;
38234  std::vector< int64_t > temp2 ;
38235  std::vector< int64_t > temp3 ;
38236  PyObject * obj0 = 0 ;
38237  PyObject * obj1 = 0 ;
38238  PyObject * obj2 = 0 ;
38239  Swig::Director *director = 0;
38240  operations_research::Constraint *result = 0 ;
38241 
38242  if (!PyArg_UnpackTuple(args, "IntExpr_NotMember", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
38243  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntExpr, 0 | 0 );
38244  if (!SWIG_IsOK(res1)) {
38245  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntExpr_NotMember" "', argument " "1"" of type '" "operations_research::IntExpr *""'");
38246  }
38247  arg1 = reinterpret_cast< operations_research::IntExpr * >(argp1);
38248  {
38249  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38250  if (!PyErr_Occurred())
38251  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38252  return NULL;
38253  }
38254  arg2 = &temp2;
38255  }
38256  {
38257  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
38258  if (!PyErr_Occurred())
38259  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38260  return NULL;
38261  }
38262  arg3 = &temp3;
38263  }
38264  {
38265  try {
38266  result = (operations_research::Constraint *)operations_research_IntExpr_NotMember(arg1,(std::vector< long > const &)*arg2,(std::vector< long > const &)*arg3);
38267  }
38268  catch (Swig::DirectorException &e) {
38269  SWIG_fail;
38270  }
38271  }
38272  director = SWIG_DIRECTOR_CAST(result);
38273  if (director) {
38274  resultobj = director->swig_get_self();
38275  Py_INCREF(resultobj);
38276  } else {
38278  }
38279  return resultobj;
38280 fail:
38281  return NULL;
38282 }
38283 
38284 
38285 SWIGINTERN PyObject *IntExpr_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38286  PyObject *obj;
38287  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
38289  return SWIG_Py_Void();
38290 }
38291 
38292 SWIGINTERN PyObject *_wrap_IntVarIterator_Init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38293  PyObject *resultobj = 0;
38295  void *argp1 = 0 ;
38296  int res1 = 0 ;
38297  PyObject * obj0 = 0 ;
38298 
38299  if (!PyArg_UnpackTuple(args, "IntVarIterator_Init", 1, 1, &obj0)) SWIG_fail;
38301  if (!SWIG_IsOK(res1)) {
38302  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarIterator_Init" "', argument " "1"" of type '" "operations_research::IntVarIterator *""'");
38303  }
38304  arg1 = reinterpret_cast< operations_research::IntVarIterator * >(argp1);
38305  {
38306  try {
38307  (arg1)->Init();
38308  }
38309  catch (Swig::DirectorException &e) {
38310  SWIG_fail;
38311  }
38312  }
38313  resultobj = SWIG_Py_Void();
38314  return resultobj;
38315 fail:
38316  return NULL;
38317 }
38318 
38319 
38320 SWIGINTERN PyObject *_wrap_IntVarIterator_Ok(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38321  PyObject *resultobj = 0;
38323  void *argp1 = 0 ;
38324  int res1 = 0 ;
38325  PyObject * obj0 = 0 ;
38326  bool result;
38327 
38328  if (!PyArg_UnpackTuple(args, "IntVarIterator_Ok", 1, 1, &obj0)) SWIG_fail;
38330  if (!SWIG_IsOK(res1)) {
38331  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarIterator_Ok" "', argument " "1"" of type '" "operations_research::IntVarIterator const *""'");
38332  }
38333  arg1 = reinterpret_cast< operations_research::IntVarIterator * >(argp1);
38334  {
38335  try {
38336  result = (bool)((operations_research::IntVarIterator const *)arg1)->Ok();
38337  }
38338  catch (Swig::DirectorException &e) {
38339  SWIG_fail;
38340  }
38341  }
38342  resultobj = SWIG_From_bool(static_cast< bool >(result));
38343  return resultobj;
38344 fail:
38345  return NULL;
38346 }
38347 
38348 
38349 SWIGINTERN PyObject *_wrap_IntVarIterator_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38350  PyObject *resultobj = 0;
38352  void *argp1 = 0 ;
38353  int res1 = 0 ;
38354  PyObject * obj0 = 0 ;
38355  int64_t result;
38356 
38357  if (!PyArg_UnpackTuple(args, "IntVarIterator_Value", 1, 1, &obj0)) SWIG_fail;
38359  if (!SWIG_IsOK(res1)) {
38360  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarIterator_Value" "', argument " "1"" of type '" "operations_research::IntVarIterator const *""'");
38361  }
38362  arg1 = reinterpret_cast< operations_research::IntVarIterator * >(argp1);
38363  {
38364  try {
38365  result = (int64_t)((operations_research::IntVarIterator const *)arg1)->Value();
38366  }
38367  catch (Swig::DirectorException &e) {
38368  SWIG_fail;
38369  }
38370  }
38371  resultobj = SWIG_From_long(static_cast< long >(result));
38372  return resultobj;
38373 fail:
38374  return NULL;
38375 }
38376 
38377 
38378 SWIGINTERN PyObject *_wrap_IntVarIterator_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38379  PyObject *resultobj = 0;
38381  void *argp1 = 0 ;
38382  int res1 = 0 ;
38383  PyObject * obj0 = 0 ;
38384 
38385  if (!PyArg_UnpackTuple(args, "IntVarIterator_Next", 1, 1, &obj0)) SWIG_fail;
38387  if (!SWIG_IsOK(res1)) {
38388  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarIterator_Next" "', argument " "1"" of type '" "operations_research::IntVarIterator *""'");
38389  }
38390  arg1 = reinterpret_cast< operations_research::IntVarIterator * >(argp1);
38391  {
38392  try {
38393  (arg1)->Next();
38394  }
38395  catch (Swig::DirectorException &e) {
38396  SWIG_fail;
38397  }
38398  }
38399  resultobj = SWIG_Py_Void();
38400  return resultobj;
38401 fail:
38402  return NULL;
38403 }
38404 
38405 
38406 SWIGINTERN PyObject *_wrap_IntVarIterator_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38407  PyObject *resultobj = 0;
38409  void *argp1 = 0 ;
38410  int res1 = 0 ;
38411  PyObject * obj0 = 0 ;
38412  std::string result;
38413 
38414  if (!PyArg_UnpackTuple(args, "IntVarIterator_DebugString", 1, 1, &obj0)) SWIG_fail;
38416  if (!SWIG_IsOK(res1)) {
38417  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarIterator_DebugString" "', argument " "1"" of type '" "operations_research::IntVarIterator const *""'");
38418  }
38419  arg1 = reinterpret_cast< operations_research::IntVarIterator * >(argp1);
38420  {
38421  try {
38422  result = ((operations_research::IntVarIterator const *)arg1)->DebugString();
38423  }
38424  catch (Swig::DirectorException &e) {
38425  SWIG_fail;
38426  }
38427  }
38428  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
38429  return resultobj;
38430 fail:
38431  return NULL;
38432 }
38433 
38434 
38435 SWIGINTERN PyObject *IntVarIterator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38436  PyObject *obj;
38437  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
38439  return SWIG_Py_Void();
38440 }
38441 
38442 SWIGINTERN PyObject *_wrap_IntVar_IsVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38443  PyObject *resultobj = 0;
38445  void *argp1 = 0 ;
38446  int res1 = 0 ;
38447  PyObject * obj0 = 0 ;
38448  bool result;
38449 
38450  if (!PyArg_UnpackTuple(args, "IntVar_IsVar", 1, 1, &obj0)) SWIG_fail;
38451  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38452  if (!SWIG_IsOK(res1)) {
38453  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_IsVar" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
38454  }
38455  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38456  {
38457  try {
38458  result = (bool)((operations_research::IntVar const *)arg1)->IsVar();
38459  }
38460  catch (Swig::DirectorException &e) {
38461  SWIG_fail;
38462  }
38463  }
38464  resultobj = SWIG_From_bool(static_cast< bool >(result));
38465  return resultobj;
38466 fail:
38467  return NULL;
38468 }
38469 
38470 
38471 SWIGINTERN PyObject *_wrap_IntVar_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38472  PyObject *resultobj = 0;
38474  void *argp1 = 0 ;
38475  int res1 = 0 ;
38476  PyObject * obj0 = 0 ;
38477  operations_research::IntVar *result = 0 ;
38478 
38479  if (!PyArg_UnpackTuple(args, "IntVar_Var", 1, 1, &obj0)) SWIG_fail;
38480  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38481  if (!SWIG_IsOK(res1)) {
38482  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_Var" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38483  }
38484  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38485  {
38486  try {
38487  result = (operations_research::IntVar *)(arg1)->Var();
38488  }
38489  catch (Swig::DirectorException &e) {
38490  SWIG_fail;
38491  }
38492  }
38494  return resultobj;
38495 fail:
38496  return NULL;
38497 }
38498 
38499 
38500 SWIGINTERN PyObject *_wrap_IntVar_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38501  PyObject *resultobj = 0;
38503  void *argp1 = 0 ;
38504  int res1 = 0 ;
38505  PyObject * obj0 = 0 ;
38506  int64_t result;
38507 
38508  if (!PyArg_UnpackTuple(args, "IntVar_Value", 1, 1, &obj0)) SWIG_fail;
38509  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38510  if (!SWIG_IsOK(res1)) {
38511  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_Value" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
38512  }
38513  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38514  {
38515  try {
38516  result = (int64_t)((operations_research::IntVar const *)arg1)->Value();
38517  }
38518  catch (Swig::DirectorException &e) {
38519  SWIG_fail;
38520  }
38521  }
38522  resultobj = SWIG_From_long(static_cast< long >(result));
38523  return resultobj;
38524 fail:
38525  return NULL;
38526 }
38527 
38528 
38529 SWIGINTERN PyObject *_wrap_IntVar_RemoveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38530  PyObject *resultobj = 0;
38532  int64_t arg2 ;
38533  void *argp1 = 0 ;
38534  int res1 = 0 ;
38535  long val2 ;
38536  int ecode2 = 0 ;
38537  PyObject * obj0 = 0 ;
38538  PyObject * obj1 = 0 ;
38539 
38540  if (!PyArg_UnpackTuple(args, "IntVar_RemoveValue", 2, 2, &obj0, &obj1)) SWIG_fail;
38541  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38542  if (!SWIG_IsOK(res1)) {
38543  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_RemoveValue" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38544  }
38545  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38546  ecode2 = SWIG_AsVal_long(obj1, &val2);
38547  if (!SWIG_IsOK(ecode2)) {
38548  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVar_RemoveValue" "', argument " "2"" of type '" "int64_t""'");
38549  }
38550  arg2 = static_cast< int64_t >(val2);
38551  {
38552  operations_research::Solver* const solver = arg1->solver();
38553  FailureProtect protect;
38554  solver->set_fail_intercept([&protect]() {
38555  protect.JumpBack();
38556  });
38557  if (setjmp(protect.exception_buffer) == 0) {
38558  (arg1)->RemoveValue(arg2);
38559  solver->clear_fail_intercept();
38560  } else {
38561  solver->clear_fail_intercept();
38562  // IMPORTANT: the type and message of the exception raised matter,
38563  // because they are caught by the python overrides of some CP classes.
38564  // See the occurrences of the "PyExc_Exception" string below.
38565  PyErr_SetString(PyExc_Exception, "CP Solver fail");
38566  SWIG_fail;
38567  }
38568  }
38569  resultobj = SWIG_Py_Void();
38570  return resultobj;
38571 fail:
38572  return NULL;
38573 }
38574 
38575 
38576 SWIGINTERN PyObject *_wrap_IntVar_RemoveInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38577  PyObject *resultobj = 0;
38579  int64_t arg2 ;
38580  int64_t arg3 ;
38581  void *argp1 = 0 ;
38582  int res1 = 0 ;
38583  long val2 ;
38584  int ecode2 = 0 ;
38585  long val3 ;
38586  int ecode3 = 0 ;
38587  PyObject * obj0 = 0 ;
38588  PyObject * obj1 = 0 ;
38589  PyObject * obj2 = 0 ;
38590 
38591  if (!PyArg_UnpackTuple(args, "IntVar_RemoveInterval", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
38592  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38593  if (!SWIG_IsOK(res1)) {
38594  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_RemoveInterval" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38595  }
38596  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38597  ecode2 = SWIG_AsVal_long(obj1, &val2);
38598  if (!SWIG_IsOK(ecode2)) {
38599  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVar_RemoveInterval" "', argument " "2"" of type '" "int64_t""'");
38600  }
38601  arg2 = static_cast< int64_t >(val2);
38602  ecode3 = SWIG_AsVal_long(obj2, &val3);
38603  if (!SWIG_IsOK(ecode3)) {
38604  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntVar_RemoveInterval" "', argument " "3"" of type '" "int64_t""'");
38605  }
38606  arg3 = static_cast< int64_t >(val3);
38607  {
38608  try {
38609  (arg1)->RemoveInterval(arg2,arg3);
38610  }
38611  catch (Swig::DirectorException &e) {
38612  SWIG_fail;
38613  }
38614  }
38615  resultobj = SWIG_Py_Void();
38616  return resultobj;
38617 fail:
38618  return NULL;
38619 }
38620 
38621 
38622 SWIGINTERN PyObject *_wrap_IntVar_RemoveValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38623  PyObject *resultobj = 0;
38625  std::vector< int64_t > *arg2 = 0 ;
38626  void *argp1 = 0 ;
38627  int res1 = 0 ;
38628  std::vector< int64_t > temp2 ;
38629  PyObject * obj0 = 0 ;
38630  PyObject * obj1 = 0 ;
38631 
38632  if (!PyArg_UnpackTuple(args, "IntVar_RemoveValues", 2, 2, &obj0, &obj1)) SWIG_fail;
38633  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38634  if (!SWIG_IsOK(res1)) {
38635  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_RemoveValues" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38636  }
38637  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38638  {
38639  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38640  if (!PyErr_Occurred())
38641  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38642  return NULL;
38643  }
38644  arg2 = &temp2;
38645  }
38646  {
38647  operations_research::Solver* const solver = arg1->solver();
38648  FailureProtect protect;
38649  solver->set_fail_intercept([&protect]() {
38650  protect.JumpBack();
38651  });
38652  if (setjmp(protect.exception_buffer) == 0) {
38653  (arg1)->RemoveValues((std::vector< int64_t > const &)*arg2);
38654  solver->clear_fail_intercept();
38655  } else {
38656  solver->clear_fail_intercept();
38657  // IMPORTANT: the type and message of the exception raised matter,
38658  // because they are caught by the python overrides of some CP classes.
38659  // See the occurrences of the "PyExc_Exception" string below.
38660  PyErr_SetString(PyExc_Exception, "CP Solver fail");
38661  SWIG_fail;
38662  }
38663  }
38664  resultobj = SWIG_Py_Void();
38665  return resultobj;
38666 fail:
38667  return NULL;
38668 }
38669 
38670 
38671 SWIGINTERN PyObject *_wrap_IntVar_SetValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38672  PyObject *resultobj = 0;
38674  std::vector< int64_t > *arg2 = 0 ;
38675  void *argp1 = 0 ;
38676  int res1 = 0 ;
38677  std::vector< int64_t > temp2 ;
38678  PyObject * obj0 = 0 ;
38679  PyObject * obj1 = 0 ;
38680 
38681  if (!PyArg_UnpackTuple(args, "IntVar_SetValues", 2, 2, &obj0, &obj1)) SWIG_fail;
38682  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38683  if (!SWIG_IsOK(res1)) {
38684  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_SetValues" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38685  }
38686  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38687  {
38688  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
38689  if (!PyErr_Occurred())
38690  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
38691  return NULL;
38692  }
38693  arg2 = &temp2;
38694  }
38695  {
38696  try {
38697  (arg1)->SetValues((std::vector< int64_t > const &)*arg2);
38698  }
38699  catch (Swig::DirectorException &e) {
38700  SWIG_fail;
38701  }
38702  }
38703  resultobj = SWIG_Py_Void();
38704  return resultobj;
38705 fail:
38706  return NULL;
38707 }
38708 
38709 
38710 SWIGINTERN PyObject *_wrap_IntVar_WhenBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38711  PyObject *resultobj = 0;
38714  void *argp1 = 0 ;
38715  int res1 = 0 ;
38716  void *argp2 = 0 ;
38717  int res2 = 0 ;
38718  PyObject * obj0 = 0 ;
38719  PyObject * obj1 = 0 ;
38720 
38721  if (!PyArg_UnpackTuple(args, "IntVar_WhenBound", 2, 2, &obj0, &obj1)) SWIG_fail;
38722  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38723  if (!SWIG_IsOK(res1)) {
38724  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_WhenBound" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38725  }
38726  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38727  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
38728  if (!SWIG_IsOK(res2)) {
38729  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVar_WhenBound" "', argument " "2"" of type '" "operations_research::Demon *""'");
38730  }
38731  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
38732  {
38733  try {
38734  (arg1)->WhenBound(arg2);
38735  }
38736  catch (Swig::DirectorException &e) {
38737  SWIG_fail;
38738  }
38739  }
38740  resultobj = SWIG_Py_Void();
38741  return resultobj;
38742 fail:
38743  return NULL;
38744 }
38745 
38746 
38747 SWIGINTERN PyObject *_wrap_IntVar_WhenBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38748  PyObject *resultobj = 0;
38751  void *argp1 = 0 ;
38752  int res1 = 0 ;
38753  PyObject * obj0 = 0 ;
38754  PyObject * obj1 = 0 ;
38755 
38756  if (!PyArg_UnpackTuple(args, "IntVar_WhenBound", 2, 2, &obj0, &obj1)) SWIG_fail;
38757  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38758  if (!SWIG_IsOK(res1)) {
38759  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_WhenBound" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38760  }
38761  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38762  {
38763  SharedPyPtr input(obj1);
38764  arg2 = [input]() {
38765  return InvokePythonCallableReturning<void>(input.get());
38766  };
38767  }
38768  {
38769  try {
38770  (arg1)->WhenBound(arg2);
38771  }
38772  catch (Swig::DirectorException &e) {
38773  SWIG_fail;
38774  }
38775  }
38776  resultobj = SWIG_Py_Void();
38777  return resultobj;
38778 fail:
38779  return NULL;
38780 }
38781 
38782 
38783 SWIGINTERN PyObject *_wrap_IntVar_WhenBound(PyObject *self, PyObject *args) {
38784  Py_ssize_t argc;
38785  PyObject *argv[3] = {
38786  0
38787  };
38788  Py_ssize_t ii;
38789 
38790  if (!PyTuple_Check(args)) SWIG_fail;
38791  argc = PyObject_Length(args);
38792  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
38793  argv[ii] = PyTuple_GET_ITEM(args,ii);
38794  }
38795  if (argc == 2) {
38796  int _v;
38797  void *vptr = 0;
38798  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
38799  _v = SWIG_CheckState(res);
38800  if (_v) {
38801  void *vptr = 0;
38802  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
38803  _v = SWIG_CheckState(res);
38804  if (_v) {
38805  return _wrap_IntVar_WhenBound__SWIG_0(self, args);
38806  }
38807  }
38808  }
38809  if (argc == 2) {
38810  int _v;
38811  void *vptr = 0;
38812  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
38813  _v = SWIG_CheckState(res);
38814  if (_v) {
38815  {
38816  _v = PyCallable_Check(argv[1]);
38817  }
38818  if (_v) {
38819  return _wrap_IntVar_WhenBound__SWIG_1(self, args);
38820  }
38821  }
38822  }
38823 
38824 fail:
38825  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntVar_WhenBound'.\n"
38826  " Possible C/C++ prototypes are:\n"
38827  " operations_research::IntVar::WhenBound(operations_research::Demon *)\n"
38828  " operations_research::IntVar::WhenBound(operations_research::Solver::Closure)\n");
38829  return 0;
38830 }
38831 
38832 
38833 SWIGINTERN PyObject *_wrap_IntVar_WhenDomain__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38834  PyObject *resultobj = 0;
38837  void *argp1 = 0 ;
38838  int res1 = 0 ;
38839  void *argp2 = 0 ;
38840  int res2 = 0 ;
38841  PyObject * obj0 = 0 ;
38842  PyObject * obj1 = 0 ;
38843 
38844  if (!PyArg_UnpackTuple(args, "IntVar_WhenDomain", 2, 2, &obj0, &obj1)) SWIG_fail;
38845  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38846  if (!SWIG_IsOK(res1)) {
38847  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_WhenDomain" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38848  }
38849  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38850  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
38851  if (!SWIG_IsOK(res2)) {
38852  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVar_WhenDomain" "', argument " "2"" of type '" "operations_research::Demon *""'");
38853  }
38854  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
38855  {
38856  try {
38857  (arg1)->WhenDomain(arg2);
38858  }
38859  catch (Swig::DirectorException &e) {
38860  SWIG_fail;
38861  }
38862  }
38863  resultobj = SWIG_Py_Void();
38864  return resultobj;
38865 fail:
38866  return NULL;
38867 }
38868 
38869 
38870 SWIGINTERN PyObject *_wrap_IntVar_WhenDomain__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38871  PyObject *resultobj = 0;
38874  void *argp1 = 0 ;
38875  int res1 = 0 ;
38876  PyObject * obj0 = 0 ;
38877  PyObject * obj1 = 0 ;
38878 
38879  if (!PyArg_UnpackTuple(args, "IntVar_WhenDomain", 2, 2, &obj0, &obj1)) SWIG_fail;
38880  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38881  if (!SWIG_IsOK(res1)) {
38882  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_WhenDomain" "', argument " "1"" of type '" "operations_research::IntVar *""'");
38883  }
38884  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38885  {
38886  SharedPyPtr input(obj1);
38887  arg2 = [input]() {
38888  return InvokePythonCallableReturning<void>(input.get());
38889  };
38890  }
38891  {
38892  try {
38893  (arg1)->WhenDomain(arg2);
38894  }
38895  catch (Swig::DirectorException &e) {
38896  SWIG_fail;
38897  }
38898  }
38899  resultobj = SWIG_Py_Void();
38900  return resultobj;
38901 fail:
38902  return NULL;
38903 }
38904 
38905 
38906 SWIGINTERN PyObject *_wrap_IntVar_WhenDomain(PyObject *self, PyObject *args) {
38907  Py_ssize_t argc;
38908  PyObject *argv[3] = {
38909  0
38910  };
38911  Py_ssize_t ii;
38912 
38913  if (!PyTuple_Check(args)) SWIG_fail;
38914  argc = PyObject_Length(args);
38915  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
38916  argv[ii] = PyTuple_GET_ITEM(args,ii);
38917  }
38918  if (argc == 2) {
38919  int _v;
38920  void *vptr = 0;
38921  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
38922  _v = SWIG_CheckState(res);
38923  if (_v) {
38924  void *vptr = 0;
38925  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
38926  _v = SWIG_CheckState(res);
38927  if (_v) {
38928  return _wrap_IntVar_WhenDomain__SWIG_0(self, args);
38929  }
38930  }
38931  }
38932  if (argc == 2) {
38933  int _v;
38934  void *vptr = 0;
38935  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntVar, 0);
38936  _v = SWIG_CheckState(res);
38937  if (_v) {
38938  {
38939  _v = PyCallable_Check(argv[1]);
38940  }
38941  if (_v) {
38942  return _wrap_IntVar_WhenDomain__SWIG_1(self, args);
38943  }
38944  }
38945  }
38946 
38947 fail:
38948  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntVar_WhenDomain'.\n"
38949  " Possible C/C++ prototypes are:\n"
38950  " operations_research::IntVar::WhenDomain(operations_research::Demon *)\n"
38951  " operations_research::IntVar::WhenDomain(operations_research::Solver::Closure)\n");
38952  return 0;
38953 }
38954 
38955 
38956 SWIGINTERN PyObject *_wrap_IntVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38957  PyObject *resultobj = 0;
38959  void *argp1 = 0 ;
38960  int res1 = 0 ;
38961  PyObject * obj0 = 0 ;
38962  uint64_t result;
38963 
38964  if (!PyArg_UnpackTuple(args, "IntVar_Size", 1, 1, &obj0)) SWIG_fail;
38965  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38966  if (!SWIG_IsOK(res1)) {
38967  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_Size" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
38968  }
38969  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
38970  {
38971  try {
38972  result = (uint64_t)((operations_research::IntVar const *)arg1)->Size();
38973  }
38974  catch (Swig::DirectorException &e) {
38975  SWIG_fail;
38976  }
38977  }
38978  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
38979  return resultobj;
38980 fail:
38981  return NULL;
38982 }
38983 
38984 
38985 SWIGINTERN PyObject *_wrap_IntVar_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
38986  PyObject *resultobj = 0;
38988  int64_t arg2 ;
38989  void *argp1 = 0 ;
38990  int res1 = 0 ;
38991  long val2 ;
38992  int ecode2 = 0 ;
38993  PyObject * obj0 = 0 ;
38994  PyObject * obj1 = 0 ;
38995  bool result;
38996 
38997  if (!PyArg_UnpackTuple(args, "IntVar_Contains", 2, 2, &obj0, &obj1)) SWIG_fail;
38998  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
38999  if (!SWIG_IsOK(res1)) {
39000  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_Contains" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
39001  }
39002  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39003  ecode2 = SWIG_AsVal_long(obj1, &val2);
39004  if (!SWIG_IsOK(ecode2)) {
39005  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVar_Contains" "', argument " "2"" of type '" "int64_t""'");
39006  }
39007  arg2 = static_cast< int64_t >(val2);
39008  {
39009  try {
39010  result = (bool)((operations_research::IntVar const *)arg1)->Contains(arg2);
39011  }
39012  catch (Swig::DirectorException &e) {
39013  SWIG_fail;
39014  }
39015  }
39016  resultobj = SWIG_From_bool(static_cast< bool >(result));
39017  return resultobj;
39018 fail:
39019  return NULL;
39020 }
39021 
39022 
39023 SWIGINTERN PyObject *_wrap_IntVar_HoleIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39024  PyObject *resultobj = 0;
39026  bool arg2 ;
39027  void *argp1 = 0 ;
39028  int res1 = 0 ;
39029  bool val2 ;
39030  int ecode2 = 0 ;
39031  PyObject * obj0 = 0 ;
39032  PyObject * obj1 = 0 ;
39034 
39035  if (!PyArg_UnpackTuple(args, "IntVar_HoleIteratorAux", 2, 2, &obj0, &obj1)) SWIG_fail;
39036  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39037  if (!SWIG_IsOK(res1)) {
39038  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_HoleIteratorAux" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
39039  }
39040  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39041  ecode2 = SWIG_AsVal_bool(obj1, &val2);
39042  if (!SWIG_IsOK(ecode2)) {
39043  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVar_HoleIteratorAux" "', argument " "2"" of type '" "bool""'");
39044  }
39045  arg2 = static_cast< bool >(val2);
39046  {
39047  try {
39048  result = (operations_research::IntVarIterator *)((operations_research::IntVar const *)arg1)->MakeHoleIterator(arg2);
39049  }
39050  catch (Swig::DirectorException &e) {
39051  SWIG_fail;
39052  }
39053  }
39055  return resultobj;
39056 fail:
39057  return NULL;
39058 }
39059 
39060 
39061 SWIGINTERN PyObject *_wrap_IntVar_DomainIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39062  PyObject *resultobj = 0;
39064  bool arg2 ;
39065  void *argp1 = 0 ;
39066  int res1 = 0 ;
39067  bool val2 ;
39068  int ecode2 = 0 ;
39069  PyObject * obj0 = 0 ;
39070  PyObject * obj1 = 0 ;
39072 
39073  if (!PyArg_UnpackTuple(args, "IntVar_DomainIteratorAux", 2, 2, &obj0, &obj1)) SWIG_fail;
39074  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39075  if (!SWIG_IsOK(res1)) {
39076  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_DomainIteratorAux" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
39077  }
39078  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39079  ecode2 = SWIG_AsVal_bool(obj1, &val2);
39080  if (!SWIG_IsOK(ecode2)) {
39081  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVar_DomainIteratorAux" "', argument " "2"" of type '" "bool""'");
39082  }
39083  arg2 = static_cast< bool >(val2);
39084  {
39085  try {
39086  result = (operations_research::IntVarIterator *)((operations_research::IntVar const *)arg1)->MakeDomainIterator(arg2);
39087  }
39088  catch (Swig::DirectorException &e) {
39089  SWIG_fail;
39090  }
39091  }
39093  return resultobj;
39094 fail:
39095  return NULL;
39096 }
39097 
39098 
39099 SWIGINTERN PyObject *_wrap_IntVar_OldMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39100  PyObject *resultobj = 0;
39102  void *argp1 = 0 ;
39103  int res1 = 0 ;
39104  PyObject * obj0 = 0 ;
39105  int64_t result;
39106 
39107  if (!PyArg_UnpackTuple(args, "IntVar_OldMin", 1, 1, &obj0)) SWIG_fail;
39108  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39109  if (!SWIG_IsOK(res1)) {
39110  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_OldMin" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
39111  }
39112  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39113  {
39114  try {
39115  result = (int64_t)((operations_research::IntVar const *)arg1)->OldMin();
39116  }
39117  catch (Swig::DirectorException &e) {
39118  SWIG_fail;
39119  }
39120  }
39121  resultobj = SWIG_From_long(static_cast< long >(result));
39122  return resultobj;
39123 fail:
39124  return NULL;
39125 }
39126 
39127 
39128 SWIGINTERN PyObject *_wrap_IntVar_OldMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39129  PyObject *resultobj = 0;
39131  void *argp1 = 0 ;
39132  int res1 = 0 ;
39133  PyObject * obj0 = 0 ;
39134  int64_t result;
39135 
39136  if (!PyArg_UnpackTuple(args, "IntVar_OldMax", 1, 1, &obj0)) SWIG_fail;
39137  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39138  if (!SWIG_IsOK(res1)) {
39139  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar_OldMax" "', argument " "1"" of type '" "operations_research::IntVar const *""'");
39140  }
39141  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39142  {
39143  try {
39144  result = (int64_t)((operations_research::IntVar const *)arg1)->OldMax();
39145  }
39146  catch (Swig::DirectorException &e) {
39147  SWIG_fail;
39148  }
39149  }
39150  resultobj = SWIG_From_long(static_cast< long >(result));
39151  return resultobj;
39152 fail:
39153  return NULL;
39154 }
39155 
39156 
39157 SWIGINTERN PyObject *_wrap_IntVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39158  PyObject *resultobj = 0;
39160  void *argp1 = 0 ;
39161  int res1 = 0 ;
39162  PyObject * obj0 = 0 ;
39163  std::string result;
39164 
39165  if (!PyArg_UnpackTuple(args, "IntVar___repr__", 1, 1, &obj0)) SWIG_fail;
39166  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39167  if (!SWIG_IsOK(res1)) {
39168  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar___repr__" "', argument " "1"" of type '" "operations_research::IntVar *""'");
39169  }
39170  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39171  {
39172  try {
39173  result = operations_research_IntVar___repr__(arg1);
39174  }
39175  catch (Swig::DirectorException &e) {
39176  SWIG_fail;
39177  }
39178  }
39179  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
39180  return resultobj;
39181 fail:
39182  return NULL;
39183 }
39184 
39185 
39186 SWIGINTERN PyObject *_wrap_IntVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39187  PyObject *resultobj = 0;
39189  void *argp1 = 0 ;
39190  int res1 = 0 ;
39191  PyObject * obj0 = 0 ;
39192  std::string result;
39193 
39194  if (!PyArg_UnpackTuple(args, "IntVar___str__", 1, 1, &obj0)) SWIG_fail;
39195  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
39196  if (!SWIG_IsOK(res1)) {
39197  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVar___str__" "', argument " "1"" of type '" "operations_research::IntVar *""'");
39198  }
39199  arg1 = reinterpret_cast< operations_research::IntVar * >(argp1);
39200  {
39201  try {
39202  result = operations_research_IntVar___str__(arg1);
39203  }
39204  catch (Swig::DirectorException &e) {
39205  SWIG_fail;
39206  }
39207  }
39208  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
39209  return resultobj;
39210 fail:
39211  return NULL;
39212 }
39213 
39214 
39215 SWIGINTERN PyObject *IntVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39216  PyObject *obj;
39217  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
39219  return SWIG_Py_Void();
39220 }
39221 
39222 SWIGINTERN PyObject *_wrap_SolutionCollector_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39223  PyObject *resultobj = 0;
39225  void *argp1 = 0 ;
39226  int res1 = 0 ;
39227  PyObject * obj0 = 0 ;
39228  std::string result;
39229 
39230  if (!PyArg_UnpackTuple(args, "SolutionCollector_DebugString", 1, 1, &obj0)) SWIG_fail;
39232  if (!SWIG_IsOK(res1)) {
39233  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_DebugString" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39234  }
39235  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39236  {
39237  try {
39238  result = ((operations_research::SolutionCollector const *)arg1)->DebugString();
39239  }
39240  catch (Swig::DirectorException &e) {
39241  SWIG_fail;
39242  }
39243  }
39244  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
39245  return resultobj;
39246 fail:
39247  return NULL;
39248 }
39249 
39250 
39251 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39252  PyObject *resultobj = 0;
39255  void *argp1 = 0 ;
39256  int res1 = 0 ;
39257  PyObject * obj0 = 0 ;
39258  PyObject * obj1 = 0 ;
39259 
39260  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39262  if (!SWIG_IsOK(res1)) {
39263  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39264  }
39265  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39266  {
39267  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
39268  }
39269  {
39270  try {
39271  (arg1)->Add(arg2);
39272  }
39273  catch (Swig::DirectorException &e) {
39274  SWIG_fail;
39275  }
39276  }
39277  resultobj = SWIG_Py_Void();
39278  return resultobj;
39279 fail:
39280  return NULL;
39281 }
39282 
39283 
39284 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39285  PyObject *resultobj = 0;
39287  std::vector< operations_research::IntVar * > *arg2 = 0 ;
39288  void *argp1 = 0 ;
39289  int res1 = 0 ;
39290  std::vector< operations_research::IntVar * > temp2 ;
39291  PyObject * obj0 = 0 ;
39292  PyObject * obj1 = 0 ;
39293 
39294  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39296  if (!SWIG_IsOK(res1)) {
39297  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39298  }
39299  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39300  {
39301  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
39302  if (!PyErr_Occurred())
39303  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
39304  return NULL;
39305  }
39306  arg2 = &temp2;
39307  }
39308  {
39309  try {
39310  (arg1)->Add((std::vector< operations_research::IntVar * > const &)*arg2);
39311  }
39312  catch (Swig::DirectorException &e) {
39313  SWIG_fail;
39314  }
39315  }
39316  resultobj = SWIG_Py_Void();
39317  return resultobj;
39318 fail:
39319  return NULL;
39320 }
39321 
39322 
39323 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39324  PyObject *resultobj = 0;
39327  void *argp1 = 0 ;
39328  int res1 = 0 ;
39329  PyObject * obj0 = 0 ;
39330  PyObject * obj1 = 0 ;
39331 
39332  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39334  if (!SWIG_IsOK(res1)) {
39335  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39336  }
39337  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39338  {
39339  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
39340  }
39341  {
39342  try {
39343  (arg1)->Add(arg2);
39344  }
39345  catch (Swig::DirectorException &e) {
39346  SWIG_fail;
39347  }
39348  }
39349  resultobj = SWIG_Py_Void();
39350  return resultobj;
39351 fail:
39352  return NULL;
39353 }
39354 
39355 
39356 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39357  PyObject *resultobj = 0;
39359  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
39360  void *argp1 = 0 ;
39361  int res1 = 0 ;
39362  std::vector< operations_research::IntervalVar * > temp2 ;
39363  PyObject * obj0 = 0 ;
39364  PyObject * obj1 = 0 ;
39365 
39366  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39368  if (!SWIG_IsOK(res1)) {
39369  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39370  }
39371  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39372  {
39373  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
39374  if (!PyErr_Occurred())
39375  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
39376  return NULL;
39377  }
39378  arg2 = &temp2;
39379  }
39380  {
39381  try {
39382  (arg1)->Add((std::vector< operations_research::IntervalVar * > const &)*arg2);
39383  }
39384  catch (Swig::DirectorException &e) {
39385  SWIG_fail;
39386  }
39387  }
39388  resultobj = SWIG_Py_Void();
39389  return resultobj;
39390 fail:
39391  return NULL;
39392 }
39393 
39394 
39395 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39396  PyObject *resultobj = 0;
39399  void *argp1 = 0 ;
39400  int res1 = 0 ;
39401  PyObject * obj0 = 0 ;
39402  PyObject * obj1 = 0 ;
39403 
39404  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39406  if (!SWIG_IsOK(res1)) {
39407  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39408  }
39409  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39410  {
39411  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
39412  }
39413  {
39414  try {
39415  (arg1)->Add(arg2);
39416  }
39417  catch (Swig::DirectorException &e) {
39418  SWIG_fail;
39419  }
39420  }
39421  resultobj = SWIG_Py_Void();
39422  return resultobj;
39423 fail:
39424  return NULL;
39425 }
39426 
39427 
39428 SWIGINTERN PyObject *_wrap_SolutionCollector_Add__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39429  PyObject *resultobj = 0;
39431  std::vector< operations_research::SequenceVar * > *arg2 = 0 ;
39432  void *argp1 = 0 ;
39433  int res1 = 0 ;
39434  std::vector< operations_research::SequenceVar * > temp2 ;
39435  PyObject * obj0 = 0 ;
39436  PyObject * obj1 = 0 ;
39437 
39438  if (!PyArg_UnpackTuple(args, "SolutionCollector_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
39440  if (!SWIG_IsOK(res1)) {
39441  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Add" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39442  }
39443  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39444  {
39445  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::SequenceVar*>)) {
39446  if (!PyErr_Occurred())
39447  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SequenceVar*) expected");
39448  return NULL;
39449  }
39450  arg2 = &temp2;
39451  }
39452  {
39453  try {
39454  (arg1)->Add((std::vector< operations_research::SequenceVar * > const &)*arg2);
39455  }
39456  catch (Swig::DirectorException &e) {
39457  SWIG_fail;
39458  }
39459  }
39460  resultobj = SWIG_Py_Void();
39461  return resultobj;
39462 fail:
39463  return NULL;
39464 }
39465 
39466 
39467 SWIGINTERN PyObject *_wrap_SolutionCollector_Add(PyObject *self, PyObject *args) {
39468  Py_ssize_t argc;
39469  PyObject *argv[3] = {
39470  0
39471  };
39472  Py_ssize_t ii;
39473 
39474  if (!PyTuple_Check(args)) SWIG_fail;
39475  argc = PyObject_Length(args);
39476  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
39477  argv[ii] = PyTuple_GET_ITEM(args,ii);
39478  }
39479  if (argc == 2) {
39480  int _v;
39481  void *vptr = 0;
39483  _v = SWIG_CheckState(res);
39484  if (_v) {
39485  {
39486  _v = CanConvertToIntVar(argv[1]);
39487  if (_v == 0) PyErr_Clear();
39488  }
39489  if (_v) {
39490  return _wrap_SolutionCollector_Add__SWIG_0(self, args);
39491  }
39492  }
39493  }
39494  if (argc == 2) {
39495  int _v;
39496  void *vptr = 0;
39498  _v = SWIG_CheckState(res);
39499  if (_v) {
39500  {
39501  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
39502  _v = 0;
39503  } else {
39504  const bool is_tuple = PyTuple_Check(argv[1]);
39505  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
39506  size_t i = 0;
39507  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
39508  :PyList_GetItem(argv[1], i))) {
39509  ++i;
39510  }
39511  _v = i == size;
39512  }
39513  }
39514  if (_v) {
39515  return _wrap_SolutionCollector_Add__SWIG_1(self, args);
39516  }
39517  }
39518  }
39519  if (argc == 2) {
39520  int _v;
39521  void *vptr = 0;
39523  _v = SWIG_CheckState(res);
39524  if (_v) {
39525  {
39526  _v = CanConvertToIntervalVar(argv[1]);
39527  if (_v == 0) PyErr_Clear();
39528  }
39529  if (_v) {
39530  return _wrap_SolutionCollector_Add__SWIG_2(self, args);
39531  }
39532  }
39533  }
39534  if (argc == 2) {
39535  int _v;
39536  void *vptr = 0;
39538  _v = SWIG_CheckState(res);
39539  if (_v) {
39540  {
39541  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
39542  _v = 0;
39543  } else {
39544  const bool is_tuple = PyTuple_Check(argv[1]);
39545  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
39546  size_t i = 0;
39547  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
39548  :PyList_GetItem(argv[1], i))) {
39549  ++i;
39550  }
39551  _v = i == size;
39552  }
39553  }
39554  if (_v) {
39555  return _wrap_SolutionCollector_Add__SWIG_3(self, args);
39556  }
39557  }
39558  }
39559  if (argc == 2) {
39560  int _v;
39561  void *vptr = 0;
39563  _v = SWIG_CheckState(res);
39564  if (_v) {
39565  {
39566  _v = CanConvertToSequenceVar(argv[1]);
39567  if (_v == 0) PyErr_Clear();
39568  }
39569  if (_v) {
39570  return _wrap_SolutionCollector_Add__SWIG_4(self, args);
39571  }
39572  }
39573  }
39574  if (argc == 2) {
39575  int _v;
39576  void *vptr = 0;
39578  _v = SWIG_CheckState(res);
39579  if (_v) {
39580  {
39581  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
39582  _v = 0;
39583  } else {
39584  const bool is_tuple = PyTuple_Check(argv[1]);
39585  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
39586  size_t i = 0;
39587  while (i < size && CanConvertToSequenceVar(is_tuple ? PyTuple_GetItem(argv[1], i)
39588  :PyList_GetItem(argv[1], i))) {
39589  ++i;
39590  }
39591  _v = i == size;
39592  }
39593  }
39594  if (_v) {
39595  return _wrap_SolutionCollector_Add__SWIG_5(self, args);
39596  }
39597  }
39598  }
39599 
39600 fail:
39601  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'SolutionCollector_Add'.\n"
39602  " Possible C/C++ prototypes are:\n"
39603  " operations_research::SolutionCollector::Add(operations_research::IntVar *const)\n"
39604  " operations_research::SolutionCollector::Add(std::vector< operations_research::IntVar * > const &)\n"
39605  " operations_research::SolutionCollector::Add(operations_research::IntervalVar *const)\n"
39606  " operations_research::SolutionCollector::Add(std::vector< operations_research::IntervalVar * > const &)\n"
39607  " operations_research::SolutionCollector::Add(operations_research::SequenceVar *const)\n"
39608  " operations_research::SolutionCollector::Add(std::vector< operations_research::SequenceVar * > const &)\n");
39609  return 0;
39610 }
39611 
39612 
39613 SWIGINTERN PyObject *_wrap_SolutionCollector_AddObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39614  PyObject *resultobj = 0;
39617  void *argp1 = 0 ;
39618  int res1 = 0 ;
39619  PyObject * obj0 = 0 ;
39620  PyObject * obj1 = 0 ;
39621 
39622  if (!PyArg_UnpackTuple(args, "SolutionCollector_AddObjective", 2, 2, &obj0, &obj1)) SWIG_fail;
39624  if (!SWIG_IsOK(res1)) {
39625  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_AddObjective" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39626  }
39627  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39628  {
39629  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
39630  }
39631  {
39632  try {
39633  (arg1)->AddObjective(arg2);
39634  }
39635  catch (Swig::DirectorException &e) {
39636  SWIG_fail;
39637  }
39638  }
39639  resultobj = SWIG_Py_Void();
39640  return resultobj;
39641 fail:
39642  return NULL;
39643 }
39644 
39645 
39646 SWIGINTERN PyObject *_wrap_SolutionCollector_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39647  PyObject *resultobj = 0;
39649  void *argp1 = 0 ;
39650  int res1 = 0 ;
39651  PyObject * obj0 = 0 ;
39652 
39653  if (!PyArg_UnpackTuple(args, "SolutionCollector_EnterSearch", 1, 1, &obj0)) SWIG_fail;
39655  if (!SWIG_IsOK(res1)) {
39656  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_EnterSearch" "', argument " "1"" of type '" "operations_research::SolutionCollector *""'");
39657  }
39658  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39659  {
39660  try {
39661  (arg1)->EnterSearch();
39662  }
39663  catch (Swig::DirectorException &e) {
39664  SWIG_fail;
39665  }
39666  }
39667  resultobj = SWIG_Py_Void();
39668  return resultobj;
39669 fail:
39670  return NULL;
39671 }
39672 
39673 
39674 SWIGINTERN PyObject *_wrap_SolutionCollector_SolutionCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39675  PyObject *resultobj = 0;
39677  void *argp1 = 0 ;
39678  int res1 = 0 ;
39679  PyObject * obj0 = 0 ;
39680  int result;
39681 
39682  if (!PyArg_UnpackTuple(args, "SolutionCollector_SolutionCount", 1, 1, &obj0)) SWIG_fail;
39684  if (!SWIG_IsOK(res1)) {
39685  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_SolutionCount" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39686  }
39687  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39688  {
39689  try {
39690  result = (int)((operations_research::SolutionCollector const *)arg1)->solution_count();
39691  }
39692  catch (Swig::DirectorException &e) {
39693  SWIG_fail;
39694  }
39695  }
39696  resultobj = SWIG_From_int(static_cast< int >(result));
39697  return resultobj;
39698 fail:
39699  return NULL;
39700 }
39701 
39702 
39703 SWIGINTERN PyObject *_wrap_SolutionCollector_Solution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39704  PyObject *resultobj = 0;
39706  int arg2 ;
39707  void *argp1 = 0 ;
39708  int res1 = 0 ;
39709  int val2 ;
39710  int ecode2 = 0 ;
39711  PyObject * obj0 = 0 ;
39712  PyObject * obj1 = 0 ;
39713  operations_research::Assignment *result = 0 ;
39714 
39715  if (!PyArg_UnpackTuple(args, "SolutionCollector_Solution", 2, 2, &obj0, &obj1)) SWIG_fail;
39717  if (!SWIG_IsOK(res1)) {
39718  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Solution" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39719  }
39720  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39721  ecode2 = SWIG_AsVal_int(obj1, &val2);
39722  if (!SWIG_IsOK(ecode2)) {
39723  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_Solution" "', argument " "2"" of type '" "int""'");
39724  }
39725  arg2 = static_cast< int >(val2);
39726  {
39727  try {
39728  result = (operations_research::Assignment *)((operations_research::SolutionCollector const *)arg1)->solution(arg2);
39729  }
39730  catch (Swig::DirectorException &e) {
39731  SWIG_fail;
39732  }
39733  }
39735  return resultobj;
39736 fail:
39737  return NULL;
39738 }
39739 
39740 
39741 SWIGINTERN PyObject *_wrap_SolutionCollector_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39742  PyObject *resultobj = 0;
39744  int arg2 ;
39745  void *argp1 = 0 ;
39746  int res1 = 0 ;
39747  int val2 ;
39748  int ecode2 = 0 ;
39749  PyObject * obj0 = 0 ;
39750  PyObject * obj1 = 0 ;
39751  int64_t result;
39752 
39753  if (!PyArg_UnpackTuple(args, "SolutionCollector_WallTime", 2, 2, &obj0, &obj1)) SWIG_fail;
39755  if (!SWIG_IsOK(res1)) {
39756  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_WallTime" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39757  }
39758  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39759  ecode2 = SWIG_AsVal_int(obj1, &val2);
39760  if (!SWIG_IsOK(ecode2)) {
39761  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_WallTime" "', argument " "2"" of type '" "int""'");
39762  }
39763  arg2 = static_cast< int >(val2);
39764  {
39765  try {
39766  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->wall_time(arg2);
39767  }
39768  catch (Swig::DirectorException &e) {
39769  SWIG_fail;
39770  }
39771  }
39772  resultobj = SWIG_From_long(static_cast< long >(result));
39773  return resultobj;
39774 fail:
39775  return NULL;
39776 }
39777 
39778 
39779 SWIGINTERN PyObject *_wrap_SolutionCollector_Branches(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39780  PyObject *resultobj = 0;
39782  int arg2 ;
39783  void *argp1 = 0 ;
39784  int res1 = 0 ;
39785  int val2 ;
39786  int ecode2 = 0 ;
39787  PyObject * obj0 = 0 ;
39788  PyObject * obj1 = 0 ;
39789  int64_t result;
39790 
39791  if (!PyArg_UnpackTuple(args, "SolutionCollector_Branches", 2, 2, &obj0, &obj1)) SWIG_fail;
39793  if (!SWIG_IsOK(res1)) {
39794  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Branches" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39795  }
39796  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39797  ecode2 = SWIG_AsVal_int(obj1, &val2);
39798  if (!SWIG_IsOK(ecode2)) {
39799  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_Branches" "', argument " "2"" of type '" "int""'");
39800  }
39801  arg2 = static_cast< int >(val2);
39802  {
39803  try {
39804  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->branches(arg2);
39805  }
39806  catch (Swig::DirectorException &e) {
39807  SWIG_fail;
39808  }
39809  }
39810  resultobj = SWIG_From_long(static_cast< long >(result));
39811  return resultobj;
39812 fail:
39813  return NULL;
39814 }
39815 
39816 
39817 SWIGINTERN PyObject *_wrap_SolutionCollector_Failures(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39818  PyObject *resultobj = 0;
39820  int arg2 ;
39821  void *argp1 = 0 ;
39822  int res1 = 0 ;
39823  int val2 ;
39824  int ecode2 = 0 ;
39825  PyObject * obj0 = 0 ;
39826  PyObject * obj1 = 0 ;
39827  int64_t result;
39828 
39829  if (!PyArg_UnpackTuple(args, "SolutionCollector_Failures", 2, 2, &obj0, &obj1)) SWIG_fail;
39831  if (!SWIG_IsOK(res1)) {
39832  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Failures" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39833  }
39834  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39835  ecode2 = SWIG_AsVal_int(obj1, &val2);
39836  if (!SWIG_IsOK(ecode2)) {
39837  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_Failures" "', argument " "2"" of type '" "int""'");
39838  }
39839  arg2 = static_cast< int >(val2);
39840  {
39841  try {
39842  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->failures(arg2);
39843  }
39844  catch (Swig::DirectorException &e) {
39845  SWIG_fail;
39846  }
39847  }
39848  resultobj = SWIG_From_long(static_cast< long >(result));
39849  return resultobj;
39850 fail:
39851  return NULL;
39852 }
39853 
39854 
39855 SWIGINTERN PyObject *_wrap_SolutionCollector_ObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39856  PyObject *resultobj = 0;
39858  int arg2 ;
39859  void *argp1 = 0 ;
39860  int res1 = 0 ;
39861  int val2 ;
39862  int ecode2 = 0 ;
39863  PyObject * obj0 = 0 ;
39864  PyObject * obj1 = 0 ;
39865  int64_t result;
39866 
39867  if (!PyArg_UnpackTuple(args, "SolutionCollector_ObjectiveValue", 2, 2, &obj0, &obj1)) SWIG_fail;
39869  if (!SWIG_IsOK(res1)) {
39870  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_ObjectiveValue" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39871  }
39872  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39873  ecode2 = SWIG_AsVal_int(obj1, &val2);
39874  if (!SWIG_IsOK(ecode2)) {
39875  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_ObjectiveValue" "', argument " "2"" of type '" "int""'");
39876  }
39877  arg2 = static_cast< int >(val2);
39878  {
39879  try {
39880  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->objective_value(arg2);
39881  }
39882  catch (Swig::DirectorException &e) {
39883  SWIG_fail;
39884  }
39885  }
39886  resultobj = SWIG_From_long(static_cast< long >(result));
39887  return resultobj;
39888 fail:
39889  return NULL;
39890 }
39891 
39892 
39893 SWIGINTERN PyObject *_wrap_SolutionCollector_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39894  PyObject *resultobj = 0;
39896  int arg2 ;
39898  void *argp1 = 0 ;
39899  int res1 = 0 ;
39900  int val2 ;
39901  int ecode2 = 0 ;
39902  PyObject * obj0 = 0 ;
39903  PyObject * obj1 = 0 ;
39904  PyObject * obj2 = 0 ;
39905  int64_t result;
39906 
39907  if (!PyArg_UnpackTuple(args, "SolutionCollector_Value", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
39909  if (!SWIG_IsOK(res1)) {
39910  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Value" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39911  }
39912  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39913  ecode2 = SWIG_AsVal_int(obj1, &val2);
39914  if (!SWIG_IsOK(ecode2)) {
39915  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_Value" "', argument " "2"" of type '" "int""'");
39916  }
39917  arg2 = static_cast< int >(val2);
39918  {
39919  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
39920  }
39921  {
39922  try {
39923  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->Value(arg2,arg3);
39924  }
39925  catch (Swig::DirectorException &e) {
39926  SWIG_fail;
39927  }
39928  }
39929  resultobj = SWIG_From_long(static_cast< long >(result));
39930  return resultobj;
39931 fail:
39932  return NULL;
39933 }
39934 
39935 
39936 SWIGINTERN PyObject *_wrap_SolutionCollector_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39937  PyObject *resultobj = 0;
39939  int arg2 ;
39941  void *argp1 = 0 ;
39942  int res1 = 0 ;
39943  int val2 ;
39944  int ecode2 = 0 ;
39945  PyObject * obj0 = 0 ;
39946  PyObject * obj1 = 0 ;
39947  PyObject * obj2 = 0 ;
39948  int64_t result;
39949 
39950  if (!PyArg_UnpackTuple(args, "SolutionCollector_StartValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
39952  if (!SWIG_IsOK(res1)) {
39953  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_StartValue" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39954  }
39955  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39956  ecode2 = SWIG_AsVal_int(obj1, &val2);
39957  if (!SWIG_IsOK(ecode2)) {
39958  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_StartValue" "', argument " "2"" of type '" "int""'");
39959  }
39960  arg2 = static_cast< int >(val2);
39961  {
39962  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
39963  }
39964  {
39965  try {
39966  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->StartValue(arg2,arg3);
39967  }
39968  catch (Swig::DirectorException &e) {
39969  SWIG_fail;
39970  }
39971  }
39972  resultobj = SWIG_From_long(static_cast< long >(result));
39973  return resultobj;
39974 fail:
39975  return NULL;
39976 }
39977 
39978 
39979 SWIGINTERN PyObject *_wrap_SolutionCollector_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
39980  PyObject *resultobj = 0;
39982  int arg2 ;
39984  void *argp1 = 0 ;
39985  int res1 = 0 ;
39986  int val2 ;
39987  int ecode2 = 0 ;
39988  PyObject * obj0 = 0 ;
39989  PyObject * obj1 = 0 ;
39990  PyObject * obj2 = 0 ;
39991  int64_t result;
39992 
39993  if (!PyArg_UnpackTuple(args, "SolutionCollector_EndValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
39995  if (!SWIG_IsOK(res1)) {
39996  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_EndValue" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
39997  }
39998  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
39999  ecode2 = SWIG_AsVal_int(obj1, &val2);
40000  if (!SWIG_IsOK(ecode2)) {
40001  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_EndValue" "', argument " "2"" of type '" "int""'");
40002  }
40003  arg2 = static_cast< int >(val2);
40004  {
40005  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40006  }
40007  {
40008  try {
40009  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->EndValue(arg2,arg3);
40010  }
40011  catch (Swig::DirectorException &e) {
40012  SWIG_fail;
40013  }
40014  }
40015  resultobj = SWIG_From_long(static_cast< long >(result));
40016  return resultobj;
40017 fail:
40018  return NULL;
40019 }
40020 
40021 
40022 SWIGINTERN PyObject *_wrap_SolutionCollector_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40023  PyObject *resultobj = 0;
40025  int arg2 ;
40027  void *argp1 = 0 ;
40028  int res1 = 0 ;
40029  int val2 ;
40030  int ecode2 = 0 ;
40031  PyObject * obj0 = 0 ;
40032  PyObject * obj1 = 0 ;
40033  PyObject * obj2 = 0 ;
40034  int64_t result;
40035 
40036  if (!PyArg_UnpackTuple(args, "SolutionCollector_DurationValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40038  if (!SWIG_IsOK(res1)) {
40039  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_DurationValue" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
40040  }
40041  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
40042  ecode2 = SWIG_AsVal_int(obj1, &val2);
40043  if (!SWIG_IsOK(ecode2)) {
40044  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_DurationValue" "', argument " "2"" of type '" "int""'");
40045  }
40046  arg2 = static_cast< int >(val2);
40047  {
40048  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40049  }
40050  {
40051  try {
40052  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->DurationValue(arg2,arg3);
40053  }
40054  catch (Swig::DirectorException &e) {
40055  SWIG_fail;
40056  }
40057  }
40058  resultobj = SWIG_From_long(static_cast< long >(result));
40059  return resultobj;
40060 fail:
40061  return NULL;
40062 }
40063 
40064 
40065 SWIGINTERN PyObject *_wrap_SolutionCollector_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40066  PyObject *resultobj = 0;
40068  int arg2 ;
40070  void *argp1 = 0 ;
40071  int res1 = 0 ;
40072  int val2 ;
40073  int ecode2 = 0 ;
40074  PyObject * obj0 = 0 ;
40075  PyObject * obj1 = 0 ;
40076  PyObject * obj2 = 0 ;
40077  int64_t result;
40078 
40079  if (!PyArg_UnpackTuple(args, "SolutionCollector_PerformedValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40081  if (!SWIG_IsOK(res1)) {
40082  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_PerformedValue" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
40083  }
40084  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
40085  ecode2 = SWIG_AsVal_int(obj1, &val2);
40086  if (!SWIG_IsOK(ecode2)) {
40087  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_PerformedValue" "', argument " "2"" of type '" "int""'");
40088  }
40089  arg2 = static_cast< int >(val2);
40090  {
40091  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40092  }
40093  {
40094  try {
40095  result = (int64_t)((operations_research::SolutionCollector const *)arg1)->PerformedValue(arg2,arg3);
40096  }
40097  catch (Swig::DirectorException &e) {
40098  SWIG_fail;
40099  }
40100  }
40101  resultobj = SWIG_From_long(static_cast< long >(result));
40102  return resultobj;
40103 fail:
40104  return NULL;
40105 }
40106 
40107 
40108 SWIGINTERN PyObject *_wrap_SolutionCollector_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40109  PyObject *resultobj = 0;
40111  int arg2 ;
40113  void *argp1 = 0 ;
40114  int res1 = 0 ;
40115  int val2 ;
40116  int ecode2 = 0 ;
40117  PyObject * obj0 = 0 ;
40118  PyObject * obj1 = 0 ;
40119  PyObject * obj2 = 0 ;
40120  std::vector< int > *result = 0 ;
40121 
40122  if (!PyArg_UnpackTuple(args, "SolutionCollector_ForwardSequence", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40124  if (!SWIG_IsOK(res1)) {
40125  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_ForwardSequence" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
40126  }
40127  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
40128  ecode2 = SWIG_AsVal_int(obj1, &val2);
40129  if (!SWIG_IsOK(ecode2)) {
40130  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_ForwardSequence" "', argument " "2"" of type '" "int""'");
40131  }
40132  arg2 = static_cast< int >(val2);
40133  {
40134  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40135  }
40136  {
40137  try {
40138  result = (std::vector< int > *) &((operations_research::SolutionCollector const *)arg1)->ForwardSequence(arg2,arg3);
40139  }
40140  catch (Swig::DirectorException &e) {
40141  SWIG_fail;
40142  }
40143  }
40144  {
40145  resultobj = vector_output_helper(result, &PyInt_FromLong);
40146  }
40147  return resultobj;
40148 fail:
40149  return NULL;
40150 }
40151 
40152 
40153 SWIGINTERN PyObject *_wrap_SolutionCollector_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40154  PyObject *resultobj = 0;
40156  int arg2 ;
40158  void *argp1 = 0 ;
40159  int res1 = 0 ;
40160  int val2 ;
40161  int ecode2 = 0 ;
40162  PyObject * obj0 = 0 ;
40163  PyObject * obj1 = 0 ;
40164  PyObject * obj2 = 0 ;
40165  std::vector< int > *result = 0 ;
40166 
40167  if (!PyArg_UnpackTuple(args, "SolutionCollector_BackwardSequence", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40169  if (!SWIG_IsOK(res1)) {
40170  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_BackwardSequence" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
40171  }
40172  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
40173  ecode2 = SWIG_AsVal_int(obj1, &val2);
40174  if (!SWIG_IsOK(ecode2)) {
40175  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_BackwardSequence" "', argument " "2"" of type '" "int""'");
40176  }
40177  arg2 = static_cast< int >(val2);
40178  {
40179  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40180  }
40181  {
40182  try {
40183  result = (std::vector< int > *) &((operations_research::SolutionCollector const *)arg1)->BackwardSequence(arg2,arg3);
40184  }
40185  catch (Swig::DirectorException &e) {
40186  SWIG_fail;
40187  }
40188  }
40189  {
40190  resultobj = vector_output_helper(result, &PyInt_FromLong);
40191  }
40192  return resultobj;
40193 fail:
40194  return NULL;
40195 }
40196 
40197 
40198 SWIGINTERN PyObject *_wrap_SolutionCollector_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40199  PyObject *resultobj = 0;
40201  int arg2 ;
40203  void *argp1 = 0 ;
40204  int res1 = 0 ;
40205  int val2 ;
40206  int ecode2 = 0 ;
40207  PyObject * obj0 = 0 ;
40208  PyObject * obj1 = 0 ;
40209  PyObject * obj2 = 0 ;
40210  std::vector< int > *result = 0 ;
40211 
40212  if (!PyArg_UnpackTuple(args, "SolutionCollector_Unperformed", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40214  if (!SWIG_IsOK(res1)) {
40215  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolutionCollector_Unperformed" "', argument " "1"" of type '" "operations_research::SolutionCollector const *""'");
40216  }
40217  arg1 = reinterpret_cast< operations_research::SolutionCollector * >(argp1);
40218  ecode2 = SWIG_AsVal_int(obj1, &val2);
40219  if (!SWIG_IsOK(ecode2)) {
40220  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SolutionCollector_Unperformed" "', argument " "2"" of type '" "int""'");
40221  }
40222  arg2 = static_cast< int >(val2);
40223  {
40224  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
40225  }
40226  {
40227  try {
40228  result = (std::vector< int > *) &((operations_research::SolutionCollector const *)arg1)->Unperformed(arg2,arg3);
40229  }
40230  catch (Swig::DirectorException &e) {
40231  SWIG_fail;
40232  }
40233  }
40234  {
40235  resultobj = vector_output_helper(result, &PyInt_FromLong);
40236  }
40237  return resultobj;
40238 fail:
40239  return NULL;
40240 }
40241 
40242 
40243 SWIGINTERN PyObject *SolutionCollector_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40244  PyObject *obj;
40245  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
40247  return SWIG_Py_Void();
40248 }
40249 
40250 SWIGINTERN PyObject *_wrap_OptimizeVar_Best(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40251  PyObject *resultobj = 0;
40253  void *argp1 = 0 ;
40254  int res1 = 0 ;
40255  PyObject * obj0 = 0 ;
40256  int64_t result;
40257 
40258  if (!PyArg_UnpackTuple(args, "OptimizeVar_Best", 1, 1, &obj0)) SWIG_fail;
40259  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40260  if (!SWIG_IsOK(res1)) {
40261  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_Best" "', argument " "1"" of type '" "operations_research::OptimizeVar const *""'");
40262  }
40263  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40264  {
40265  try {
40266  result = (int64_t)((operations_research::OptimizeVar const *)arg1)->best();
40267  }
40268  catch (Swig::DirectorException &e) {
40269  SWIG_fail;
40270  }
40271  }
40272  resultobj = SWIG_From_long(static_cast< long >(result));
40273  return resultobj;
40274 fail:
40275  return NULL;
40276 }
40277 
40278 
40279 SWIGINTERN PyObject *_wrap_OptimizeVar_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40280  PyObject *resultobj = 0;
40282  void *argp1 = 0 ;
40283  int res1 = 0 ;
40284  PyObject * obj0 = 0 ;
40285  operations_research::IntVar *result = 0 ;
40286 
40287  if (!PyArg_UnpackTuple(args, "OptimizeVar_Var", 1, 1, &obj0)) SWIG_fail;
40288  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40289  if (!SWIG_IsOK(res1)) {
40290  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_Var" "', argument " "1"" of type '" "operations_research::OptimizeVar const *""'");
40291  }
40292  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40293  {
40294  try {
40295  result = (operations_research::IntVar *)((operations_research::OptimizeVar const *)arg1)->Var();
40296  }
40297  catch (Swig::DirectorException &e) {
40298  SWIG_fail;
40299  }
40300  }
40302  return resultobj;
40303 fail:
40304  return NULL;
40305 }
40306 
40307 
40308 SWIGINTERN PyObject *_wrap_OptimizeVar_AcceptDelta(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40309  PyObject *resultobj = 0;
40313  void *argp1 = 0 ;
40314  int res1 = 0 ;
40315  void *argp2 = 0 ;
40316  int res2 = 0 ;
40317  void *argp3 = 0 ;
40318  int res3 = 0 ;
40319  PyObject * obj0 = 0 ;
40320  PyObject * obj1 = 0 ;
40321  PyObject * obj2 = 0 ;
40322  bool result;
40323 
40324  if (!PyArg_UnpackTuple(args, "OptimizeVar_AcceptDelta", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40325  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40326  if (!SWIG_IsOK(res1)) {
40327  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_AcceptDelta" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40328  }
40329  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40330  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
40331  if (!SWIG_IsOK(res2)) {
40332  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OptimizeVar_AcceptDelta" "', argument " "2"" of type '" "operations_research::Assignment *""'");
40333  }
40334  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
40335  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
40336  if (!SWIG_IsOK(res3)) {
40337  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OptimizeVar_AcceptDelta" "', argument " "3"" of type '" "operations_research::Assignment *""'");
40338  }
40339  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
40340  {
40341  try {
40342  result = (bool)(arg1)->AcceptDelta(arg2,arg3);
40343  }
40344  catch (Swig::DirectorException &e) {
40345  SWIG_fail;
40346  }
40347  }
40348  resultobj = SWIG_From_bool(static_cast< bool >(result));
40349  return resultobj;
40350 fail:
40351  return NULL;
40352 }
40353 
40354 
40355 SWIGINTERN PyObject *_wrap_OptimizeVar_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40356  PyObject *resultobj = 0;
40358  void *argp1 = 0 ;
40359  int res1 = 0 ;
40360  PyObject * obj0 = 0 ;
40361 
40362  if (!PyArg_UnpackTuple(args, "OptimizeVar_EnterSearch", 1, 1, &obj0)) SWIG_fail;
40363  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40364  if (!SWIG_IsOK(res1)) {
40365  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_EnterSearch" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40366  }
40367  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40368  {
40369  try {
40370  (arg1)->EnterSearch();
40371  }
40372  catch (Swig::DirectorException &e) {
40373  SWIG_fail;
40374  }
40375  }
40376  resultobj = SWIG_Py_Void();
40377  return resultobj;
40378 fail:
40379  return NULL;
40380 }
40381 
40382 
40383 SWIGINTERN PyObject *_wrap_OptimizeVar_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40384  PyObject *resultobj = 0;
40387  void *argp1 = 0 ;
40388  int res1 = 0 ;
40389  PyObject * obj0 = 0 ;
40390  PyObject * obj1 = 0 ;
40391 
40392  if (!PyArg_UnpackTuple(args, "OptimizeVar_BeginNextDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
40393  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40394  if (!SWIG_IsOK(res1)) {
40395  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_BeginNextDecision" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40396  }
40397  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40398  {
40399  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
40400  }
40401  {
40402  try {
40403  (arg1)->BeginNextDecision(arg2);
40404  }
40405  catch (Swig::DirectorException &e) {
40406  SWIG_fail;
40407  }
40408  }
40409  resultobj = SWIG_Py_Void();
40410  return resultobj;
40411 fail:
40412  return NULL;
40413 }
40414 
40415 
40416 SWIGINTERN PyObject *_wrap_OptimizeVar_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40417  PyObject *resultobj = 0;
40420  void *argp1 = 0 ;
40421  int res1 = 0 ;
40422  PyObject * obj0 = 0 ;
40423  PyObject * obj1 = 0 ;
40424 
40425  if (!PyArg_UnpackTuple(args, "OptimizeVar_RefuteDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
40426  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40427  if (!SWIG_IsOK(res1)) {
40428  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_RefuteDecision" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40429  }
40430  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40431  {
40432  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
40433  }
40434  {
40435  try {
40436  (arg1)->RefuteDecision(arg2);
40437  }
40438  catch (Swig::DirectorException &e) {
40439  SWIG_fail;
40440  }
40441  }
40442  resultobj = SWIG_Py_Void();
40443  return resultobj;
40444 fail:
40445  return NULL;
40446 }
40447 
40448 
40449 SWIGINTERN PyObject *_wrap_OptimizeVar_AtSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40450  PyObject *resultobj = 0;
40452  void *argp1 = 0 ;
40453  int res1 = 0 ;
40454  PyObject * obj0 = 0 ;
40455  bool result;
40456 
40457  if (!PyArg_UnpackTuple(args, "OptimizeVar_AtSolution", 1, 1, &obj0)) SWIG_fail;
40458  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40459  if (!SWIG_IsOK(res1)) {
40460  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_AtSolution" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40461  }
40462  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40463  {
40464  try {
40465  result = (bool)(arg1)->AtSolution();
40466  }
40467  catch (Swig::DirectorException &e) {
40468  SWIG_fail;
40469  }
40470  }
40471  resultobj = SWIG_From_bool(static_cast< bool >(result));
40472  return resultobj;
40473 fail:
40474  return NULL;
40475 }
40476 
40477 
40478 SWIGINTERN PyObject *_wrap_OptimizeVar_AcceptSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40479  PyObject *resultobj = 0;
40481  void *argp1 = 0 ;
40482  int res1 = 0 ;
40483  PyObject * obj0 = 0 ;
40484  bool result;
40485 
40486  if (!PyArg_UnpackTuple(args, "OptimizeVar_AcceptSolution", 1, 1, &obj0)) SWIG_fail;
40487  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40488  if (!SWIG_IsOK(res1)) {
40489  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_AcceptSolution" "', argument " "1"" of type '" "operations_research::OptimizeVar *""'");
40490  }
40491  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40492  {
40493  try {
40494  result = (bool)(arg1)->AcceptSolution();
40495  }
40496  catch (Swig::DirectorException &e) {
40497  SWIG_fail;
40498  }
40499  }
40500  resultobj = SWIG_From_bool(static_cast< bool >(result));
40501  return resultobj;
40502 fail:
40503  return NULL;
40504 }
40505 
40506 
40507 SWIGINTERN PyObject *_wrap_OptimizeVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40508  PyObject *resultobj = 0;
40510  void *argp1 = 0 ;
40511  int res1 = 0 ;
40512  PyObject * obj0 = 0 ;
40513  std::string result;
40514 
40515  if (!PyArg_UnpackTuple(args, "OptimizeVar_DebugString", 1, 1, &obj0)) SWIG_fail;
40516  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__OptimizeVar, 0 | 0 );
40517  if (!SWIG_IsOK(res1)) {
40518  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OptimizeVar_DebugString" "', argument " "1"" of type '" "operations_research::OptimizeVar const *""'");
40519  }
40520  arg1 = reinterpret_cast< operations_research::OptimizeVar * >(argp1);
40521  {
40522  try {
40523  result = ((operations_research::OptimizeVar const *)arg1)->DebugString();
40524  }
40525  catch (Swig::DirectorException &e) {
40526  SWIG_fail;
40527  }
40528  }
40529  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
40530  return resultobj;
40531 fail:
40532  return NULL;
40533 }
40534 
40535 
40536 SWIGINTERN PyObject *OptimizeVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40537  PyObject *obj;
40538  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
40540  return SWIG_Py_Void();
40541 }
40542 
40543 SWIGINTERN PyObject *_wrap_delete_SearchLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40544  PyObject *resultobj = 0;
40546  void *argp1 = 0 ;
40547  int res1 = 0 ;
40548  PyObject * obj0 = 0 ;
40549 
40550  if (!PyArg_UnpackTuple(args, "delete_SearchLimit", 1, 1, &obj0)) SWIG_fail;
40552  if (!SWIG_IsOK(res1)) {
40553  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SearchLimit" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40554  }
40555  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40556  {
40557  try {
40558  delete arg1;
40559  }
40560  catch (Swig::DirectorException &e) {
40561  SWIG_fail;
40562  }
40563  }
40564  resultobj = SWIG_Py_Void();
40565  return resultobj;
40566 fail:
40567  return NULL;
40568 }
40569 
40570 
40571 SWIGINTERN PyObject *_wrap_SearchLimit_Crossed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40572  PyObject *resultobj = 0;
40574  void *argp1 = 0 ;
40575  int res1 = 0 ;
40576  PyObject * obj0 = 0 ;
40577  bool result;
40578 
40579  if (!PyArg_UnpackTuple(args, "SearchLimit_Crossed", 1, 1, &obj0)) SWIG_fail;
40580  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40581  if (!SWIG_IsOK(res1)) {
40582  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_Crossed" "', argument " "1"" of type '" "operations_research::SearchLimit const *""'");
40583  }
40584  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40585  {
40586  try {
40587  result = (bool)((operations_research::SearchLimit const *)arg1)->crossed();
40588  }
40589  catch (Swig::DirectorException &e) {
40590  SWIG_fail;
40591  }
40592  }
40593  resultobj = SWIG_From_bool(static_cast< bool >(result));
40594  return resultobj;
40595 fail:
40596  return NULL;
40597 }
40598 
40599 
40600 SWIGINTERN PyObject *_wrap_SearchLimit_Check(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40601  PyObject *resultobj = 0;
40603  void *argp1 = 0 ;
40604  int res1 = 0 ;
40605  PyObject * obj0 = 0 ;
40606  bool result;
40607 
40608  if (!PyArg_UnpackTuple(args, "SearchLimit_Check", 1, 1, &obj0)) SWIG_fail;
40609  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40610  if (!SWIG_IsOK(res1)) {
40611  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_Check" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40612  }
40613  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40614  {
40615  try {
40616  result = (bool)(arg1)->Check();
40617  }
40618  catch (Swig::DirectorException &e) {
40619  SWIG_fail;
40620  }
40621  }
40622  resultobj = SWIG_From_bool(static_cast< bool >(result));
40623  return resultobj;
40624 fail:
40625  return NULL;
40626 }
40627 
40628 
40629 SWIGINTERN PyObject *_wrap_SearchLimit_Init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40630  PyObject *resultobj = 0;
40632  void *argp1 = 0 ;
40633  int res1 = 0 ;
40634  PyObject * obj0 = 0 ;
40635 
40636  if (!PyArg_UnpackTuple(args, "SearchLimit_Init", 1, 1, &obj0)) SWIG_fail;
40637  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40638  if (!SWIG_IsOK(res1)) {
40639  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_Init" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40640  }
40641  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40642  {
40643  try {
40644  (arg1)->Init();
40645  }
40646  catch (Swig::DirectorException &e) {
40647  SWIG_fail;
40648  }
40649  }
40650  resultobj = SWIG_Py_Void();
40651  return resultobj;
40652 fail:
40653  return NULL;
40654 }
40655 
40656 
40657 SWIGINTERN PyObject *_wrap_SearchLimit_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40658  PyObject *resultobj = 0;
40660  void *argp1 = 0 ;
40661  int res1 = 0 ;
40662  PyObject * obj0 = 0 ;
40663 
40664  if (!PyArg_UnpackTuple(args, "SearchLimit_EnterSearch", 1, 1, &obj0)) SWIG_fail;
40665  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40666  if (!SWIG_IsOK(res1)) {
40667  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_EnterSearch" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40668  }
40669  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40670  {
40671  try {
40672  (arg1)->EnterSearch();
40673  }
40674  catch (Swig::DirectorException &e) {
40675  SWIG_fail;
40676  }
40677  }
40678  resultobj = SWIG_Py_Void();
40679  return resultobj;
40680 fail:
40681  return NULL;
40682 }
40683 
40684 
40685 SWIGINTERN PyObject *_wrap_SearchLimit_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40686  PyObject *resultobj = 0;
40689  void *argp1 = 0 ;
40690  int res1 = 0 ;
40691  PyObject * obj0 = 0 ;
40692  PyObject * obj1 = 0 ;
40693 
40694  if (!PyArg_UnpackTuple(args, "SearchLimit_BeginNextDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
40695  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40696  if (!SWIG_IsOK(res1)) {
40697  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_BeginNextDecision" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40698  }
40699  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40700  {
40701  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
40702  }
40703  {
40704  try {
40705  (arg1)->BeginNextDecision(arg2);
40706  }
40707  catch (Swig::DirectorException &e) {
40708  SWIG_fail;
40709  }
40710  }
40711  resultobj = SWIG_Py_Void();
40712  return resultobj;
40713 fail:
40714  return NULL;
40715 }
40716 
40717 
40718 SWIGINTERN PyObject *_wrap_SearchLimit_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40719  PyObject *resultobj = 0;
40722  void *argp1 = 0 ;
40723  int res1 = 0 ;
40724  PyObject * obj0 = 0 ;
40725  PyObject * obj1 = 0 ;
40726 
40727  if (!PyArg_UnpackTuple(args, "SearchLimit_RefuteDecision", 2, 2, &obj0, &obj1)) SWIG_fail;
40728  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40729  if (!SWIG_IsOK(res1)) {
40730  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_RefuteDecision" "', argument " "1"" of type '" "operations_research::SearchLimit *""'");
40731  }
40732  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40733  {
40734  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
40735  }
40736  {
40737  try {
40738  (arg1)->RefuteDecision(arg2);
40739  }
40740  catch (Swig::DirectorException &e) {
40741  SWIG_fail;
40742  }
40743  }
40744  resultobj = SWIG_Py_Void();
40745  return resultobj;
40746 fail:
40747  return NULL;
40748 }
40749 
40750 
40751 SWIGINTERN PyObject *_wrap_SearchLimit_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40752  PyObject *resultobj = 0;
40754  void *argp1 = 0 ;
40755  int res1 = 0 ;
40756  PyObject * obj0 = 0 ;
40757  std::string result;
40758 
40759  if (!PyArg_UnpackTuple(args, "SearchLimit_DebugString", 1, 1, &obj0)) SWIG_fail;
40760  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SearchLimit, 0 | 0 );
40761  if (!SWIG_IsOK(res1)) {
40762  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchLimit_DebugString" "', argument " "1"" of type '" "operations_research::SearchLimit const *""'");
40763  }
40764  arg1 = reinterpret_cast< operations_research::SearchLimit * >(argp1);
40765  {
40766  try {
40767  result = ((operations_research::SearchLimit const *)arg1)->DebugString();
40768  }
40769  catch (Swig::DirectorException &e) {
40770  SWIG_fail;
40771  }
40772  }
40773  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
40774  return resultobj;
40775 fail:
40776  return NULL;
40777 }
40778 
40779 
40780 SWIGINTERN PyObject *SearchLimit_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40781  PyObject *obj;
40782  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
40784  return SWIG_Py_Void();
40785 }
40786 
40787 SWIGINTERN PyObject *_wrap_IntervalVar_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40788  PyObject *resultobj = 0;
40790  void *argp1 = 0 ;
40791  int res1 = 0 ;
40792  PyObject * obj0 = 0 ;
40793  int64_t result;
40794 
40795  if (!PyArg_UnpackTuple(args, "IntervalVar_StartMin", 1, 1, &obj0)) SWIG_fail;
40796  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
40797  if (!SWIG_IsOK(res1)) {
40798  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
40799  }
40800  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
40801  {
40802  try {
40803  result = (int64_t)((operations_research::IntervalVar const *)arg1)->StartMin();
40804  }
40805  catch (Swig::DirectorException &e) {
40806  SWIG_fail;
40807  }
40808  }
40809  resultobj = SWIG_From_long(static_cast< long >(result));
40810  return resultobj;
40811 fail:
40812  return NULL;
40813 }
40814 
40815 
40816 SWIGINTERN PyObject *_wrap_IntervalVar_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40817  PyObject *resultobj = 0;
40819  void *argp1 = 0 ;
40820  int res1 = 0 ;
40821  PyObject * obj0 = 0 ;
40822  int64_t result;
40823 
40824  if (!PyArg_UnpackTuple(args, "IntervalVar_StartMax", 1, 1, &obj0)) SWIG_fail;
40825  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
40826  if (!SWIG_IsOK(res1)) {
40827  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
40828  }
40829  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
40830  {
40831  try {
40832  result = (int64_t)((operations_research::IntervalVar const *)arg1)->StartMax();
40833  }
40834  catch (Swig::DirectorException &e) {
40835  SWIG_fail;
40836  }
40837  }
40838  resultobj = SWIG_From_long(static_cast< long >(result));
40839  return resultobj;
40840 fail:
40841  return NULL;
40842 }
40843 
40844 
40845 SWIGINTERN PyObject *_wrap_IntervalVar_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40846  PyObject *resultobj = 0;
40848  int64_t arg2 ;
40849  void *argp1 = 0 ;
40850  int res1 = 0 ;
40851  long val2 ;
40852  int ecode2 = 0 ;
40853  PyObject * obj0 = 0 ;
40854  PyObject * obj1 = 0 ;
40855 
40856  if (!PyArg_UnpackTuple(args, "IntervalVar_SetStartMin", 2, 2, &obj0, &obj1)) SWIG_fail;
40857  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
40858  if (!SWIG_IsOK(res1)) {
40859  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetStartMin" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
40860  }
40861  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
40862  ecode2 = SWIG_AsVal_long(obj1, &val2);
40863  if (!SWIG_IsOK(ecode2)) {
40864  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetStartMin" "', argument " "2"" of type '" "int64_t""'");
40865  }
40866  arg2 = static_cast< int64_t >(val2);
40867  {
40868  operations_research::Solver* const solver = arg1->solver();
40869  FailureProtect protect;
40870  solver->set_fail_intercept([&protect]() {
40871  protect.JumpBack();
40872  });
40873  if (setjmp(protect.exception_buffer) == 0) {
40874  (arg1)->SetStartMin(arg2);
40875  solver->clear_fail_intercept();
40876  } else {
40877  solver->clear_fail_intercept();
40878  // IMPORTANT: the type and message of the exception raised matter,
40879  // because they are caught by the python overrides of some CP classes.
40880  // See the occurrences of the "PyExc_Exception" string below.
40881  PyErr_SetString(PyExc_Exception, "CP Solver fail");
40882  SWIG_fail;
40883  }
40884  }
40885  resultobj = SWIG_Py_Void();
40886  return resultobj;
40887 fail:
40888  return NULL;
40889 }
40890 
40891 
40892 SWIGINTERN PyObject *_wrap_IntervalVar_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40893  PyObject *resultobj = 0;
40895  int64_t arg2 ;
40896  void *argp1 = 0 ;
40897  int res1 = 0 ;
40898  long val2 ;
40899  int ecode2 = 0 ;
40900  PyObject * obj0 = 0 ;
40901  PyObject * obj1 = 0 ;
40902 
40903  if (!PyArg_UnpackTuple(args, "IntervalVar_SetStartMax", 2, 2, &obj0, &obj1)) SWIG_fail;
40904  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
40905  if (!SWIG_IsOK(res1)) {
40906  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetStartMax" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
40907  }
40908  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
40909  ecode2 = SWIG_AsVal_long(obj1, &val2);
40910  if (!SWIG_IsOK(ecode2)) {
40911  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetStartMax" "', argument " "2"" of type '" "int64_t""'");
40912  }
40913  arg2 = static_cast< int64_t >(val2);
40914  {
40915  operations_research::Solver* const solver = arg1->solver();
40916  FailureProtect protect;
40917  solver->set_fail_intercept([&protect]() {
40918  protect.JumpBack();
40919  });
40920  if (setjmp(protect.exception_buffer) == 0) {
40921  (arg1)->SetStartMax(arg2);
40922  solver->clear_fail_intercept();
40923  } else {
40924  solver->clear_fail_intercept();
40925  // IMPORTANT: the type and message of the exception raised matter,
40926  // because they are caught by the python overrides of some CP classes.
40927  // See the occurrences of the "PyExc_Exception" string below.
40928  PyErr_SetString(PyExc_Exception, "CP Solver fail");
40929  SWIG_fail;
40930  }
40931  }
40932  resultobj = SWIG_Py_Void();
40933  return resultobj;
40934 fail:
40935  return NULL;
40936 }
40937 
40938 
40939 SWIGINTERN PyObject *_wrap_IntervalVar_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40940  PyObject *resultobj = 0;
40942  int64_t arg2 ;
40943  int64_t arg3 ;
40944  void *argp1 = 0 ;
40945  int res1 = 0 ;
40946  long val2 ;
40947  int ecode2 = 0 ;
40948  long val3 ;
40949  int ecode3 = 0 ;
40950  PyObject * obj0 = 0 ;
40951  PyObject * obj1 = 0 ;
40952  PyObject * obj2 = 0 ;
40953 
40954  if (!PyArg_UnpackTuple(args, "IntervalVar_SetStartRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
40955  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
40956  if (!SWIG_IsOK(res1)) {
40957  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetStartRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
40958  }
40959  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
40960  ecode2 = SWIG_AsVal_long(obj1, &val2);
40961  if (!SWIG_IsOK(ecode2)) {
40962  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetStartRange" "', argument " "2"" of type '" "int64_t""'");
40963  }
40964  arg2 = static_cast< int64_t >(val2);
40965  ecode3 = SWIG_AsVal_long(obj2, &val3);
40966  if (!SWIG_IsOK(ecode3)) {
40967  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_SetStartRange" "', argument " "3"" of type '" "int64_t""'");
40968  }
40969  arg3 = static_cast< int64_t >(val3);
40970  {
40971  operations_research::Solver* const solver = arg1->solver();
40972  FailureProtect protect;
40973  solver->set_fail_intercept([&protect]() {
40974  protect.JumpBack();
40975  });
40976  if (setjmp(protect.exception_buffer) == 0) {
40977  (arg1)->SetStartRange(arg2,arg3);
40978  solver->clear_fail_intercept();
40979  } else {
40980  solver->clear_fail_intercept();
40981  // IMPORTANT: the type and message of the exception raised matter,
40982  // because they are caught by the python overrides of some CP classes.
40983  // See the occurrences of the "PyExc_Exception" string below.
40984  PyErr_SetString(PyExc_Exception, "CP Solver fail");
40985  SWIG_fail;
40986  }
40987  }
40988  resultobj = SWIG_Py_Void();
40989  return resultobj;
40990 fail:
40991  return NULL;
40992 }
40993 
40994 
40995 SWIGINTERN PyObject *_wrap_IntervalVar_OldStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
40996  PyObject *resultobj = 0;
40998  void *argp1 = 0 ;
40999  int res1 = 0 ;
41000  PyObject * obj0 = 0 ;
41001  int64_t result;
41002 
41003  if (!PyArg_UnpackTuple(args, "IntervalVar_OldStartMin", 1, 1, &obj0)) SWIG_fail;
41004  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41005  if (!SWIG_IsOK(res1)) {
41006  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldStartMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41007  }
41008  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41009  {
41010  try {
41011  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldStartMin();
41012  }
41013  catch (Swig::DirectorException &e) {
41014  SWIG_fail;
41015  }
41016  }
41017  resultobj = SWIG_From_long(static_cast< long >(result));
41018  return resultobj;
41019 fail:
41020  return NULL;
41021 }
41022 
41023 
41024 SWIGINTERN PyObject *_wrap_IntervalVar_OldStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41025  PyObject *resultobj = 0;
41027  void *argp1 = 0 ;
41028  int res1 = 0 ;
41029  PyObject * obj0 = 0 ;
41030  int64_t result;
41031 
41032  if (!PyArg_UnpackTuple(args, "IntervalVar_OldStartMax", 1, 1, &obj0)) SWIG_fail;
41033  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41034  if (!SWIG_IsOK(res1)) {
41035  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldStartMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41036  }
41037  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41038  {
41039  try {
41040  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldStartMax();
41041  }
41042  catch (Swig::DirectorException &e) {
41043  SWIG_fail;
41044  }
41045  }
41046  resultobj = SWIG_From_long(static_cast< long >(result));
41047  return resultobj;
41048 fail:
41049  return NULL;
41050 }
41051 
41052 
41053 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41054  PyObject *resultobj = 0;
41057  void *argp1 = 0 ;
41058  int res1 = 0 ;
41059  void *argp2 = 0 ;
41060  int res2 = 0 ;
41061  PyObject * obj0 = 0 ;
41062  PyObject * obj1 = 0 ;
41063 
41064  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenStartRange", 2, 2, &obj0, &obj1)) SWIG_fail;
41065  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41066  if (!SWIG_IsOK(res1)) {
41067  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenStartRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41068  }
41069  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41070  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
41071  if (!SWIG_IsOK(res2)) {
41072  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenStartRange" "', argument " "2"" of type '" "operations_research::Demon *const""'");
41073  }
41074  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
41075  {
41076  try {
41077  (arg1)->WhenStartRange(arg2);
41078  }
41079  catch (Swig::DirectorException &e) {
41080  SWIG_fail;
41081  }
41082  }
41083  resultobj = SWIG_Py_Void();
41084  return resultobj;
41085 fail:
41086  return NULL;
41087 }
41088 
41089 
41090 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41091  PyObject *resultobj = 0;
41094  void *argp1 = 0 ;
41095  int res1 = 0 ;
41096  PyObject * obj0 = 0 ;
41097  PyObject * obj1 = 0 ;
41098 
41099  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenStartRange", 2, 2, &obj0, &obj1)) SWIG_fail;
41100  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41101  if (!SWIG_IsOK(res1)) {
41102  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenStartRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41103  }
41104  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41105  {
41106  SharedPyPtr input(obj1);
41107  arg2 = [input]() {
41108  return InvokePythonCallableReturning<void>(input.get());
41109  };
41110  }
41111  {
41112  try {
41113  (arg1)->WhenStartRange(arg2);
41114  }
41115  catch (Swig::DirectorException &e) {
41116  SWIG_fail;
41117  }
41118  }
41119  resultobj = SWIG_Py_Void();
41120  return resultobj;
41121 fail:
41122  return NULL;
41123 }
41124 
41125 
41126 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartRange(PyObject *self, PyObject *args) {
41127  Py_ssize_t argc;
41128  PyObject *argv[3] = {
41129  0
41130  };
41131  Py_ssize_t ii;
41132 
41133  if (!PyTuple_Check(args)) SWIG_fail;
41134  argc = PyObject_Length(args);
41135  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
41136  argv[ii] = PyTuple_GET_ITEM(args,ii);
41137  }
41138  if (argc == 2) {
41139  int _v;
41140  void *vptr = 0;
41141  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41142  _v = SWIG_CheckState(res);
41143  if (_v) {
41144  void *vptr = 0;
41145  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
41146  _v = SWIG_CheckState(res);
41147  if (_v) {
41148  return _wrap_IntervalVar_WhenStartRange__SWIG_0(self, args);
41149  }
41150  }
41151  }
41152  if (argc == 2) {
41153  int _v;
41154  void *vptr = 0;
41155  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41156  _v = SWIG_CheckState(res);
41157  if (_v) {
41158  {
41159  _v = PyCallable_Check(argv[1]);
41160  }
41161  if (_v) {
41162  return _wrap_IntervalVar_WhenStartRange__SWIG_1(self, args);
41163  }
41164  }
41165  }
41166 
41167 fail:
41168  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenStartRange'.\n"
41169  " Possible C/C++ prototypes are:\n"
41170  " operations_research::IntervalVar::WhenStartRange(operations_research::Demon *const)\n"
41171  " operations_research::IntervalVar::WhenStartRange(operations_research::Solver::Closure)\n");
41172  return 0;
41173 }
41174 
41175 
41176 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41177  PyObject *resultobj = 0;
41180  void *argp1 = 0 ;
41181  int res1 = 0 ;
41182  void *argp2 = 0 ;
41183  int res2 = 0 ;
41184  PyObject * obj0 = 0 ;
41185  PyObject * obj1 = 0 ;
41186 
41187  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenStartBound", 2, 2, &obj0, &obj1)) SWIG_fail;
41188  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41189  if (!SWIG_IsOK(res1)) {
41190  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenStartBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41191  }
41192  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41193  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
41194  if (!SWIG_IsOK(res2)) {
41195  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenStartBound" "', argument " "2"" of type '" "operations_research::Demon *const""'");
41196  }
41197  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
41198  {
41199  try {
41200  (arg1)->WhenStartBound(arg2);
41201  }
41202  catch (Swig::DirectorException &e) {
41203  SWIG_fail;
41204  }
41205  }
41206  resultobj = SWIG_Py_Void();
41207  return resultobj;
41208 fail:
41209  return NULL;
41210 }
41211 
41212 
41213 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41214  PyObject *resultobj = 0;
41217  void *argp1 = 0 ;
41218  int res1 = 0 ;
41219  PyObject * obj0 = 0 ;
41220  PyObject * obj1 = 0 ;
41221 
41222  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenStartBound", 2, 2, &obj0, &obj1)) SWIG_fail;
41223  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41224  if (!SWIG_IsOK(res1)) {
41225  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenStartBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41226  }
41227  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41228  {
41229  SharedPyPtr input(obj1);
41230  arg2 = [input]() {
41231  return InvokePythonCallableReturning<void>(input.get());
41232  };
41233  }
41234  {
41235  try {
41236  (arg1)->WhenStartBound(arg2);
41237  }
41238  catch (Swig::DirectorException &e) {
41239  SWIG_fail;
41240  }
41241  }
41242  resultobj = SWIG_Py_Void();
41243  return resultobj;
41244 fail:
41245  return NULL;
41246 }
41247 
41248 
41249 SWIGINTERN PyObject *_wrap_IntervalVar_WhenStartBound(PyObject *self, PyObject *args) {
41250  Py_ssize_t argc;
41251  PyObject *argv[3] = {
41252  0
41253  };
41254  Py_ssize_t ii;
41255 
41256  if (!PyTuple_Check(args)) SWIG_fail;
41257  argc = PyObject_Length(args);
41258  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
41259  argv[ii] = PyTuple_GET_ITEM(args,ii);
41260  }
41261  if (argc == 2) {
41262  int _v;
41263  void *vptr = 0;
41264  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41265  _v = SWIG_CheckState(res);
41266  if (_v) {
41267  void *vptr = 0;
41268  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
41269  _v = SWIG_CheckState(res);
41270  if (_v) {
41271  return _wrap_IntervalVar_WhenStartBound__SWIG_0(self, args);
41272  }
41273  }
41274  }
41275  if (argc == 2) {
41276  int _v;
41277  void *vptr = 0;
41278  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41279  _v = SWIG_CheckState(res);
41280  if (_v) {
41281  {
41282  _v = PyCallable_Check(argv[1]);
41283  }
41284  if (_v) {
41285  return _wrap_IntervalVar_WhenStartBound__SWIG_1(self, args);
41286  }
41287  }
41288  }
41289 
41290 fail:
41291  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenStartBound'.\n"
41292  " Possible C/C++ prototypes are:\n"
41293  " operations_research::IntervalVar::WhenStartBound(operations_research::Demon *const)\n"
41294  " operations_research::IntervalVar::WhenStartBound(operations_research::Solver::Closure)\n");
41295  return 0;
41296 }
41297 
41298 
41299 SWIGINTERN PyObject *_wrap_IntervalVar_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41300  PyObject *resultobj = 0;
41302  void *argp1 = 0 ;
41303  int res1 = 0 ;
41304  PyObject * obj0 = 0 ;
41305  int64_t result;
41306 
41307  if (!PyArg_UnpackTuple(args, "IntervalVar_DurationMin", 1, 1, &obj0)) SWIG_fail;
41308  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41309  if (!SWIG_IsOK(res1)) {
41310  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_DurationMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41311  }
41312  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41313  {
41314  try {
41315  result = (int64_t)((operations_research::IntervalVar const *)arg1)->DurationMin();
41316  }
41317  catch (Swig::DirectorException &e) {
41318  SWIG_fail;
41319  }
41320  }
41321  resultobj = SWIG_From_long(static_cast< long >(result));
41322  return resultobj;
41323 fail:
41324  return NULL;
41325 }
41326 
41327 
41328 SWIGINTERN PyObject *_wrap_IntervalVar_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41329  PyObject *resultobj = 0;
41331  void *argp1 = 0 ;
41332  int res1 = 0 ;
41333  PyObject * obj0 = 0 ;
41334  int64_t result;
41335 
41336  if (!PyArg_UnpackTuple(args, "IntervalVar_DurationMax", 1, 1, &obj0)) SWIG_fail;
41337  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41338  if (!SWIG_IsOK(res1)) {
41339  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_DurationMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41340  }
41341  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41342  {
41343  try {
41344  result = (int64_t)((operations_research::IntervalVar const *)arg1)->DurationMax();
41345  }
41346  catch (Swig::DirectorException &e) {
41347  SWIG_fail;
41348  }
41349  }
41350  resultobj = SWIG_From_long(static_cast< long >(result));
41351  return resultobj;
41352 fail:
41353  return NULL;
41354 }
41355 
41356 
41357 SWIGINTERN PyObject *_wrap_IntervalVar_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41358  PyObject *resultobj = 0;
41360  int64_t arg2 ;
41361  void *argp1 = 0 ;
41362  int res1 = 0 ;
41363  long val2 ;
41364  int ecode2 = 0 ;
41365  PyObject * obj0 = 0 ;
41366  PyObject * obj1 = 0 ;
41367 
41368  if (!PyArg_UnpackTuple(args, "IntervalVar_SetDurationMin", 2, 2, &obj0, &obj1)) SWIG_fail;
41369  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41370  if (!SWIG_IsOK(res1)) {
41371  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetDurationMin" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41372  }
41373  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41374  ecode2 = SWIG_AsVal_long(obj1, &val2);
41375  if (!SWIG_IsOK(ecode2)) {
41376  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetDurationMin" "', argument " "2"" of type '" "int64_t""'");
41377  }
41378  arg2 = static_cast< int64_t >(val2);
41379  {
41380  operations_research::Solver* const solver = arg1->solver();
41381  FailureProtect protect;
41382  solver->set_fail_intercept([&protect]() {
41383  protect.JumpBack();
41384  });
41385  if (setjmp(protect.exception_buffer) == 0) {
41386  (arg1)->SetDurationMin(arg2);
41387  solver->clear_fail_intercept();
41388  } else {
41389  solver->clear_fail_intercept();
41390  // IMPORTANT: the type and message of the exception raised matter,
41391  // because they are caught by the python overrides of some CP classes.
41392  // See the occurrences of the "PyExc_Exception" string below.
41393  PyErr_SetString(PyExc_Exception, "CP Solver fail");
41394  SWIG_fail;
41395  }
41396  }
41397  resultobj = SWIG_Py_Void();
41398  return resultobj;
41399 fail:
41400  return NULL;
41401 }
41402 
41403 
41404 SWIGINTERN PyObject *_wrap_IntervalVar_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41405  PyObject *resultobj = 0;
41407  int64_t arg2 ;
41408  void *argp1 = 0 ;
41409  int res1 = 0 ;
41410  long val2 ;
41411  int ecode2 = 0 ;
41412  PyObject * obj0 = 0 ;
41413  PyObject * obj1 = 0 ;
41414 
41415  if (!PyArg_UnpackTuple(args, "IntervalVar_SetDurationMax", 2, 2, &obj0, &obj1)) SWIG_fail;
41416  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41417  if (!SWIG_IsOK(res1)) {
41418  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetDurationMax" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41419  }
41420  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41421  ecode2 = SWIG_AsVal_long(obj1, &val2);
41422  if (!SWIG_IsOK(ecode2)) {
41423  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetDurationMax" "', argument " "2"" of type '" "int64_t""'");
41424  }
41425  arg2 = static_cast< int64_t >(val2);
41426  {
41427  operations_research::Solver* const solver = arg1->solver();
41428  FailureProtect protect;
41429  solver->set_fail_intercept([&protect]() {
41430  protect.JumpBack();
41431  });
41432  if (setjmp(protect.exception_buffer) == 0) {
41433  (arg1)->SetDurationMax(arg2);
41434  solver->clear_fail_intercept();
41435  } else {
41436  solver->clear_fail_intercept();
41437  // IMPORTANT: the type and message of the exception raised matter,
41438  // because they are caught by the python overrides of some CP classes.
41439  // See the occurrences of the "PyExc_Exception" string below.
41440  PyErr_SetString(PyExc_Exception, "CP Solver fail");
41441  SWIG_fail;
41442  }
41443  }
41444  resultobj = SWIG_Py_Void();
41445  return resultobj;
41446 fail:
41447  return NULL;
41448 }
41449 
41450 
41451 SWIGINTERN PyObject *_wrap_IntervalVar_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41452  PyObject *resultobj = 0;
41454  int64_t arg2 ;
41455  int64_t arg3 ;
41456  void *argp1 = 0 ;
41457  int res1 = 0 ;
41458  long val2 ;
41459  int ecode2 = 0 ;
41460  long val3 ;
41461  int ecode3 = 0 ;
41462  PyObject * obj0 = 0 ;
41463  PyObject * obj1 = 0 ;
41464  PyObject * obj2 = 0 ;
41465 
41466  if (!PyArg_UnpackTuple(args, "IntervalVar_SetDurationRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
41467  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41468  if (!SWIG_IsOK(res1)) {
41469  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetDurationRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41470  }
41471  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41472  ecode2 = SWIG_AsVal_long(obj1, &val2);
41473  if (!SWIG_IsOK(ecode2)) {
41474  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetDurationRange" "', argument " "2"" of type '" "int64_t""'");
41475  }
41476  arg2 = static_cast< int64_t >(val2);
41477  ecode3 = SWIG_AsVal_long(obj2, &val3);
41478  if (!SWIG_IsOK(ecode3)) {
41479  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_SetDurationRange" "', argument " "3"" of type '" "int64_t""'");
41480  }
41481  arg3 = static_cast< int64_t >(val3);
41482  {
41483  operations_research::Solver* const solver = arg1->solver();
41484  FailureProtect protect;
41485  solver->set_fail_intercept([&protect]() {
41486  protect.JumpBack();
41487  });
41488  if (setjmp(protect.exception_buffer) == 0) {
41489  (arg1)->SetDurationRange(arg2,arg3);
41490  solver->clear_fail_intercept();
41491  } else {
41492  solver->clear_fail_intercept();
41493  // IMPORTANT: the type and message of the exception raised matter,
41494  // because they are caught by the python overrides of some CP classes.
41495  // See the occurrences of the "PyExc_Exception" string below.
41496  PyErr_SetString(PyExc_Exception, "CP Solver fail");
41497  SWIG_fail;
41498  }
41499  }
41500  resultobj = SWIG_Py_Void();
41501  return resultobj;
41502 fail:
41503  return NULL;
41504 }
41505 
41506 
41507 SWIGINTERN PyObject *_wrap_IntervalVar_OldDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41508  PyObject *resultobj = 0;
41510  void *argp1 = 0 ;
41511  int res1 = 0 ;
41512  PyObject * obj0 = 0 ;
41513  int64_t result;
41514 
41515  if (!PyArg_UnpackTuple(args, "IntervalVar_OldDurationMin", 1, 1, &obj0)) SWIG_fail;
41516  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41517  if (!SWIG_IsOK(res1)) {
41518  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldDurationMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41519  }
41520  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41521  {
41522  try {
41523  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldDurationMin();
41524  }
41525  catch (Swig::DirectorException &e) {
41526  SWIG_fail;
41527  }
41528  }
41529  resultobj = SWIG_From_long(static_cast< long >(result));
41530  return resultobj;
41531 fail:
41532  return NULL;
41533 }
41534 
41535 
41536 SWIGINTERN PyObject *_wrap_IntervalVar_OldDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41537  PyObject *resultobj = 0;
41539  void *argp1 = 0 ;
41540  int res1 = 0 ;
41541  PyObject * obj0 = 0 ;
41542  int64_t result;
41543 
41544  if (!PyArg_UnpackTuple(args, "IntervalVar_OldDurationMax", 1, 1, &obj0)) SWIG_fail;
41545  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41546  if (!SWIG_IsOK(res1)) {
41547  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldDurationMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41548  }
41549  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41550  {
41551  try {
41552  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldDurationMax();
41553  }
41554  catch (Swig::DirectorException &e) {
41555  SWIG_fail;
41556  }
41557  }
41558  resultobj = SWIG_From_long(static_cast< long >(result));
41559  return resultobj;
41560 fail:
41561  return NULL;
41562 }
41563 
41564 
41565 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41566  PyObject *resultobj = 0;
41569  void *argp1 = 0 ;
41570  int res1 = 0 ;
41571  void *argp2 = 0 ;
41572  int res2 = 0 ;
41573  PyObject * obj0 = 0 ;
41574  PyObject * obj1 = 0 ;
41575 
41576  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenDurationRange", 2, 2, &obj0, &obj1)) SWIG_fail;
41577  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41578  if (!SWIG_IsOK(res1)) {
41579  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenDurationRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41580  }
41581  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41582  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
41583  if (!SWIG_IsOK(res2)) {
41584  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenDurationRange" "', argument " "2"" of type '" "operations_research::Demon *const""'");
41585  }
41586  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
41587  {
41588  try {
41589  (arg1)->WhenDurationRange(arg2);
41590  }
41591  catch (Swig::DirectorException &e) {
41592  SWIG_fail;
41593  }
41594  }
41595  resultobj = SWIG_Py_Void();
41596  return resultobj;
41597 fail:
41598  return NULL;
41599 }
41600 
41601 
41602 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41603  PyObject *resultobj = 0;
41606  void *argp1 = 0 ;
41607  int res1 = 0 ;
41608  PyObject * obj0 = 0 ;
41609  PyObject * obj1 = 0 ;
41610 
41611  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenDurationRange", 2, 2, &obj0, &obj1)) SWIG_fail;
41612  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41613  if (!SWIG_IsOK(res1)) {
41614  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenDurationRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41615  }
41616  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41617  {
41618  SharedPyPtr input(obj1);
41619  arg2 = [input]() {
41620  return InvokePythonCallableReturning<void>(input.get());
41621  };
41622  }
41623  {
41624  try {
41625  (arg1)->WhenDurationRange(arg2);
41626  }
41627  catch (Swig::DirectorException &e) {
41628  SWIG_fail;
41629  }
41630  }
41631  resultobj = SWIG_Py_Void();
41632  return resultobj;
41633 fail:
41634  return NULL;
41635 }
41636 
41637 
41638 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationRange(PyObject *self, PyObject *args) {
41639  Py_ssize_t argc;
41640  PyObject *argv[3] = {
41641  0
41642  };
41643  Py_ssize_t ii;
41644 
41645  if (!PyTuple_Check(args)) SWIG_fail;
41646  argc = PyObject_Length(args);
41647  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
41648  argv[ii] = PyTuple_GET_ITEM(args,ii);
41649  }
41650  if (argc == 2) {
41651  int _v;
41652  void *vptr = 0;
41653  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41654  _v = SWIG_CheckState(res);
41655  if (_v) {
41656  void *vptr = 0;
41657  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
41658  _v = SWIG_CheckState(res);
41659  if (_v) {
41661  }
41662  }
41663  }
41664  if (argc == 2) {
41665  int _v;
41666  void *vptr = 0;
41667  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41668  _v = SWIG_CheckState(res);
41669  if (_v) {
41670  {
41671  _v = PyCallable_Check(argv[1]);
41672  }
41673  if (_v) {
41675  }
41676  }
41677  }
41678 
41679 fail:
41680  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenDurationRange'.\n"
41681  " Possible C/C++ prototypes are:\n"
41682  " operations_research::IntervalVar::WhenDurationRange(operations_research::Demon *const)\n"
41683  " operations_research::IntervalVar::WhenDurationRange(operations_research::Solver::Closure)\n");
41684  return 0;
41685 }
41686 
41687 
41688 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41689  PyObject *resultobj = 0;
41692  void *argp1 = 0 ;
41693  int res1 = 0 ;
41694  void *argp2 = 0 ;
41695  int res2 = 0 ;
41696  PyObject * obj0 = 0 ;
41697  PyObject * obj1 = 0 ;
41698 
41699  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenDurationBound", 2, 2, &obj0, &obj1)) SWIG_fail;
41700  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41701  if (!SWIG_IsOK(res1)) {
41702  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenDurationBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41703  }
41704  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41705  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
41706  if (!SWIG_IsOK(res2)) {
41707  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenDurationBound" "', argument " "2"" of type '" "operations_research::Demon *const""'");
41708  }
41709  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
41710  {
41711  try {
41712  (arg1)->WhenDurationBound(arg2);
41713  }
41714  catch (Swig::DirectorException &e) {
41715  SWIG_fail;
41716  }
41717  }
41718  resultobj = SWIG_Py_Void();
41719  return resultobj;
41720 fail:
41721  return NULL;
41722 }
41723 
41724 
41725 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41726  PyObject *resultobj = 0;
41729  void *argp1 = 0 ;
41730  int res1 = 0 ;
41731  PyObject * obj0 = 0 ;
41732  PyObject * obj1 = 0 ;
41733 
41734  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenDurationBound", 2, 2, &obj0, &obj1)) SWIG_fail;
41735  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41736  if (!SWIG_IsOK(res1)) {
41737  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenDurationBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41738  }
41739  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41740  {
41741  SharedPyPtr input(obj1);
41742  arg2 = [input]() {
41743  return InvokePythonCallableReturning<void>(input.get());
41744  };
41745  }
41746  {
41747  try {
41748  (arg1)->WhenDurationBound(arg2);
41749  }
41750  catch (Swig::DirectorException &e) {
41751  SWIG_fail;
41752  }
41753  }
41754  resultobj = SWIG_Py_Void();
41755  return resultobj;
41756 fail:
41757  return NULL;
41758 }
41759 
41760 
41761 SWIGINTERN PyObject *_wrap_IntervalVar_WhenDurationBound(PyObject *self, PyObject *args) {
41762  Py_ssize_t argc;
41763  PyObject *argv[3] = {
41764  0
41765  };
41766  Py_ssize_t ii;
41767 
41768  if (!PyTuple_Check(args)) SWIG_fail;
41769  argc = PyObject_Length(args);
41770  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
41771  argv[ii] = PyTuple_GET_ITEM(args,ii);
41772  }
41773  if (argc == 2) {
41774  int _v;
41775  void *vptr = 0;
41776  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41777  _v = SWIG_CheckState(res);
41778  if (_v) {
41779  void *vptr = 0;
41780  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
41781  _v = SWIG_CheckState(res);
41782  if (_v) {
41784  }
41785  }
41786  }
41787  if (argc == 2) {
41788  int _v;
41789  void *vptr = 0;
41790  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
41791  _v = SWIG_CheckState(res);
41792  if (_v) {
41793  {
41794  _v = PyCallable_Check(argv[1]);
41795  }
41796  if (_v) {
41798  }
41799  }
41800  }
41801 
41802 fail:
41803  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenDurationBound'.\n"
41804  " Possible C/C++ prototypes are:\n"
41805  " operations_research::IntervalVar::WhenDurationBound(operations_research::Demon *const)\n"
41806  " operations_research::IntervalVar::WhenDurationBound(operations_research::Solver::Closure)\n");
41807  return 0;
41808 }
41809 
41810 
41811 SWIGINTERN PyObject *_wrap_IntervalVar_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41812  PyObject *resultobj = 0;
41814  void *argp1 = 0 ;
41815  int res1 = 0 ;
41816  PyObject * obj0 = 0 ;
41817  int64_t result;
41818 
41819  if (!PyArg_UnpackTuple(args, "IntervalVar_EndMin", 1, 1, &obj0)) SWIG_fail;
41820  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41821  if (!SWIG_IsOK(res1)) {
41822  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41823  }
41824  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41825  {
41826  try {
41827  result = (int64_t)((operations_research::IntervalVar const *)arg1)->EndMin();
41828  }
41829  catch (Swig::DirectorException &e) {
41830  SWIG_fail;
41831  }
41832  }
41833  resultobj = SWIG_From_long(static_cast< long >(result));
41834  return resultobj;
41835 fail:
41836  return NULL;
41837 }
41838 
41839 
41840 SWIGINTERN PyObject *_wrap_IntervalVar_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41841  PyObject *resultobj = 0;
41843  void *argp1 = 0 ;
41844  int res1 = 0 ;
41845  PyObject * obj0 = 0 ;
41846  int64_t result;
41847 
41848  if (!PyArg_UnpackTuple(args, "IntervalVar_EndMax", 1, 1, &obj0)) SWIG_fail;
41849  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41850  if (!SWIG_IsOK(res1)) {
41851  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
41852  }
41853  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41854  {
41855  try {
41856  result = (int64_t)((operations_research::IntervalVar const *)arg1)->EndMax();
41857  }
41858  catch (Swig::DirectorException &e) {
41859  SWIG_fail;
41860  }
41861  }
41862  resultobj = SWIG_From_long(static_cast< long >(result));
41863  return resultobj;
41864 fail:
41865  return NULL;
41866 }
41867 
41868 
41869 SWIGINTERN PyObject *_wrap_IntervalVar_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41870  PyObject *resultobj = 0;
41872  int64_t arg2 ;
41873  void *argp1 = 0 ;
41874  int res1 = 0 ;
41875  long val2 ;
41876  int ecode2 = 0 ;
41877  PyObject * obj0 = 0 ;
41878  PyObject * obj1 = 0 ;
41879 
41880  if (!PyArg_UnpackTuple(args, "IntervalVar_SetEndMin", 2, 2, &obj0, &obj1)) SWIG_fail;
41881  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41882  if (!SWIG_IsOK(res1)) {
41883  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetEndMin" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41884  }
41885  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41886  ecode2 = SWIG_AsVal_long(obj1, &val2);
41887  if (!SWIG_IsOK(ecode2)) {
41888  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetEndMin" "', argument " "2"" of type '" "int64_t""'");
41889  }
41890  arg2 = static_cast< int64_t >(val2);
41891  {
41892  operations_research::Solver* const solver = arg1->solver();
41893  FailureProtect protect;
41894  solver->set_fail_intercept([&protect]() {
41895  protect.JumpBack();
41896  });
41897  if (setjmp(protect.exception_buffer) == 0) {
41898  (arg1)->SetEndMin(arg2);
41899  solver->clear_fail_intercept();
41900  } else {
41901  solver->clear_fail_intercept();
41902  // IMPORTANT: the type and message of the exception raised matter,
41903  // because they are caught by the python overrides of some CP classes.
41904  // See the occurrences of the "PyExc_Exception" string below.
41905  PyErr_SetString(PyExc_Exception, "CP Solver fail");
41906  SWIG_fail;
41907  }
41908  }
41909  resultobj = SWIG_Py_Void();
41910  return resultobj;
41911 fail:
41912  return NULL;
41913 }
41914 
41915 
41916 SWIGINTERN PyObject *_wrap_IntervalVar_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41917  PyObject *resultobj = 0;
41919  int64_t arg2 ;
41920  void *argp1 = 0 ;
41921  int res1 = 0 ;
41922  long val2 ;
41923  int ecode2 = 0 ;
41924  PyObject * obj0 = 0 ;
41925  PyObject * obj1 = 0 ;
41926 
41927  if (!PyArg_UnpackTuple(args, "IntervalVar_SetEndMax", 2, 2, &obj0, &obj1)) SWIG_fail;
41928  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41929  if (!SWIG_IsOK(res1)) {
41930  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetEndMax" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41931  }
41932  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41933  ecode2 = SWIG_AsVal_long(obj1, &val2);
41934  if (!SWIG_IsOK(ecode2)) {
41935  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetEndMax" "', argument " "2"" of type '" "int64_t""'");
41936  }
41937  arg2 = static_cast< int64_t >(val2);
41938  {
41939  operations_research::Solver* const solver = arg1->solver();
41940  FailureProtect protect;
41941  solver->set_fail_intercept([&protect]() {
41942  protect.JumpBack();
41943  });
41944  if (setjmp(protect.exception_buffer) == 0) {
41945  (arg1)->SetEndMax(arg2);
41946  solver->clear_fail_intercept();
41947  } else {
41948  solver->clear_fail_intercept();
41949  // IMPORTANT: the type and message of the exception raised matter,
41950  // because they are caught by the python overrides of some CP classes.
41951  // See the occurrences of the "PyExc_Exception" string below.
41952  PyErr_SetString(PyExc_Exception, "CP Solver fail");
41953  SWIG_fail;
41954  }
41955  }
41956  resultobj = SWIG_Py_Void();
41957  return resultobj;
41958 fail:
41959  return NULL;
41960 }
41961 
41962 
41963 SWIGINTERN PyObject *_wrap_IntervalVar_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
41964  PyObject *resultobj = 0;
41966  int64_t arg2 ;
41967  int64_t arg3 ;
41968  void *argp1 = 0 ;
41969  int res1 = 0 ;
41970  long val2 ;
41971  int ecode2 = 0 ;
41972  long val3 ;
41973  int ecode3 = 0 ;
41974  PyObject * obj0 = 0 ;
41975  PyObject * obj1 = 0 ;
41976  PyObject * obj2 = 0 ;
41977 
41978  if (!PyArg_UnpackTuple(args, "IntervalVar_SetEndRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
41979  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
41980  if (!SWIG_IsOK(res1)) {
41981  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetEndRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
41982  }
41983  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
41984  ecode2 = SWIG_AsVal_long(obj1, &val2);
41985  if (!SWIG_IsOK(ecode2)) {
41986  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetEndRange" "', argument " "2"" of type '" "int64_t""'");
41987  }
41988  arg2 = static_cast< int64_t >(val2);
41989  ecode3 = SWIG_AsVal_long(obj2, &val3);
41990  if (!SWIG_IsOK(ecode3)) {
41991  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_SetEndRange" "', argument " "3"" of type '" "int64_t""'");
41992  }
41993  arg3 = static_cast< int64_t >(val3);
41994  {
41995  operations_research::Solver* const solver = arg1->solver();
41996  FailureProtect protect;
41997  solver->set_fail_intercept([&protect]() {
41998  protect.JumpBack();
41999  });
42000  if (setjmp(protect.exception_buffer) == 0) {
42001  (arg1)->SetEndRange(arg2,arg3);
42002  solver->clear_fail_intercept();
42003  } else {
42004  solver->clear_fail_intercept();
42005  // IMPORTANT: the type and message of the exception raised matter,
42006  // because they are caught by the python overrides of some CP classes.
42007  // See the occurrences of the "PyExc_Exception" string below.
42008  PyErr_SetString(PyExc_Exception, "CP Solver fail");
42009  SWIG_fail;
42010  }
42011  }
42012  resultobj = SWIG_Py_Void();
42013  return resultobj;
42014 fail:
42015  return NULL;
42016 }
42017 
42018 
42019 SWIGINTERN PyObject *_wrap_IntervalVar_OldEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42020  PyObject *resultobj = 0;
42022  void *argp1 = 0 ;
42023  int res1 = 0 ;
42024  PyObject * obj0 = 0 ;
42025  int64_t result;
42026 
42027  if (!PyArg_UnpackTuple(args, "IntervalVar_OldEndMin", 1, 1, &obj0)) SWIG_fail;
42028  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42029  if (!SWIG_IsOK(res1)) {
42030  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldEndMin" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42031  }
42032  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42033  {
42034  try {
42035  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldEndMin();
42036  }
42037  catch (Swig::DirectorException &e) {
42038  SWIG_fail;
42039  }
42040  }
42041  resultobj = SWIG_From_long(static_cast< long >(result));
42042  return resultobj;
42043 fail:
42044  return NULL;
42045 }
42046 
42047 
42048 SWIGINTERN PyObject *_wrap_IntervalVar_OldEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42049  PyObject *resultobj = 0;
42051  void *argp1 = 0 ;
42052  int res1 = 0 ;
42053  PyObject * obj0 = 0 ;
42054  int64_t result;
42055 
42056  if (!PyArg_UnpackTuple(args, "IntervalVar_OldEndMax", 1, 1, &obj0)) SWIG_fail;
42057  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42058  if (!SWIG_IsOK(res1)) {
42059  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_OldEndMax" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42060  }
42061  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42062  {
42063  try {
42064  result = (int64_t)((operations_research::IntervalVar const *)arg1)->OldEndMax();
42065  }
42066  catch (Swig::DirectorException &e) {
42067  SWIG_fail;
42068  }
42069  }
42070  resultobj = SWIG_From_long(static_cast< long >(result));
42071  return resultobj;
42072 fail:
42073  return NULL;
42074 }
42075 
42076 
42077 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42078  PyObject *resultobj = 0;
42081  void *argp1 = 0 ;
42082  int res1 = 0 ;
42083  void *argp2 = 0 ;
42084  int res2 = 0 ;
42085  PyObject * obj0 = 0 ;
42086  PyObject * obj1 = 0 ;
42087 
42088  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenEndRange", 2, 2, &obj0, &obj1)) SWIG_fail;
42089  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42090  if (!SWIG_IsOK(res1)) {
42091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenEndRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42092  }
42093  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42094  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
42095  if (!SWIG_IsOK(res2)) {
42096  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenEndRange" "', argument " "2"" of type '" "operations_research::Demon *const""'");
42097  }
42098  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
42099  {
42100  try {
42101  (arg1)->WhenEndRange(arg2);
42102  }
42103  catch (Swig::DirectorException &e) {
42104  SWIG_fail;
42105  }
42106  }
42107  resultobj = SWIG_Py_Void();
42108  return resultobj;
42109 fail:
42110  return NULL;
42111 }
42112 
42113 
42114 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42115  PyObject *resultobj = 0;
42118  void *argp1 = 0 ;
42119  int res1 = 0 ;
42120  PyObject * obj0 = 0 ;
42121  PyObject * obj1 = 0 ;
42122 
42123  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenEndRange", 2, 2, &obj0, &obj1)) SWIG_fail;
42124  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42125  if (!SWIG_IsOK(res1)) {
42126  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenEndRange" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42127  }
42128  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42129  {
42130  SharedPyPtr input(obj1);
42131  arg2 = [input]() {
42132  return InvokePythonCallableReturning<void>(input.get());
42133  };
42134  }
42135  {
42136  try {
42137  (arg1)->WhenEndRange(arg2);
42138  }
42139  catch (Swig::DirectorException &e) {
42140  SWIG_fail;
42141  }
42142  }
42143  resultobj = SWIG_Py_Void();
42144  return resultobj;
42145 fail:
42146  return NULL;
42147 }
42148 
42149 
42150 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndRange(PyObject *self, PyObject *args) {
42151  Py_ssize_t argc;
42152  PyObject *argv[3] = {
42153  0
42154  };
42155  Py_ssize_t ii;
42156 
42157  if (!PyTuple_Check(args)) SWIG_fail;
42158  argc = PyObject_Length(args);
42159  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
42160  argv[ii] = PyTuple_GET_ITEM(args,ii);
42161  }
42162  if (argc == 2) {
42163  int _v;
42164  void *vptr = 0;
42165  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42166  _v = SWIG_CheckState(res);
42167  if (_v) {
42168  void *vptr = 0;
42169  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
42170  _v = SWIG_CheckState(res);
42171  if (_v) {
42172  return _wrap_IntervalVar_WhenEndRange__SWIG_0(self, args);
42173  }
42174  }
42175  }
42176  if (argc == 2) {
42177  int _v;
42178  void *vptr = 0;
42179  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42180  _v = SWIG_CheckState(res);
42181  if (_v) {
42182  {
42183  _v = PyCallable_Check(argv[1]);
42184  }
42185  if (_v) {
42186  return _wrap_IntervalVar_WhenEndRange__SWIG_1(self, args);
42187  }
42188  }
42189  }
42190 
42191 fail:
42192  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenEndRange'.\n"
42193  " Possible C/C++ prototypes are:\n"
42194  " operations_research::IntervalVar::WhenEndRange(operations_research::Demon *const)\n"
42195  " operations_research::IntervalVar::WhenEndRange(operations_research::Solver::Closure)\n");
42196  return 0;
42197 }
42198 
42199 
42200 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42201  PyObject *resultobj = 0;
42204  void *argp1 = 0 ;
42205  int res1 = 0 ;
42206  void *argp2 = 0 ;
42207  int res2 = 0 ;
42208  PyObject * obj0 = 0 ;
42209  PyObject * obj1 = 0 ;
42210 
42211  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenEndBound", 2, 2, &obj0, &obj1)) SWIG_fail;
42212  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42213  if (!SWIG_IsOK(res1)) {
42214  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenEndBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42215  }
42216  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42217  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
42218  if (!SWIG_IsOK(res2)) {
42219  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenEndBound" "', argument " "2"" of type '" "operations_research::Demon *const""'");
42220  }
42221  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
42222  {
42223  try {
42224  (arg1)->WhenEndBound(arg2);
42225  }
42226  catch (Swig::DirectorException &e) {
42227  SWIG_fail;
42228  }
42229  }
42230  resultobj = SWIG_Py_Void();
42231  return resultobj;
42232 fail:
42233  return NULL;
42234 }
42235 
42236 
42237 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42238  PyObject *resultobj = 0;
42241  void *argp1 = 0 ;
42242  int res1 = 0 ;
42243  PyObject * obj0 = 0 ;
42244  PyObject * obj1 = 0 ;
42245 
42246  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenEndBound", 2, 2, &obj0, &obj1)) SWIG_fail;
42247  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42248  if (!SWIG_IsOK(res1)) {
42249  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenEndBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42250  }
42251  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42252  {
42253  SharedPyPtr input(obj1);
42254  arg2 = [input]() {
42255  return InvokePythonCallableReturning<void>(input.get());
42256  };
42257  }
42258  {
42259  try {
42260  (arg1)->WhenEndBound(arg2);
42261  }
42262  catch (Swig::DirectorException &e) {
42263  SWIG_fail;
42264  }
42265  }
42266  resultobj = SWIG_Py_Void();
42267  return resultobj;
42268 fail:
42269  return NULL;
42270 }
42271 
42272 
42273 SWIGINTERN PyObject *_wrap_IntervalVar_WhenEndBound(PyObject *self, PyObject *args) {
42274  Py_ssize_t argc;
42275  PyObject *argv[3] = {
42276  0
42277  };
42278  Py_ssize_t ii;
42279 
42280  if (!PyTuple_Check(args)) SWIG_fail;
42281  argc = PyObject_Length(args);
42282  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
42283  argv[ii] = PyTuple_GET_ITEM(args,ii);
42284  }
42285  if (argc == 2) {
42286  int _v;
42287  void *vptr = 0;
42288  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42289  _v = SWIG_CheckState(res);
42290  if (_v) {
42291  void *vptr = 0;
42292  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
42293  _v = SWIG_CheckState(res);
42294  if (_v) {
42295  return _wrap_IntervalVar_WhenEndBound__SWIG_0(self, args);
42296  }
42297  }
42298  }
42299  if (argc == 2) {
42300  int _v;
42301  void *vptr = 0;
42302  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42303  _v = SWIG_CheckState(res);
42304  if (_v) {
42305  {
42306  _v = PyCallable_Check(argv[1]);
42307  }
42308  if (_v) {
42309  return _wrap_IntervalVar_WhenEndBound__SWIG_1(self, args);
42310  }
42311  }
42312  }
42313 
42314 fail:
42315  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenEndBound'.\n"
42316  " Possible C/C++ prototypes are:\n"
42317  " operations_research::IntervalVar::WhenEndBound(operations_research::Demon *const)\n"
42318  " operations_research::IntervalVar::WhenEndBound(operations_research::Solver::Closure)\n");
42319  return 0;
42320 }
42321 
42322 
42323 SWIGINTERN PyObject *_wrap_IntervalVar_MustBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42324  PyObject *resultobj = 0;
42326  void *argp1 = 0 ;
42327  int res1 = 0 ;
42328  PyObject * obj0 = 0 ;
42329  bool result;
42330 
42331  if (!PyArg_UnpackTuple(args, "IntervalVar_MustBePerformed", 1, 1, &obj0)) SWIG_fail;
42332  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42333  if (!SWIG_IsOK(res1)) {
42334  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_MustBePerformed" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42335  }
42336  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42337  {
42338  try {
42339  result = (bool)((operations_research::IntervalVar const *)arg1)->MustBePerformed();
42340  }
42341  catch (Swig::DirectorException &e) {
42342  SWIG_fail;
42343  }
42344  }
42345  resultobj = SWIG_From_bool(static_cast< bool >(result));
42346  return resultobj;
42347 fail:
42348  return NULL;
42349 }
42350 
42351 
42352 SWIGINTERN PyObject *_wrap_IntervalVar_MayBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42353  PyObject *resultobj = 0;
42355  void *argp1 = 0 ;
42356  int res1 = 0 ;
42357  PyObject * obj0 = 0 ;
42358  bool result;
42359 
42360  if (!PyArg_UnpackTuple(args, "IntervalVar_MayBePerformed", 1, 1, &obj0)) SWIG_fail;
42361  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42362  if (!SWIG_IsOK(res1)) {
42363  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_MayBePerformed" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42364  }
42365  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42366  {
42367  try {
42368  result = (bool)((operations_research::IntervalVar const *)arg1)->MayBePerformed();
42369  }
42370  catch (Swig::DirectorException &e) {
42371  SWIG_fail;
42372  }
42373  }
42374  resultobj = SWIG_From_bool(static_cast< bool >(result));
42375  return resultobj;
42376 fail:
42377  return NULL;
42378 }
42379 
42380 
42381 SWIGINTERN PyObject *_wrap_IntervalVar_CannotBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42382  PyObject *resultobj = 0;
42384  void *argp1 = 0 ;
42385  int res1 = 0 ;
42386  PyObject * obj0 = 0 ;
42387  bool result;
42388 
42389  if (!PyArg_UnpackTuple(args, "IntervalVar_CannotBePerformed", 1, 1, &obj0)) SWIG_fail;
42390  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42391  if (!SWIG_IsOK(res1)) {
42392  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_CannotBePerformed" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42393  }
42394  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42395  {
42396  try {
42397  result = (bool)((operations_research::IntervalVar const *)arg1)->CannotBePerformed();
42398  }
42399  catch (Swig::DirectorException &e) {
42400  SWIG_fail;
42401  }
42402  }
42403  resultobj = SWIG_From_bool(static_cast< bool >(result));
42404  return resultobj;
42405 fail:
42406  return NULL;
42407 }
42408 
42409 
42410 SWIGINTERN PyObject *_wrap_IntervalVar_IsPerformedBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42411  PyObject *resultobj = 0;
42413  void *argp1 = 0 ;
42414  int res1 = 0 ;
42415  PyObject * obj0 = 0 ;
42416  bool result;
42417 
42418  if (!PyArg_UnpackTuple(args, "IntervalVar_IsPerformedBound", 1, 1, &obj0)) SWIG_fail;
42419  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42420  if (!SWIG_IsOK(res1)) {
42421  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_IsPerformedBound" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42422  }
42423  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42424  {
42425  try {
42426  result = (bool)((operations_research::IntervalVar const *)arg1)->IsPerformedBound();
42427  }
42428  catch (Swig::DirectorException &e) {
42429  SWIG_fail;
42430  }
42431  }
42432  resultobj = SWIG_From_bool(static_cast< bool >(result));
42433  return resultobj;
42434 fail:
42435  return NULL;
42436 }
42437 
42438 
42439 SWIGINTERN PyObject *_wrap_IntervalVar_SetPerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42440  PyObject *resultobj = 0;
42442  bool arg2 ;
42443  void *argp1 = 0 ;
42444  int res1 = 0 ;
42445  bool val2 ;
42446  int ecode2 = 0 ;
42447  PyObject * obj0 = 0 ;
42448  PyObject * obj1 = 0 ;
42449 
42450  if (!PyArg_UnpackTuple(args, "IntervalVar_SetPerformed", 2, 2, &obj0, &obj1)) SWIG_fail;
42451  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42452  if (!SWIG_IsOK(res1)) {
42453  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SetPerformed" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42454  }
42455  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42456  ecode2 = SWIG_AsVal_bool(obj1, &val2);
42457  if (!SWIG_IsOK(ecode2)) {
42458  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SetPerformed" "', argument " "2"" of type '" "bool""'");
42459  }
42460  arg2 = static_cast< bool >(val2);
42461  {
42462  operations_research::Solver* const solver = arg1->solver();
42463  FailureProtect protect;
42464  solver->set_fail_intercept([&protect]() {
42465  protect.JumpBack();
42466  });
42467  if (setjmp(protect.exception_buffer) == 0) {
42468  (arg1)->SetPerformed(arg2);
42469  solver->clear_fail_intercept();
42470  } else {
42471  solver->clear_fail_intercept();
42472  // IMPORTANT: the type and message of the exception raised matter,
42473  // because they are caught by the python overrides of some CP classes.
42474  // See the occurrences of the "PyExc_Exception" string below.
42475  PyErr_SetString(PyExc_Exception, "CP Solver fail");
42476  SWIG_fail;
42477  }
42478  }
42479  resultobj = SWIG_Py_Void();
42480  return resultobj;
42481 fail:
42482  return NULL;
42483 }
42484 
42485 
42486 SWIGINTERN PyObject *_wrap_IntervalVar_WasPerformedBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42487  PyObject *resultobj = 0;
42489  void *argp1 = 0 ;
42490  int res1 = 0 ;
42491  PyObject * obj0 = 0 ;
42492  bool result;
42493 
42494  if (!PyArg_UnpackTuple(args, "IntervalVar_WasPerformedBound", 1, 1, &obj0)) SWIG_fail;
42495  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42496  if (!SWIG_IsOK(res1)) {
42497  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WasPerformedBound" "', argument " "1"" of type '" "operations_research::IntervalVar const *""'");
42498  }
42499  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42500  {
42501  try {
42502  result = (bool)((operations_research::IntervalVar const *)arg1)->WasPerformedBound();
42503  }
42504  catch (Swig::DirectorException &e) {
42505  SWIG_fail;
42506  }
42507  }
42508  resultobj = SWIG_From_bool(static_cast< bool >(result));
42509  return resultobj;
42510 fail:
42511  return NULL;
42512 }
42513 
42514 
42515 SWIGINTERN PyObject *_wrap_IntervalVar_WhenPerformedBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42516  PyObject *resultobj = 0;
42519  void *argp1 = 0 ;
42520  int res1 = 0 ;
42521  void *argp2 = 0 ;
42522  int res2 = 0 ;
42523  PyObject * obj0 = 0 ;
42524  PyObject * obj1 = 0 ;
42525 
42526  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenPerformedBound", 2, 2, &obj0, &obj1)) SWIG_fail;
42527  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42528  if (!SWIG_IsOK(res1)) {
42529  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenPerformedBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42530  }
42531  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42532  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
42533  if (!SWIG_IsOK(res2)) {
42534  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenPerformedBound" "', argument " "2"" of type '" "operations_research::Demon *const""'");
42535  }
42536  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
42537  {
42538  try {
42539  (arg1)->WhenPerformedBound(arg2);
42540  }
42541  catch (Swig::DirectorException &e) {
42542  SWIG_fail;
42543  }
42544  }
42545  resultobj = SWIG_Py_Void();
42546  return resultobj;
42547 fail:
42548  return NULL;
42549 }
42550 
42551 
42552 SWIGINTERN PyObject *_wrap_IntervalVar_WhenPerformedBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42553  PyObject *resultobj = 0;
42556  void *argp1 = 0 ;
42557  int res1 = 0 ;
42558  PyObject * obj0 = 0 ;
42559  PyObject * obj1 = 0 ;
42560 
42561  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenPerformedBound", 2, 2, &obj0, &obj1)) SWIG_fail;
42562  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42563  if (!SWIG_IsOK(res1)) {
42564  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenPerformedBound" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42565  }
42566  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42567  {
42568  SharedPyPtr input(obj1);
42569  arg2 = [input]() {
42570  return InvokePythonCallableReturning<void>(input.get());
42571  };
42572  }
42573  {
42574  try {
42575  (arg1)->WhenPerformedBound(arg2);
42576  }
42577  catch (Swig::DirectorException &e) {
42578  SWIG_fail;
42579  }
42580  }
42581  resultobj = SWIG_Py_Void();
42582  return resultobj;
42583 fail:
42584  return NULL;
42585 }
42586 
42587 
42588 SWIGINTERN PyObject *_wrap_IntervalVar_WhenPerformedBound(PyObject *self, PyObject *args) {
42589  Py_ssize_t argc;
42590  PyObject *argv[3] = {
42591  0
42592  };
42593  Py_ssize_t ii;
42594 
42595  if (!PyTuple_Check(args)) SWIG_fail;
42596  argc = PyObject_Length(args);
42597  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
42598  argv[ii] = PyTuple_GET_ITEM(args,ii);
42599  }
42600  if (argc == 2) {
42601  int _v;
42602  void *vptr = 0;
42603  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42604  _v = SWIG_CheckState(res);
42605  if (_v) {
42606  void *vptr = 0;
42607  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
42608  _v = SWIG_CheckState(res);
42609  if (_v) {
42611  }
42612  }
42613  }
42614  if (argc == 2) {
42615  int _v;
42616  void *vptr = 0;
42617  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42618  _v = SWIG_CheckState(res);
42619  if (_v) {
42620  {
42621  _v = PyCallable_Check(argv[1]);
42622  }
42623  if (_v) {
42625  }
42626  }
42627  }
42628 
42629 fail:
42630  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenPerformedBound'.\n"
42631  " Possible C/C++ prototypes are:\n"
42632  " operations_research::IntervalVar::WhenPerformedBound(operations_research::Demon *const)\n"
42633  " operations_research::IntervalVar::WhenPerformedBound(operations_research::Solver::Closure)\n");
42634  return 0;
42635 }
42636 
42637 
42638 SWIGINTERN PyObject *_wrap_IntervalVar_WhenAnything__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42639  PyObject *resultobj = 0;
42642  void *argp1 = 0 ;
42643  int res1 = 0 ;
42644  void *argp2 = 0 ;
42645  int res2 = 0 ;
42646  PyObject * obj0 = 0 ;
42647  PyObject * obj1 = 0 ;
42648 
42649  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenAnything", 2, 2, &obj0, &obj1)) SWIG_fail;
42650  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42651  if (!SWIG_IsOK(res1)) {
42652  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenAnything" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42653  }
42654  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42655  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
42656  if (!SWIG_IsOK(res2)) {
42657  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_WhenAnything" "', argument " "2"" of type '" "operations_research::Demon *const""'");
42658  }
42659  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
42660  {
42661  try {
42662  (arg1)->WhenAnything(arg2);
42663  }
42664  catch (Swig::DirectorException &e) {
42665  SWIG_fail;
42666  }
42667  }
42668  resultobj = SWIG_Py_Void();
42669  return resultobj;
42670 fail:
42671  return NULL;
42672 }
42673 
42674 
42675 SWIGINTERN PyObject *_wrap_IntervalVar_WhenAnything__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42676  PyObject *resultobj = 0;
42679  void *argp1 = 0 ;
42680  int res1 = 0 ;
42681  PyObject * obj0 = 0 ;
42682  PyObject * obj1 = 0 ;
42683 
42684  if (!PyArg_UnpackTuple(args, "IntervalVar_WhenAnything", 2, 2, &obj0, &obj1)) SWIG_fail;
42685  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42686  if (!SWIG_IsOK(res1)) {
42687  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_WhenAnything" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42688  }
42689  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42690  {
42691  SharedPyPtr input(obj1);
42692  arg2 = [input]() {
42693  return InvokePythonCallableReturning<void>(input.get());
42694  };
42695  }
42696  {
42697  try {
42698  (arg1)->WhenAnything(arg2);
42699  }
42700  catch (Swig::DirectorException &e) {
42701  SWIG_fail;
42702  }
42703  }
42704  resultobj = SWIG_Py_Void();
42705  return resultobj;
42706 fail:
42707  return NULL;
42708 }
42709 
42710 
42711 SWIGINTERN PyObject *_wrap_IntervalVar_WhenAnything(PyObject *self, PyObject *args) {
42712  Py_ssize_t argc;
42713  PyObject *argv[3] = {
42714  0
42715  };
42716  Py_ssize_t ii;
42717 
42718  if (!PyTuple_Check(args)) SWIG_fail;
42719  argc = PyObject_Length(args);
42720  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
42721  argv[ii] = PyTuple_GET_ITEM(args,ii);
42722  }
42723  if (argc == 2) {
42724  int _v;
42725  void *vptr = 0;
42726  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42727  _v = SWIG_CheckState(res);
42728  if (_v) {
42729  void *vptr = 0;
42730  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Demon, 0);
42731  _v = SWIG_CheckState(res);
42732  if (_v) {
42733  return _wrap_IntervalVar_WhenAnything__SWIG_0(self, args);
42734  }
42735  }
42736  }
42737  if (argc == 2) {
42738  int _v;
42739  void *vptr = 0;
42740  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__IntervalVar, 0);
42741  _v = SWIG_CheckState(res);
42742  if (_v) {
42743  {
42744  _v = PyCallable_Check(argv[1]);
42745  }
42746  if (_v) {
42747  return _wrap_IntervalVar_WhenAnything__SWIG_1(self, args);
42748  }
42749  }
42750  }
42751 
42752 fail:
42753  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'IntervalVar_WhenAnything'.\n"
42754  " Possible C/C++ prototypes are:\n"
42755  " operations_research::IntervalVar::WhenAnything(operations_research::Demon *const)\n"
42756  " operations_research::IntervalVar::WhenAnything(operations_research::Solver::Closure)\n");
42757  return 0;
42758 }
42759 
42760 
42761 SWIGINTERN PyObject *_wrap_IntervalVar_StartExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42762  PyObject *resultobj = 0;
42764  void *argp1 = 0 ;
42765  int res1 = 0 ;
42766  PyObject * obj0 = 0 ;
42767  operations_research::IntExpr *result = 0 ;
42768 
42769  if (!PyArg_UnpackTuple(args, "IntervalVar_StartExpr", 1, 1, &obj0)) SWIG_fail;
42770  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42771  if (!SWIG_IsOK(res1)) {
42772  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42773  }
42774  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42775  {
42776  try {
42777  result = (operations_research::IntExpr *)(arg1)->StartExpr();
42778  }
42779  catch (Swig::DirectorException &e) {
42780  SWIG_fail;
42781  }
42782  }
42784  return resultobj;
42785 fail:
42786  return NULL;
42787 }
42788 
42789 
42790 SWIGINTERN PyObject *_wrap_IntervalVar_DurationExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42791  PyObject *resultobj = 0;
42793  void *argp1 = 0 ;
42794  int res1 = 0 ;
42795  PyObject * obj0 = 0 ;
42796  operations_research::IntExpr *result = 0 ;
42797 
42798  if (!PyArg_UnpackTuple(args, "IntervalVar_DurationExpr", 1, 1, &obj0)) SWIG_fail;
42799  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42800  if (!SWIG_IsOK(res1)) {
42801  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_DurationExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42802  }
42803  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42804  {
42805  try {
42806  result = (operations_research::IntExpr *)(arg1)->DurationExpr();
42807  }
42808  catch (Swig::DirectorException &e) {
42809  SWIG_fail;
42810  }
42811  }
42813  return resultobj;
42814 fail:
42815  return NULL;
42816 }
42817 
42818 
42819 SWIGINTERN PyObject *_wrap_IntervalVar_EndExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42820  PyObject *resultobj = 0;
42822  void *argp1 = 0 ;
42823  int res1 = 0 ;
42824  PyObject * obj0 = 0 ;
42825  operations_research::IntExpr *result = 0 ;
42826 
42827  if (!PyArg_UnpackTuple(args, "IntervalVar_EndExpr", 1, 1, &obj0)) SWIG_fail;
42828  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42829  if (!SWIG_IsOK(res1)) {
42830  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42831  }
42832  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42833  {
42834  try {
42835  result = (operations_research::IntExpr *)(arg1)->EndExpr();
42836  }
42837  catch (Swig::DirectorException &e) {
42838  SWIG_fail;
42839  }
42840  }
42842  return resultobj;
42843 fail:
42844  return NULL;
42845 }
42846 
42847 
42848 SWIGINTERN PyObject *_wrap_IntervalVar_PerformedExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42849  PyObject *resultobj = 0;
42851  void *argp1 = 0 ;
42852  int res1 = 0 ;
42853  PyObject * obj0 = 0 ;
42854  operations_research::IntExpr *result = 0 ;
42855 
42856  if (!PyArg_UnpackTuple(args, "IntervalVar_PerformedExpr", 1, 1, &obj0)) SWIG_fail;
42857  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42858  if (!SWIG_IsOK(res1)) {
42859  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_PerformedExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42860  }
42861  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42862  {
42863  try {
42864  result = (operations_research::IntExpr *)(arg1)->PerformedExpr();
42865  }
42866  catch (Swig::DirectorException &e) {
42867  SWIG_fail;
42868  }
42869  }
42871  return resultobj;
42872 fail:
42873  return NULL;
42874 }
42875 
42876 
42877 SWIGINTERN PyObject *_wrap_IntervalVar_SafeStartExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42878  PyObject *resultobj = 0;
42880  int64_t arg2 ;
42881  void *argp1 = 0 ;
42882  int res1 = 0 ;
42883  long val2 ;
42884  int ecode2 = 0 ;
42885  PyObject * obj0 = 0 ;
42886  PyObject * obj1 = 0 ;
42887  operations_research::IntExpr *result = 0 ;
42888 
42889  if (!PyArg_UnpackTuple(args, "IntervalVar_SafeStartExpr", 2, 2, &obj0, &obj1)) SWIG_fail;
42890  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42891  if (!SWIG_IsOK(res1)) {
42892  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SafeStartExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42893  }
42894  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42895  ecode2 = SWIG_AsVal_long(obj1, &val2);
42896  if (!SWIG_IsOK(ecode2)) {
42897  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SafeStartExpr" "', argument " "2"" of type '" "int64_t""'");
42898  }
42899  arg2 = static_cast< int64_t >(val2);
42900  {
42901  try {
42902  result = (operations_research::IntExpr *)(arg1)->SafeStartExpr(arg2);
42903  }
42904  catch (Swig::DirectorException &e) {
42905  SWIG_fail;
42906  }
42907  }
42909  return resultobj;
42910 fail:
42911  return NULL;
42912 }
42913 
42914 
42915 SWIGINTERN PyObject *_wrap_IntervalVar_SafeDurationExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42916  PyObject *resultobj = 0;
42918  int64_t arg2 ;
42919  void *argp1 = 0 ;
42920  int res1 = 0 ;
42921  long val2 ;
42922  int ecode2 = 0 ;
42923  PyObject * obj0 = 0 ;
42924  PyObject * obj1 = 0 ;
42925  operations_research::IntExpr *result = 0 ;
42926 
42927  if (!PyArg_UnpackTuple(args, "IntervalVar_SafeDurationExpr", 2, 2, &obj0, &obj1)) SWIG_fail;
42928  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42929  if (!SWIG_IsOK(res1)) {
42930  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SafeDurationExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42931  }
42932  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42933  ecode2 = SWIG_AsVal_long(obj1, &val2);
42934  if (!SWIG_IsOK(ecode2)) {
42935  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SafeDurationExpr" "', argument " "2"" of type '" "int64_t""'");
42936  }
42937  arg2 = static_cast< int64_t >(val2);
42938  {
42939  try {
42940  result = (operations_research::IntExpr *)(arg1)->SafeDurationExpr(arg2);
42941  }
42942  catch (Swig::DirectorException &e) {
42943  SWIG_fail;
42944  }
42945  }
42947  return resultobj;
42948 fail:
42949  return NULL;
42950 }
42951 
42952 
42953 SWIGINTERN PyObject *_wrap_IntervalVar_SafeEndExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42954  PyObject *resultobj = 0;
42956  int64_t arg2 ;
42957  void *argp1 = 0 ;
42958  int res1 = 0 ;
42959  long val2 ;
42960  int ecode2 = 0 ;
42961  PyObject * obj0 = 0 ;
42962  PyObject * obj1 = 0 ;
42963  operations_research::IntExpr *result = 0 ;
42964 
42965  if (!PyArg_UnpackTuple(args, "IntervalVar_SafeEndExpr", 2, 2, &obj0, &obj1)) SWIG_fail;
42966  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
42967  if (!SWIG_IsOK(res1)) {
42968  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_SafeEndExpr" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
42969  }
42970  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
42971  ecode2 = SWIG_AsVal_long(obj1, &val2);
42972  if (!SWIG_IsOK(ecode2)) {
42973  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_SafeEndExpr" "', argument " "2"" of type '" "int64_t""'");
42974  }
42975  arg2 = static_cast< int64_t >(val2);
42976  {
42977  try {
42978  result = (operations_research::IntExpr *)(arg1)->SafeEndExpr(arg2);
42979  }
42980  catch (Swig::DirectorException &e) {
42981  SWIG_fail;
42982  }
42983  }
42985  return resultobj;
42986 fail:
42987  return NULL;
42988 }
42989 
42990 
42991 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAfterEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
42992  PyObject *resultobj = 0;
42995  void *argp1 = 0 ;
42996  int res1 = 0 ;
42997  void *argp2 = 0 ;
42998  int res2 = 0 ;
42999  PyObject * obj0 = 0 ;
43000  PyObject * obj1 = 0 ;
43001  Swig::Director *director = 0;
43002  operations_research::Constraint *result = 0 ;
43003 
43004  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAfterEnd", 2, 2, &obj0, &obj1)) SWIG_fail;
43005  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43006  if (!SWIG_IsOK(res1)) {
43007  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAfterEnd" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43008  }
43009  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43010  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43011  if (!SWIG_IsOK(res2)) {
43012  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAfterEnd" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43013  }
43014  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43015  {
43016  try {
43018  }
43019  catch (Swig::DirectorException &e) {
43020  SWIG_fail;
43021  }
43022  }
43023  director = SWIG_DIRECTOR_CAST(result);
43024  if (director) {
43025  resultobj = director->swig_get_self();
43026  Py_INCREF(resultobj);
43027  } else {
43029  }
43030  return resultobj;
43031 fail:
43032  return NULL;
43033 }
43034 
43035 
43036 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAfterEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43037  PyObject *resultobj = 0;
43040  int64_t arg3 ;
43041  void *argp1 = 0 ;
43042  int res1 = 0 ;
43043  void *argp2 = 0 ;
43044  int res2 = 0 ;
43045  long val3 ;
43046  int ecode3 = 0 ;
43047  PyObject * obj0 = 0 ;
43048  PyObject * obj1 = 0 ;
43049  PyObject * obj2 = 0 ;
43050  Swig::Director *director = 0;
43051  operations_research::Constraint *result = 0 ;
43052 
43053  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAfterEndWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43054  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43055  if (!SWIG_IsOK(res1)) {
43056  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAfterEndWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43057  }
43058  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43059  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43060  if (!SWIG_IsOK(res2)) {
43061  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAfterEndWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43062  }
43063  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43064  ecode3 = SWIG_AsVal_long(obj2, &val3);
43065  if (!SWIG_IsOK(ecode3)) {
43066  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_EndsAfterEndWithDelay" "', argument " "3"" of type '" "int64_t""'");
43067  }
43068  arg3 = static_cast< int64_t >(val3);
43069  {
43070  try {
43072  }
43073  catch (Swig::DirectorException &e) {
43074  SWIG_fail;
43075  }
43076  }
43077  director = SWIG_DIRECTOR_CAST(result);
43078  if (director) {
43079  resultobj = director->swig_get_self();
43080  Py_INCREF(resultobj);
43081  } else {
43083  }
43084  return resultobj;
43085 fail:
43086  return NULL;
43087 }
43088 
43089 
43090 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAfterStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43091  PyObject *resultobj = 0;
43094  void *argp1 = 0 ;
43095  int res1 = 0 ;
43096  void *argp2 = 0 ;
43097  int res2 = 0 ;
43098  PyObject * obj0 = 0 ;
43099  PyObject * obj1 = 0 ;
43100  Swig::Director *director = 0;
43101  operations_research::Constraint *result = 0 ;
43102 
43103  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAfterStart", 2, 2, &obj0, &obj1)) SWIG_fail;
43104  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43105  if (!SWIG_IsOK(res1)) {
43106  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAfterStart" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43107  }
43108  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43109  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43110  if (!SWIG_IsOK(res2)) {
43111  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAfterStart" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43112  }
43113  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43114  {
43115  try {
43117  }
43118  catch (Swig::DirectorException &e) {
43119  SWIG_fail;
43120  }
43121  }
43122  director = SWIG_DIRECTOR_CAST(result);
43123  if (director) {
43124  resultobj = director->swig_get_self();
43125  Py_INCREF(resultobj);
43126  } else {
43128  }
43129  return resultobj;
43130 fail:
43131  return NULL;
43132 }
43133 
43134 
43135 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAfterStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43136  PyObject *resultobj = 0;
43139  int64_t arg3 ;
43140  void *argp1 = 0 ;
43141  int res1 = 0 ;
43142  void *argp2 = 0 ;
43143  int res2 = 0 ;
43144  long val3 ;
43145  int ecode3 = 0 ;
43146  PyObject * obj0 = 0 ;
43147  PyObject * obj1 = 0 ;
43148  PyObject * obj2 = 0 ;
43149  Swig::Director *director = 0;
43150  operations_research::Constraint *result = 0 ;
43151 
43152  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAfterStartWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43153  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43154  if (!SWIG_IsOK(res1)) {
43155  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAfterStartWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43156  }
43157  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43158  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43159  if (!SWIG_IsOK(res2)) {
43160  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAfterStartWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43161  }
43162  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43163  ecode3 = SWIG_AsVal_long(obj2, &val3);
43164  if (!SWIG_IsOK(ecode3)) {
43165  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_EndsAfterStartWithDelay" "', argument " "3"" of type '" "int64_t""'");
43166  }
43167  arg3 = static_cast< int64_t >(val3);
43168  {
43169  try {
43171  }
43172  catch (Swig::DirectorException &e) {
43173  SWIG_fail;
43174  }
43175  }
43176  director = SWIG_DIRECTOR_CAST(result);
43177  if (director) {
43178  resultobj = director->swig_get_self();
43179  Py_INCREF(resultobj);
43180  } else {
43182  }
43183  return resultobj;
43184 fail:
43185  return NULL;
43186 }
43187 
43188 
43189 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAtEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43190  PyObject *resultobj = 0;
43193  void *argp1 = 0 ;
43194  int res1 = 0 ;
43195  void *argp2 = 0 ;
43196  int res2 = 0 ;
43197  PyObject * obj0 = 0 ;
43198  PyObject * obj1 = 0 ;
43199  Swig::Director *director = 0;
43200  operations_research::Constraint *result = 0 ;
43201 
43202  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAtEnd", 2, 2, &obj0, &obj1)) SWIG_fail;
43203  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43204  if (!SWIG_IsOK(res1)) {
43205  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAtEnd" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43206  }
43207  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43208  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43209  if (!SWIG_IsOK(res2)) {
43210  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAtEnd" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43211  }
43212  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43213  {
43214  try {
43216  }
43217  catch (Swig::DirectorException &e) {
43218  SWIG_fail;
43219  }
43220  }
43221  director = SWIG_DIRECTOR_CAST(result);
43222  if (director) {
43223  resultobj = director->swig_get_self();
43224  Py_INCREF(resultobj);
43225  } else {
43227  }
43228  return resultobj;
43229 fail:
43230  return NULL;
43231 }
43232 
43233 
43234 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAtEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43235  PyObject *resultobj = 0;
43238  int64_t arg3 ;
43239  void *argp1 = 0 ;
43240  int res1 = 0 ;
43241  void *argp2 = 0 ;
43242  int res2 = 0 ;
43243  long val3 ;
43244  int ecode3 = 0 ;
43245  PyObject * obj0 = 0 ;
43246  PyObject * obj1 = 0 ;
43247  PyObject * obj2 = 0 ;
43248  Swig::Director *director = 0;
43249  operations_research::Constraint *result = 0 ;
43250 
43251  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAtEndWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43252  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43253  if (!SWIG_IsOK(res1)) {
43254  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAtEndWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43255  }
43256  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43257  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43258  if (!SWIG_IsOK(res2)) {
43259  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAtEndWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43260  }
43261  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43262  ecode3 = SWIG_AsVal_long(obj2, &val3);
43263  if (!SWIG_IsOK(ecode3)) {
43264  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_EndsAtEndWithDelay" "', argument " "3"" of type '" "int64_t""'");
43265  }
43266  arg3 = static_cast< int64_t >(val3);
43267  {
43268  try {
43270  }
43271  catch (Swig::DirectorException &e) {
43272  SWIG_fail;
43273  }
43274  }
43275  director = SWIG_DIRECTOR_CAST(result);
43276  if (director) {
43277  resultobj = director->swig_get_self();
43278  Py_INCREF(resultobj);
43279  } else {
43281  }
43282  return resultobj;
43283 fail:
43284  return NULL;
43285 }
43286 
43287 
43288 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAtStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43289  PyObject *resultobj = 0;
43292  void *argp1 = 0 ;
43293  int res1 = 0 ;
43294  void *argp2 = 0 ;
43295  int res2 = 0 ;
43296  PyObject * obj0 = 0 ;
43297  PyObject * obj1 = 0 ;
43298  Swig::Director *director = 0;
43299  operations_research::Constraint *result = 0 ;
43300 
43301  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAtStart", 2, 2, &obj0, &obj1)) SWIG_fail;
43302  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43303  if (!SWIG_IsOK(res1)) {
43304  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAtStart" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43305  }
43306  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43307  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43308  if (!SWIG_IsOK(res2)) {
43309  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAtStart" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43310  }
43311  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43312  {
43313  try {
43315  }
43316  catch (Swig::DirectorException &e) {
43317  SWIG_fail;
43318  }
43319  }
43320  director = SWIG_DIRECTOR_CAST(result);
43321  if (director) {
43322  resultobj = director->swig_get_self();
43323  Py_INCREF(resultobj);
43324  } else {
43326  }
43327  return resultobj;
43328 fail:
43329  return NULL;
43330 }
43331 
43332 
43333 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAtStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43334  PyObject *resultobj = 0;
43337  int64_t arg3 ;
43338  void *argp1 = 0 ;
43339  int res1 = 0 ;
43340  void *argp2 = 0 ;
43341  int res2 = 0 ;
43342  long val3 ;
43343  int ecode3 = 0 ;
43344  PyObject * obj0 = 0 ;
43345  PyObject * obj1 = 0 ;
43346  PyObject * obj2 = 0 ;
43347  Swig::Director *director = 0;
43348  operations_research::Constraint *result = 0 ;
43349 
43350  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAtStartWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43351  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43352  if (!SWIG_IsOK(res1)) {
43353  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAtStartWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43354  }
43355  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43356  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43357  if (!SWIG_IsOK(res2)) {
43358  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_EndsAtStartWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43359  }
43360  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43361  ecode3 = SWIG_AsVal_long(obj2, &val3);
43362  if (!SWIG_IsOK(ecode3)) {
43363  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_EndsAtStartWithDelay" "', argument " "3"" of type '" "int64_t""'");
43364  }
43365  arg3 = static_cast< int64_t >(val3);
43366  {
43367  try {
43369  }
43370  catch (Swig::DirectorException &e) {
43371  SWIG_fail;
43372  }
43373  }
43374  director = SWIG_DIRECTOR_CAST(result);
43375  if (director) {
43376  resultobj = director->swig_get_self();
43377  Py_INCREF(resultobj);
43378  } else {
43380  }
43381  return resultobj;
43382 fail:
43383  return NULL;
43384 }
43385 
43386 
43387 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAfterEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43388  PyObject *resultobj = 0;
43391  void *argp1 = 0 ;
43392  int res1 = 0 ;
43393  void *argp2 = 0 ;
43394  int res2 = 0 ;
43395  PyObject * obj0 = 0 ;
43396  PyObject * obj1 = 0 ;
43397  Swig::Director *director = 0;
43398  operations_research::Constraint *result = 0 ;
43399 
43400  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAfterEnd", 2, 2, &obj0, &obj1)) SWIG_fail;
43401  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43402  if (!SWIG_IsOK(res1)) {
43403  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAfterEnd" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43404  }
43405  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43406  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43407  if (!SWIG_IsOK(res2)) {
43408  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAfterEnd" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43409  }
43410  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43411  {
43412  try {
43414  }
43415  catch (Swig::DirectorException &e) {
43416  SWIG_fail;
43417  }
43418  }
43419  director = SWIG_DIRECTOR_CAST(result);
43420  if (director) {
43421  resultobj = director->swig_get_self();
43422  Py_INCREF(resultobj);
43423  } else {
43425  }
43426  return resultobj;
43427 fail:
43428  return NULL;
43429 }
43430 
43431 
43432 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAfterEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43433  PyObject *resultobj = 0;
43436  int64_t arg3 ;
43437  void *argp1 = 0 ;
43438  int res1 = 0 ;
43439  void *argp2 = 0 ;
43440  int res2 = 0 ;
43441  long val3 ;
43442  int ecode3 = 0 ;
43443  PyObject * obj0 = 0 ;
43444  PyObject * obj1 = 0 ;
43445  PyObject * obj2 = 0 ;
43446  Swig::Director *director = 0;
43447  operations_research::Constraint *result = 0 ;
43448 
43449  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAfterEndWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43450  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43451  if (!SWIG_IsOK(res1)) {
43452  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAfterEndWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43453  }
43454  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43455  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43456  if (!SWIG_IsOK(res2)) {
43457  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAfterEndWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43458  }
43459  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43460  ecode3 = SWIG_AsVal_long(obj2, &val3);
43461  if (!SWIG_IsOK(ecode3)) {
43462  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_StartsAfterEndWithDelay" "', argument " "3"" of type '" "int64_t""'");
43463  }
43464  arg3 = static_cast< int64_t >(val3);
43465  {
43466  try {
43468  }
43469  catch (Swig::DirectorException &e) {
43470  SWIG_fail;
43471  }
43472  }
43473  director = SWIG_DIRECTOR_CAST(result);
43474  if (director) {
43475  resultobj = director->swig_get_self();
43476  Py_INCREF(resultobj);
43477  } else {
43479  }
43480  return resultobj;
43481 fail:
43482  return NULL;
43483 }
43484 
43485 
43486 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAfterStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43487  PyObject *resultobj = 0;
43490  void *argp1 = 0 ;
43491  int res1 = 0 ;
43492  void *argp2 = 0 ;
43493  int res2 = 0 ;
43494  PyObject * obj0 = 0 ;
43495  PyObject * obj1 = 0 ;
43496  Swig::Director *director = 0;
43497  operations_research::Constraint *result = 0 ;
43498 
43499  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAfterStart", 2, 2, &obj0, &obj1)) SWIG_fail;
43500  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43501  if (!SWIG_IsOK(res1)) {
43502  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAfterStart" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43503  }
43504  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43505  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43506  if (!SWIG_IsOK(res2)) {
43507  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAfterStart" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43508  }
43509  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43510  {
43511  try {
43513  }
43514  catch (Swig::DirectorException &e) {
43515  SWIG_fail;
43516  }
43517  }
43518  director = SWIG_DIRECTOR_CAST(result);
43519  if (director) {
43520  resultobj = director->swig_get_self();
43521  Py_INCREF(resultobj);
43522  } else {
43524  }
43525  return resultobj;
43526 fail:
43527  return NULL;
43528 }
43529 
43530 
43531 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAfterStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43532  PyObject *resultobj = 0;
43535  int64_t arg3 ;
43536  void *argp1 = 0 ;
43537  int res1 = 0 ;
43538  void *argp2 = 0 ;
43539  int res2 = 0 ;
43540  long val3 ;
43541  int ecode3 = 0 ;
43542  PyObject * obj0 = 0 ;
43543  PyObject * obj1 = 0 ;
43544  PyObject * obj2 = 0 ;
43545  Swig::Director *director = 0;
43546  operations_research::Constraint *result = 0 ;
43547 
43548  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAfterStartWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43549  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43550  if (!SWIG_IsOK(res1)) {
43551  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAfterStartWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43552  }
43553  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43554  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43555  if (!SWIG_IsOK(res2)) {
43556  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAfterStartWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43557  }
43558  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43559  ecode3 = SWIG_AsVal_long(obj2, &val3);
43560  if (!SWIG_IsOK(ecode3)) {
43561  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_StartsAfterStartWithDelay" "', argument " "3"" of type '" "int64_t""'");
43562  }
43563  arg3 = static_cast< int64_t >(val3);
43564  {
43565  try {
43567  }
43568  catch (Swig::DirectorException &e) {
43569  SWIG_fail;
43570  }
43571  }
43572  director = SWIG_DIRECTOR_CAST(result);
43573  if (director) {
43574  resultobj = director->swig_get_self();
43575  Py_INCREF(resultobj);
43576  } else {
43578  }
43579  return resultobj;
43580 fail:
43581  return NULL;
43582 }
43583 
43584 
43585 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAtEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43586  PyObject *resultobj = 0;
43589  void *argp1 = 0 ;
43590  int res1 = 0 ;
43591  void *argp2 = 0 ;
43592  int res2 = 0 ;
43593  PyObject * obj0 = 0 ;
43594  PyObject * obj1 = 0 ;
43595  Swig::Director *director = 0;
43596  operations_research::Constraint *result = 0 ;
43597 
43598  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAtEnd", 2, 2, &obj0, &obj1)) SWIG_fail;
43599  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43600  if (!SWIG_IsOK(res1)) {
43601  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAtEnd" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43602  }
43603  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43604  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43605  if (!SWIG_IsOK(res2)) {
43606  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAtEnd" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43607  }
43608  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43609  {
43610  try {
43612  }
43613  catch (Swig::DirectorException &e) {
43614  SWIG_fail;
43615  }
43616  }
43617  director = SWIG_DIRECTOR_CAST(result);
43618  if (director) {
43619  resultobj = director->swig_get_self();
43620  Py_INCREF(resultobj);
43621  } else {
43623  }
43624  return resultobj;
43625 fail:
43626  return NULL;
43627 }
43628 
43629 
43630 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAtEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43631  PyObject *resultobj = 0;
43634  int64_t arg3 ;
43635  void *argp1 = 0 ;
43636  int res1 = 0 ;
43637  void *argp2 = 0 ;
43638  int res2 = 0 ;
43639  long val3 ;
43640  int ecode3 = 0 ;
43641  PyObject * obj0 = 0 ;
43642  PyObject * obj1 = 0 ;
43643  PyObject * obj2 = 0 ;
43644  Swig::Director *director = 0;
43645  operations_research::Constraint *result = 0 ;
43646 
43647  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAtEndWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43648  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43649  if (!SWIG_IsOK(res1)) {
43650  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAtEndWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43651  }
43652  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43653  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43654  if (!SWIG_IsOK(res2)) {
43655  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAtEndWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43656  }
43657  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43658  ecode3 = SWIG_AsVal_long(obj2, &val3);
43659  if (!SWIG_IsOK(ecode3)) {
43660  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_StartsAtEndWithDelay" "', argument " "3"" of type '" "int64_t""'");
43661  }
43662  arg3 = static_cast< int64_t >(val3);
43663  {
43664  try {
43666  }
43667  catch (Swig::DirectorException &e) {
43668  SWIG_fail;
43669  }
43670  }
43671  director = SWIG_DIRECTOR_CAST(result);
43672  if (director) {
43673  resultobj = director->swig_get_self();
43674  Py_INCREF(resultobj);
43675  } else {
43677  }
43678  return resultobj;
43679 fail:
43680  return NULL;
43681 }
43682 
43683 
43684 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAtStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43685  PyObject *resultobj = 0;
43688  void *argp1 = 0 ;
43689  int res1 = 0 ;
43690  void *argp2 = 0 ;
43691  int res2 = 0 ;
43692  PyObject * obj0 = 0 ;
43693  PyObject * obj1 = 0 ;
43694  Swig::Director *director = 0;
43695  operations_research::Constraint *result = 0 ;
43696 
43697  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAtStart", 2, 2, &obj0, &obj1)) SWIG_fail;
43698  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43699  if (!SWIG_IsOK(res1)) {
43700  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAtStart" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43701  }
43702  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43703  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43704  if (!SWIG_IsOK(res2)) {
43705  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAtStart" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43706  }
43707  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43708  {
43709  try {
43711  }
43712  catch (Swig::DirectorException &e) {
43713  SWIG_fail;
43714  }
43715  }
43716  director = SWIG_DIRECTOR_CAST(result);
43717  if (director) {
43718  resultobj = director->swig_get_self();
43719  Py_INCREF(resultobj);
43720  } else {
43722  }
43723  return resultobj;
43724 fail:
43725  return NULL;
43726 }
43727 
43728 
43729 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAtStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43730  PyObject *resultobj = 0;
43733  int64_t arg3 ;
43734  void *argp1 = 0 ;
43735  int res1 = 0 ;
43736  void *argp2 = 0 ;
43737  int res2 = 0 ;
43738  long val3 ;
43739  int ecode3 = 0 ;
43740  PyObject * obj0 = 0 ;
43741  PyObject * obj1 = 0 ;
43742  PyObject * obj2 = 0 ;
43743  Swig::Director *director = 0;
43744  operations_research::Constraint *result = 0 ;
43745 
43746  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAtStartWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43747  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43748  if (!SWIG_IsOK(res1)) {
43749  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAtStartWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43750  }
43751  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43752  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43753  if (!SWIG_IsOK(res2)) {
43754  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StartsAtStartWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43755  }
43756  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43757  ecode3 = SWIG_AsVal_long(obj2, &val3);
43758  if (!SWIG_IsOK(ecode3)) {
43759  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_StartsAtStartWithDelay" "', argument " "3"" of type '" "int64_t""'");
43760  }
43761  arg3 = static_cast< int64_t >(val3);
43762  {
43763  try {
43765  }
43766  catch (Swig::DirectorException &e) {
43767  SWIG_fail;
43768  }
43769  }
43770  director = SWIG_DIRECTOR_CAST(result);
43771  if (director) {
43772  resultobj = director->swig_get_self();
43773  Py_INCREF(resultobj);
43774  } else {
43776  }
43777  return resultobj;
43778 fail:
43779  return NULL;
43780 }
43781 
43782 
43783 SWIGINTERN PyObject *_wrap_IntervalVar_StaysInSync(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43784  PyObject *resultobj = 0;
43787  void *argp1 = 0 ;
43788  int res1 = 0 ;
43789  void *argp2 = 0 ;
43790  int res2 = 0 ;
43791  PyObject * obj0 = 0 ;
43792  PyObject * obj1 = 0 ;
43793  Swig::Director *director = 0;
43794  operations_research::Constraint *result = 0 ;
43795 
43796  if (!PyArg_UnpackTuple(args, "IntervalVar_StaysInSync", 2, 2, &obj0, &obj1)) SWIG_fail;
43797  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43798  if (!SWIG_IsOK(res1)) {
43799  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StaysInSync" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43800  }
43801  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43802  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43803  if (!SWIG_IsOK(res2)) {
43804  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StaysInSync" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43805  }
43806  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43807  {
43808  try {
43810  }
43811  catch (Swig::DirectorException &e) {
43812  SWIG_fail;
43813  }
43814  }
43815  director = SWIG_DIRECTOR_CAST(result);
43816  if (director) {
43817  resultobj = director->swig_get_self();
43818  Py_INCREF(resultobj);
43819  } else {
43821  }
43822  return resultobj;
43823 fail:
43824  return NULL;
43825 }
43826 
43827 
43828 SWIGINTERN PyObject *_wrap_IntervalVar_StaysInSyncWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43829  PyObject *resultobj = 0;
43832  int64_t arg3 ;
43833  void *argp1 = 0 ;
43834  int res1 = 0 ;
43835  void *argp2 = 0 ;
43836  int res2 = 0 ;
43837  long val3 ;
43838  int ecode3 = 0 ;
43839  PyObject * obj0 = 0 ;
43840  PyObject * obj1 = 0 ;
43841  PyObject * obj2 = 0 ;
43842  Swig::Director *director = 0;
43843  operations_research::Constraint *result = 0 ;
43844 
43845  if (!PyArg_UnpackTuple(args, "IntervalVar_StaysInSyncWithDelay", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
43846  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43847  if (!SWIG_IsOK(res1)) {
43848  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StaysInSyncWithDelay" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43849  }
43850  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43851  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43852  if (!SWIG_IsOK(res2)) {
43853  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVar_StaysInSyncWithDelay" "', argument " "2"" of type '" "operations_research::IntervalVar *""'");
43854  }
43855  arg2 = reinterpret_cast< operations_research::IntervalVar * >(argp2);
43856  ecode3 = SWIG_AsVal_long(obj2, &val3);
43857  if (!SWIG_IsOK(ecode3)) {
43858  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVar_StaysInSyncWithDelay" "', argument " "3"" of type '" "int64_t""'");
43859  }
43860  arg3 = static_cast< int64_t >(val3);
43861  {
43862  try {
43864  }
43865  catch (Swig::DirectorException &e) {
43866  SWIG_fail;
43867  }
43868  }
43869  director = SWIG_DIRECTOR_CAST(result);
43870  if (director) {
43871  resultobj = director->swig_get_self();
43872  Py_INCREF(resultobj);
43873  } else {
43875  }
43876  return resultobj;
43877 fail:
43878  return NULL;
43879 }
43880 
43881 
43882 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAfter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43883  PyObject *resultobj = 0;
43885  int64_t arg2 ;
43886  void *argp1 = 0 ;
43887  int res1 = 0 ;
43888  long val2 ;
43889  int ecode2 = 0 ;
43890  PyObject * obj0 = 0 ;
43891  PyObject * obj1 = 0 ;
43892  Swig::Director *director = 0;
43893  operations_research::Constraint *result = 0 ;
43894 
43895  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAfter", 2, 2, &obj0, &obj1)) SWIG_fail;
43896  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43897  if (!SWIG_IsOK(res1)) {
43898  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAfter" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43899  }
43900  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43901  ecode2 = SWIG_AsVal_long(obj1, &val2);
43902  if (!SWIG_IsOK(ecode2)) {
43903  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_EndsAfter" "', argument " "2"" of type '" "int64_t""'");
43904  }
43905  arg2 = static_cast< int64_t >(val2);
43906  {
43907  try {
43909  }
43910  catch (Swig::DirectorException &e) {
43911  SWIG_fail;
43912  }
43913  }
43914  director = SWIG_DIRECTOR_CAST(result);
43915  if (director) {
43916  resultobj = director->swig_get_self();
43917  Py_INCREF(resultobj);
43918  } else {
43920  }
43921  return resultobj;
43922 fail:
43923  return NULL;
43924 }
43925 
43926 
43927 SWIGINTERN PyObject *_wrap_IntervalVar_EndsAt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43928  PyObject *resultobj = 0;
43930  int64_t arg2 ;
43931  void *argp1 = 0 ;
43932  int res1 = 0 ;
43933  long val2 ;
43934  int ecode2 = 0 ;
43935  PyObject * obj0 = 0 ;
43936  PyObject * obj1 = 0 ;
43937  Swig::Director *director = 0;
43938  operations_research::Constraint *result = 0 ;
43939 
43940  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsAt", 2, 2, &obj0, &obj1)) SWIG_fail;
43941  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43942  if (!SWIG_IsOK(res1)) {
43943  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsAt" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43944  }
43945  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43946  ecode2 = SWIG_AsVal_long(obj1, &val2);
43947  if (!SWIG_IsOK(ecode2)) {
43948  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_EndsAt" "', argument " "2"" of type '" "int64_t""'");
43949  }
43950  arg2 = static_cast< int64_t >(val2);
43951  {
43952  try {
43954  }
43955  catch (Swig::DirectorException &e) {
43956  SWIG_fail;
43957  }
43958  }
43959  director = SWIG_DIRECTOR_CAST(result);
43960  if (director) {
43961  resultobj = director->swig_get_self();
43962  Py_INCREF(resultobj);
43963  } else {
43965  }
43966  return resultobj;
43967 fail:
43968  return NULL;
43969 }
43970 
43971 
43972 SWIGINTERN PyObject *_wrap_IntervalVar_EndsBefore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
43973  PyObject *resultobj = 0;
43975  int64_t arg2 ;
43976  void *argp1 = 0 ;
43977  int res1 = 0 ;
43978  long val2 ;
43979  int ecode2 = 0 ;
43980  PyObject * obj0 = 0 ;
43981  PyObject * obj1 = 0 ;
43982  Swig::Director *director = 0;
43983  operations_research::Constraint *result = 0 ;
43984 
43985  if (!PyArg_UnpackTuple(args, "IntervalVar_EndsBefore", 2, 2, &obj0, &obj1)) SWIG_fail;
43986  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
43987  if (!SWIG_IsOK(res1)) {
43988  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_EndsBefore" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
43989  }
43990  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
43991  ecode2 = SWIG_AsVal_long(obj1, &val2);
43992  if (!SWIG_IsOK(ecode2)) {
43993  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_EndsBefore" "', argument " "2"" of type '" "int64_t""'");
43994  }
43995  arg2 = static_cast< int64_t >(val2);
43996  {
43997  try {
43999  }
44000  catch (Swig::DirectorException &e) {
44001  SWIG_fail;
44002  }
44003  }
44004  director = SWIG_DIRECTOR_CAST(result);
44005  if (director) {
44006  resultobj = director->swig_get_self();
44007  Py_INCREF(resultobj);
44008  } else {
44010  }
44011  return resultobj;
44012 fail:
44013  return NULL;
44014 }
44015 
44016 
44017 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAfter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44018  PyObject *resultobj = 0;
44020  int64_t arg2 ;
44021  void *argp1 = 0 ;
44022  int res1 = 0 ;
44023  long val2 ;
44024  int ecode2 = 0 ;
44025  PyObject * obj0 = 0 ;
44026  PyObject * obj1 = 0 ;
44027  Swig::Director *director = 0;
44028  operations_research::Constraint *result = 0 ;
44029 
44030  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAfter", 2, 2, &obj0, &obj1)) SWIG_fail;
44031  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44032  if (!SWIG_IsOK(res1)) {
44033  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAfter" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44034  }
44035  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44036  ecode2 = SWIG_AsVal_long(obj1, &val2);
44037  if (!SWIG_IsOK(ecode2)) {
44038  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_StartsAfter" "', argument " "2"" of type '" "int64_t""'");
44039  }
44040  arg2 = static_cast< int64_t >(val2);
44041  {
44042  try {
44044  }
44045  catch (Swig::DirectorException &e) {
44046  SWIG_fail;
44047  }
44048  }
44049  director = SWIG_DIRECTOR_CAST(result);
44050  if (director) {
44051  resultobj = director->swig_get_self();
44052  Py_INCREF(resultobj);
44053  } else {
44055  }
44056  return resultobj;
44057 fail:
44058  return NULL;
44059 }
44060 
44061 
44062 SWIGINTERN PyObject *_wrap_IntervalVar_StartsAt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44063  PyObject *resultobj = 0;
44065  int64_t arg2 ;
44066  void *argp1 = 0 ;
44067  int res1 = 0 ;
44068  long val2 ;
44069  int ecode2 = 0 ;
44070  PyObject * obj0 = 0 ;
44071  PyObject * obj1 = 0 ;
44072  Swig::Director *director = 0;
44073  operations_research::Constraint *result = 0 ;
44074 
44075  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsAt", 2, 2, &obj0, &obj1)) SWIG_fail;
44076  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44077  if (!SWIG_IsOK(res1)) {
44078  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsAt" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44079  }
44080  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44081  ecode2 = SWIG_AsVal_long(obj1, &val2);
44082  if (!SWIG_IsOK(ecode2)) {
44083  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_StartsAt" "', argument " "2"" of type '" "int64_t""'");
44084  }
44085  arg2 = static_cast< int64_t >(val2);
44086  {
44087  try {
44089  }
44090  catch (Swig::DirectorException &e) {
44091  SWIG_fail;
44092  }
44093  }
44094  director = SWIG_DIRECTOR_CAST(result);
44095  if (director) {
44096  resultobj = director->swig_get_self();
44097  Py_INCREF(resultobj);
44098  } else {
44100  }
44101  return resultobj;
44102 fail:
44103  return NULL;
44104 }
44105 
44106 
44107 SWIGINTERN PyObject *_wrap_IntervalVar_StartsBefore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44108  PyObject *resultobj = 0;
44110  int64_t arg2 ;
44111  void *argp1 = 0 ;
44112  int res1 = 0 ;
44113  long val2 ;
44114  int ecode2 = 0 ;
44115  PyObject * obj0 = 0 ;
44116  PyObject * obj1 = 0 ;
44117  Swig::Director *director = 0;
44118  operations_research::Constraint *result = 0 ;
44119 
44120  if (!PyArg_UnpackTuple(args, "IntervalVar_StartsBefore", 2, 2, &obj0, &obj1)) SWIG_fail;
44121  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44122  if (!SWIG_IsOK(res1)) {
44123  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_StartsBefore" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44124  }
44125  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44126  ecode2 = SWIG_AsVal_long(obj1, &val2);
44127  if (!SWIG_IsOK(ecode2)) {
44128  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_StartsBefore" "', argument " "2"" of type '" "int64_t""'");
44129  }
44130  arg2 = static_cast< int64_t >(val2);
44131  {
44132  try {
44134  }
44135  catch (Swig::DirectorException &e) {
44136  SWIG_fail;
44137  }
44138  }
44139  director = SWIG_DIRECTOR_CAST(result);
44140  if (director) {
44141  resultobj = director->swig_get_self();
44142  Py_INCREF(resultobj);
44143  } else {
44145  }
44146  return resultobj;
44147 fail:
44148  return NULL;
44149 }
44150 
44151 
44152 SWIGINTERN PyObject *_wrap_IntervalVar_CrossesDate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44153  PyObject *resultobj = 0;
44155  int64_t arg2 ;
44156  void *argp1 = 0 ;
44157  int res1 = 0 ;
44158  long val2 ;
44159  int ecode2 = 0 ;
44160  PyObject * obj0 = 0 ;
44161  PyObject * obj1 = 0 ;
44162  Swig::Director *director = 0;
44163  operations_research::Constraint *result = 0 ;
44164 
44165  if (!PyArg_UnpackTuple(args, "IntervalVar_CrossesDate", 2, 2, &obj0, &obj1)) SWIG_fail;
44166  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44167  if (!SWIG_IsOK(res1)) {
44168  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_CrossesDate" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44169  }
44170  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44171  ecode2 = SWIG_AsVal_long(obj1, &val2);
44172  if (!SWIG_IsOK(ecode2)) {
44173  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_CrossesDate" "', argument " "2"" of type '" "int64_t""'");
44174  }
44175  arg2 = static_cast< int64_t >(val2);
44176  {
44177  try {
44179  }
44180  catch (Swig::DirectorException &e) {
44181  SWIG_fail;
44182  }
44183  }
44184  director = SWIG_DIRECTOR_CAST(result);
44185  if (director) {
44186  resultobj = director->swig_get_self();
44187  Py_INCREF(resultobj);
44188  } else {
44190  }
44191  return resultobj;
44192 fail:
44193  return NULL;
44194 }
44195 
44196 
44197 SWIGINTERN PyObject *_wrap_IntervalVar_AvoidsDate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44198  PyObject *resultobj = 0;
44200  int64_t arg2 ;
44201  void *argp1 = 0 ;
44202  int res1 = 0 ;
44203  long val2 ;
44204  int ecode2 = 0 ;
44205  PyObject * obj0 = 0 ;
44206  PyObject * obj1 = 0 ;
44207  Swig::Director *director = 0;
44208  operations_research::Constraint *result = 0 ;
44209 
44210  if (!PyArg_UnpackTuple(args, "IntervalVar_AvoidsDate", 2, 2, &obj0, &obj1)) SWIG_fail;
44211  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44212  if (!SWIG_IsOK(res1)) {
44213  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar_AvoidsDate" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44214  }
44215  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44216  ecode2 = SWIG_AsVal_long(obj1, &val2);
44217  if (!SWIG_IsOK(ecode2)) {
44218  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVar_AvoidsDate" "', argument " "2"" of type '" "int64_t""'");
44219  }
44220  arg2 = static_cast< int64_t >(val2);
44221  {
44222  try {
44224  }
44225  catch (Swig::DirectorException &e) {
44226  SWIG_fail;
44227  }
44228  }
44229  director = SWIG_DIRECTOR_CAST(result);
44230  if (director) {
44231  resultobj = director->swig_get_self();
44232  Py_INCREF(resultobj);
44233  } else {
44235  }
44236  return resultobj;
44237 fail:
44238  return NULL;
44239 }
44240 
44241 
44242 SWIGINTERN PyObject *_wrap_IntervalVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44243  PyObject *resultobj = 0;
44245  void *argp1 = 0 ;
44246  int res1 = 0 ;
44247  PyObject * obj0 = 0 ;
44248  std::string result;
44249 
44250  if (!PyArg_UnpackTuple(args, "IntervalVar___repr__", 1, 1, &obj0)) SWIG_fail;
44251  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44252  if (!SWIG_IsOK(res1)) {
44253  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar___repr__" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44254  }
44255  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44256  {
44257  try {
44259  }
44260  catch (Swig::DirectorException &e) {
44261  SWIG_fail;
44262  }
44263  }
44264  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
44265  return resultobj;
44266 fail:
44267  return NULL;
44268 }
44269 
44270 
44271 SWIGINTERN PyObject *_wrap_IntervalVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44272  PyObject *resultobj = 0;
44274  void *argp1 = 0 ;
44275  int res1 = 0 ;
44276  PyObject * obj0 = 0 ;
44277  std::string result;
44278 
44279  if (!PyArg_UnpackTuple(args, "IntervalVar___str__", 1, 1, &obj0)) SWIG_fail;
44280  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__IntervalVar, 0 | 0 );
44281  if (!SWIG_IsOK(res1)) {
44282  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVar___str__" "', argument " "1"" of type '" "operations_research::IntervalVar *""'");
44283  }
44284  arg1 = reinterpret_cast< operations_research::IntervalVar * >(argp1);
44285  {
44286  try {
44288  }
44289  catch (Swig::DirectorException &e) {
44290  SWIG_fail;
44291  }
44292  }
44293  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
44294  return resultobj;
44295 fail:
44296  return NULL;
44297 }
44298 
44299 
44300 SWIGINTERN PyObject *IntervalVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44301  PyObject *obj;
44302  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
44304  return SWIG_Py_Void();
44305 }
44306 
44307 SWIGINTERN PyObject *_wrap_SequenceVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44308  PyObject *resultobj = 0;
44310  void *argp1 = 0 ;
44311  int res1 = 0 ;
44312  PyObject * obj0 = 0 ;
44313  std::string result;
44314 
44315  if (!PyArg_UnpackTuple(args, "SequenceVar_DebugString", 1, 1, &obj0)) SWIG_fail;
44316  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44317  if (!SWIG_IsOK(res1)) {
44318  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_DebugString" "', argument " "1"" of type '" "operations_research::SequenceVar const *""'");
44319  }
44320  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44321  {
44322  try {
44323  result = ((operations_research::SequenceVar const *)arg1)->DebugString();
44324  }
44325  catch (Swig::DirectorException &e) {
44326  SWIG_fail;
44327  }
44328  }
44329  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
44330  return resultobj;
44331 fail:
44332  return NULL;
44333 }
44334 
44335 
44336 SWIGINTERN PyObject *_wrap_SequenceVar_RankFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44337  PyObject *resultobj = 0;
44339  int arg2 ;
44340  void *argp1 = 0 ;
44341  int res1 = 0 ;
44342  int val2 ;
44343  int ecode2 = 0 ;
44344  PyObject * obj0 = 0 ;
44345  PyObject * obj1 = 0 ;
44346 
44347  if (!PyArg_UnpackTuple(args, "SequenceVar_RankFirst", 2, 2, &obj0, &obj1)) SWIG_fail;
44348  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44349  if (!SWIG_IsOK(res1)) {
44350  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_RankFirst" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44351  }
44352  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44353  ecode2 = SWIG_AsVal_int(obj1, &val2);
44354  if (!SWIG_IsOK(ecode2)) {
44355  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_RankFirst" "', argument " "2"" of type '" "int""'");
44356  }
44357  arg2 = static_cast< int >(val2);
44358  {
44359  try {
44360  (arg1)->RankFirst(arg2);
44361  }
44362  catch (Swig::DirectorException &e) {
44363  SWIG_fail;
44364  }
44365  }
44366  resultobj = SWIG_Py_Void();
44367  return resultobj;
44368 fail:
44369  return NULL;
44370 }
44371 
44372 
44373 SWIGINTERN PyObject *_wrap_SequenceVar_RankNotFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44374  PyObject *resultobj = 0;
44376  int arg2 ;
44377  void *argp1 = 0 ;
44378  int res1 = 0 ;
44379  int val2 ;
44380  int ecode2 = 0 ;
44381  PyObject * obj0 = 0 ;
44382  PyObject * obj1 = 0 ;
44383 
44384  if (!PyArg_UnpackTuple(args, "SequenceVar_RankNotFirst", 2, 2, &obj0, &obj1)) SWIG_fail;
44385  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44386  if (!SWIG_IsOK(res1)) {
44387  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_RankNotFirst" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44388  }
44389  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44390  ecode2 = SWIG_AsVal_int(obj1, &val2);
44391  if (!SWIG_IsOK(ecode2)) {
44392  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_RankNotFirst" "', argument " "2"" of type '" "int""'");
44393  }
44394  arg2 = static_cast< int >(val2);
44395  {
44396  try {
44397  (arg1)->RankNotFirst(arg2);
44398  }
44399  catch (Swig::DirectorException &e) {
44400  SWIG_fail;
44401  }
44402  }
44403  resultobj = SWIG_Py_Void();
44404  return resultobj;
44405 fail:
44406  return NULL;
44407 }
44408 
44409 
44410 SWIGINTERN PyObject *_wrap_SequenceVar_RankLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44411  PyObject *resultobj = 0;
44413  int arg2 ;
44414  void *argp1 = 0 ;
44415  int res1 = 0 ;
44416  int val2 ;
44417  int ecode2 = 0 ;
44418  PyObject * obj0 = 0 ;
44419  PyObject * obj1 = 0 ;
44420 
44421  if (!PyArg_UnpackTuple(args, "SequenceVar_RankLast", 2, 2, &obj0, &obj1)) SWIG_fail;
44422  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44423  if (!SWIG_IsOK(res1)) {
44424  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_RankLast" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44425  }
44426  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44427  ecode2 = SWIG_AsVal_int(obj1, &val2);
44428  if (!SWIG_IsOK(ecode2)) {
44429  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_RankLast" "', argument " "2"" of type '" "int""'");
44430  }
44431  arg2 = static_cast< int >(val2);
44432  {
44433  try {
44434  (arg1)->RankLast(arg2);
44435  }
44436  catch (Swig::DirectorException &e) {
44437  SWIG_fail;
44438  }
44439  }
44440  resultobj = SWIG_Py_Void();
44441  return resultobj;
44442 fail:
44443  return NULL;
44444 }
44445 
44446 
44447 SWIGINTERN PyObject *_wrap_SequenceVar_RankNotLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44448  PyObject *resultobj = 0;
44450  int arg2 ;
44451  void *argp1 = 0 ;
44452  int res1 = 0 ;
44453  int val2 ;
44454  int ecode2 = 0 ;
44455  PyObject * obj0 = 0 ;
44456  PyObject * obj1 = 0 ;
44457 
44458  if (!PyArg_UnpackTuple(args, "SequenceVar_RankNotLast", 2, 2, &obj0, &obj1)) SWIG_fail;
44459  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44460  if (!SWIG_IsOK(res1)) {
44461  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_RankNotLast" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44462  }
44463  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44464  ecode2 = SWIG_AsVal_int(obj1, &val2);
44465  if (!SWIG_IsOK(ecode2)) {
44466  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_RankNotLast" "', argument " "2"" of type '" "int""'");
44467  }
44468  arg2 = static_cast< int >(val2);
44469  {
44470  try {
44471  (arg1)->RankNotLast(arg2);
44472  }
44473  catch (Swig::DirectorException &e) {
44474  SWIG_fail;
44475  }
44476  }
44477  resultobj = SWIG_Py_Void();
44478  return resultobj;
44479 fail:
44480  return NULL;
44481 }
44482 
44483 
44484 SWIGINTERN PyObject *_wrap_SequenceVar_Interval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44485  PyObject *resultobj = 0;
44487  int arg2 ;
44488  void *argp1 = 0 ;
44489  int res1 = 0 ;
44490  int val2 ;
44491  int ecode2 = 0 ;
44492  PyObject * obj0 = 0 ;
44493  PyObject * obj1 = 0 ;
44494  operations_research::IntervalVar *result = 0 ;
44495 
44496  if (!PyArg_UnpackTuple(args, "SequenceVar_Interval", 2, 2, &obj0, &obj1)) SWIG_fail;
44497  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44498  if (!SWIG_IsOK(res1)) {
44499  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_Interval" "', argument " "1"" of type '" "operations_research::SequenceVar const *""'");
44500  }
44501  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44502  ecode2 = SWIG_AsVal_int(obj1, &val2);
44503  if (!SWIG_IsOK(ecode2)) {
44504  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_Interval" "', argument " "2"" of type '" "int""'");
44505  }
44506  arg2 = static_cast< int >(val2);
44507  {
44508  try {
44509  result = (operations_research::IntervalVar *)((operations_research::SequenceVar const *)arg1)->Interval(arg2);
44510  }
44511  catch (Swig::DirectorException &e) {
44512  SWIG_fail;
44513  }
44514  }
44516  return resultobj;
44517 fail:
44518  return NULL;
44519 }
44520 
44521 
44522 SWIGINTERN PyObject *_wrap_SequenceVar_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44523  PyObject *resultobj = 0;
44525  int arg2 ;
44526  void *argp1 = 0 ;
44527  int res1 = 0 ;
44528  int val2 ;
44529  int ecode2 = 0 ;
44530  PyObject * obj0 = 0 ;
44531  PyObject * obj1 = 0 ;
44532  operations_research::IntVar *result = 0 ;
44533 
44534  if (!PyArg_UnpackTuple(args, "SequenceVar_Next", 2, 2, &obj0, &obj1)) SWIG_fail;
44535  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44536  if (!SWIG_IsOK(res1)) {
44537  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_Next" "', argument " "1"" of type '" "operations_research::SequenceVar const *""'");
44538  }
44539  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44540  ecode2 = SWIG_AsVal_int(obj1, &val2);
44541  if (!SWIG_IsOK(ecode2)) {
44542  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVar_Next" "', argument " "2"" of type '" "int""'");
44543  }
44544  arg2 = static_cast< int >(val2);
44545  {
44546  try {
44547  result = (operations_research::IntVar *)((operations_research::SequenceVar const *)arg1)->Next(arg2);
44548  }
44549  catch (Swig::DirectorException &e) {
44550  SWIG_fail;
44551  }
44552  }
44554  return resultobj;
44555 fail:
44556  return NULL;
44557 }
44558 
44559 
44560 SWIGINTERN PyObject *_wrap_SequenceVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44561  PyObject *resultobj = 0;
44563  void *argp1 = 0 ;
44564  int res1 = 0 ;
44565  PyObject * obj0 = 0 ;
44566  int64_t result;
44567 
44568  if (!PyArg_UnpackTuple(args, "SequenceVar_Size", 1, 1, &obj0)) SWIG_fail;
44569  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44570  if (!SWIG_IsOK(res1)) {
44571  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar_Size" "', argument " "1"" of type '" "operations_research::SequenceVar const *""'");
44572  }
44573  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44574  {
44575  try {
44576  result = (int64_t)((operations_research::SequenceVar const *)arg1)->size();
44577  }
44578  catch (Swig::DirectorException &e) {
44579  SWIG_fail;
44580  }
44581  }
44582  resultobj = SWIG_From_long(static_cast< long >(result));
44583  return resultobj;
44584 fail:
44585  return NULL;
44586 }
44587 
44588 
44589 SWIGINTERN PyObject *_wrap_SequenceVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44590  PyObject *resultobj = 0;
44592  void *argp1 = 0 ;
44593  int res1 = 0 ;
44594  PyObject * obj0 = 0 ;
44595  std::string result;
44596 
44597  if (!PyArg_UnpackTuple(args, "SequenceVar___repr__", 1, 1, &obj0)) SWIG_fail;
44598  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44599  if (!SWIG_IsOK(res1)) {
44600  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar___repr__" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44601  }
44602  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44603  {
44604  try {
44606  }
44607  catch (Swig::DirectorException &e) {
44608  SWIG_fail;
44609  }
44610  }
44611  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
44612  return resultobj;
44613 fail:
44614  return NULL;
44615 }
44616 
44617 
44618 SWIGINTERN PyObject *_wrap_SequenceVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44619  PyObject *resultobj = 0;
44621  void *argp1 = 0 ;
44622  int res1 = 0 ;
44623  PyObject * obj0 = 0 ;
44624  std::string result;
44625 
44626  if (!PyArg_UnpackTuple(args, "SequenceVar___str__", 1, 1, &obj0)) SWIG_fail;
44627  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__SequenceVar, 0 | 0 );
44628  if (!SWIG_IsOK(res1)) {
44629  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVar___str__" "', argument " "1"" of type '" "operations_research::SequenceVar *""'");
44630  }
44631  arg1 = reinterpret_cast< operations_research::SequenceVar * >(argp1);
44632  {
44633  try {
44635  }
44636  catch (Swig::DirectorException &e) {
44637  SWIG_fail;
44638  }
44639  }
44640  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
44641  return resultobj;
44642 fail:
44643  return NULL;
44644 }
44645 
44646 
44647 SWIGINTERN PyObject *SequenceVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44648  PyObject *obj;
44649  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
44651  return SWIG_Py_Void();
44652 }
44653 
44654 SWIGINTERN PyObject *_wrap_AssignmentElement_Activate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44655  PyObject *resultobj = 0;
44657  void *argp1 = 0 ;
44658  int res1 = 0 ;
44659  PyObject * obj0 = 0 ;
44660 
44661  if (!PyArg_UnpackTuple(args, "AssignmentElement_Activate", 1, 1, &obj0)) SWIG_fail;
44663  if (!SWIG_IsOK(res1)) {
44664  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AssignmentElement_Activate" "', argument " "1"" of type '" "operations_research::AssignmentElement *""'");
44665  }
44666  arg1 = reinterpret_cast< operations_research::AssignmentElement * >(argp1);
44667  {
44668  try {
44669  (arg1)->Activate();
44670  }
44671  catch (Swig::DirectorException &e) {
44672  SWIG_fail;
44673  }
44674  }
44675  resultobj = SWIG_Py_Void();
44676  return resultobj;
44677 fail:
44678  return NULL;
44679 }
44680 
44681 
44682 SWIGINTERN PyObject *_wrap_AssignmentElement_Deactivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44683  PyObject *resultobj = 0;
44685  void *argp1 = 0 ;
44686  int res1 = 0 ;
44687  PyObject * obj0 = 0 ;
44688 
44689  if (!PyArg_UnpackTuple(args, "AssignmentElement_Deactivate", 1, 1, &obj0)) SWIG_fail;
44691  if (!SWIG_IsOK(res1)) {
44692  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AssignmentElement_Deactivate" "', argument " "1"" of type '" "operations_research::AssignmentElement *""'");
44693  }
44694  arg1 = reinterpret_cast< operations_research::AssignmentElement * >(argp1);
44695  {
44696  try {
44697  (arg1)->Deactivate();
44698  }
44699  catch (Swig::DirectorException &e) {
44700  SWIG_fail;
44701  }
44702  }
44703  resultobj = SWIG_Py_Void();
44704  return resultobj;
44705 fail:
44706  return NULL;
44707 }
44708 
44709 
44710 SWIGINTERN PyObject *_wrap_AssignmentElement_Activated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44711  PyObject *resultobj = 0;
44713  void *argp1 = 0 ;
44714  int res1 = 0 ;
44715  PyObject * obj0 = 0 ;
44716  bool result;
44717 
44718  if (!PyArg_UnpackTuple(args, "AssignmentElement_Activated", 1, 1, &obj0)) SWIG_fail;
44720  if (!SWIG_IsOK(res1)) {
44721  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AssignmentElement_Activated" "', argument " "1"" of type '" "operations_research::AssignmentElement const *""'");
44722  }
44723  arg1 = reinterpret_cast< operations_research::AssignmentElement * >(argp1);
44724  {
44725  try {
44726  result = (bool)((operations_research::AssignmentElement const *)arg1)->Activated();
44727  }
44728  catch (Swig::DirectorException &e) {
44729  SWIG_fail;
44730  }
44731  }
44732  resultobj = SWIG_From_bool(static_cast< bool >(result));
44733  return resultobj;
44734 fail:
44735  return NULL;
44736 }
44737 
44738 
44739 SWIGINTERN PyObject *_wrap_delete_AssignmentElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44740  PyObject *resultobj = 0;
44742  void *argp1 = 0 ;
44743  int res1 = 0 ;
44744  PyObject * obj0 = 0 ;
44745 
44746  if (!PyArg_UnpackTuple(args, "delete_AssignmentElement", 1, 1, &obj0)) SWIG_fail;
44748  if (!SWIG_IsOK(res1)) {
44749  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_AssignmentElement" "', argument " "1"" of type '" "operations_research::AssignmentElement *""'");
44750  }
44751  arg1 = reinterpret_cast< operations_research::AssignmentElement * >(argp1);
44752  {
44753  try {
44754  delete arg1;
44755  }
44756  catch (Swig::DirectorException &e) {
44757  SWIG_fail;
44758  }
44759  }
44760  resultobj = SWIG_Py_Void();
44761  return resultobj;
44762 fail:
44763  return NULL;
44764 }
44765 
44766 
44767 SWIGINTERN PyObject *AssignmentElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44768  PyObject *obj;
44769  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
44771  return SWIG_Py_Void();
44772 }
44773 
44774 SWIGINTERN PyObject *_wrap_IntVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44775  PyObject *resultobj = 0;
44777  void *argp1 = 0 ;
44778  int res1 = 0 ;
44779  PyObject * obj0 = 0 ;
44780  operations_research::IntVar *result = 0 ;
44781 
44782  if (!PyArg_UnpackTuple(args, "IntVarElement_Var", 1, 1, &obj0)) SWIG_fail;
44784  if (!SWIG_IsOK(res1)) {
44785  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_Var" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
44786  }
44787  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44788  {
44789  try {
44790  result = (operations_research::IntVar *)((operations_research::IntVarElement const *)arg1)->Var();
44791  }
44792  catch (Swig::DirectorException &e) {
44793  SWIG_fail;
44794  }
44795  }
44797  return resultobj;
44798 fail:
44799  return NULL;
44800 }
44801 
44802 
44803 SWIGINTERN PyObject *_wrap_IntVarElement_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44804  PyObject *resultobj = 0;
44806  void *argp1 = 0 ;
44807  int res1 = 0 ;
44808  PyObject * obj0 = 0 ;
44809  int64_t result;
44810 
44811  if (!PyArg_UnpackTuple(args, "IntVarElement_Min", 1, 1, &obj0)) SWIG_fail;
44813  if (!SWIG_IsOK(res1)) {
44814  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_Min" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
44815  }
44816  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44817  {
44818  try {
44819  result = (int64_t)((operations_research::IntVarElement const *)arg1)->Min();
44820  }
44821  catch (Swig::DirectorException &e) {
44822  SWIG_fail;
44823  }
44824  }
44825  resultobj = SWIG_From_long(static_cast< long >(result));
44826  return resultobj;
44827 fail:
44828  return NULL;
44829 }
44830 
44831 
44832 SWIGINTERN PyObject *_wrap_IntVarElement_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44833  PyObject *resultobj = 0;
44835  int64_t arg2 ;
44836  void *argp1 = 0 ;
44837  int res1 = 0 ;
44838  long val2 ;
44839  int ecode2 = 0 ;
44840  PyObject * obj0 = 0 ;
44841  PyObject * obj1 = 0 ;
44842 
44843  if (!PyArg_UnpackTuple(args, "IntVarElement_SetMin", 2, 2, &obj0, &obj1)) SWIG_fail;
44845  if (!SWIG_IsOK(res1)) {
44846  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_SetMin" "', argument " "1"" of type '" "operations_research::IntVarElement *""'");
44847  }
44848  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44849  ecode2 = SWIG_AsVal_long(obj1, &val2);
44850  if (!SWIG_IsOK(ecode2)) {
44851  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarElement_SetMin" "', argument " "2"" of type '" "int64_t""'");
44852  }
44853  arg2 = static_cast< int64_t >(val2);
44854  {
44855  try {
44856  (arg1)->SetMin(arg2);
44857  }
44858  catch (Swig::DirectorException &e) {
44859  SWIG_fail;
44860  }
44861  }
44862  resultobj = SWIG_Py_Void();
44863  return resultobj;
44864 fail:
44865  return NULL;
44866 }
44867 
44868 
44869 SWIGINTERN PyObject *_wrap_IntVarElement_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44870  PyObject *resultobj = 0;
44872  void *argp1 = 0 ;
44873  int res1 = 0 ;
44874  PyObject * obj0 = 0 ;
44875  int64_t result;
44876 
44877  if (!PyArg_UnpackTuple(args, "IntVarElement_Max", 1, 1, &obj0)) SWIG_fail;
44879  if (!SWIG_IsOK(res1)) {
44880  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_Max" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
44881  }
44882  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44883  {
44884  try {
44885  result = (int64_t)((operations_research::IntVarElement const *)arg1)->Max();
44886  }
44887  catch (Swig::DirectorException &e) {
44888  SWIG_fail;
44889  }
44890  }
44891  resultobj = SWIG_From_long(static_cast< long >(result));
44892  return resultobj;
44893 fail:
44894  return NULL;
44895 }
44896 
44897 
44898 SWIGINTERN PyObject *_wrap_IntVarElement_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44899  PyObject *resultobj = 0;
44901  int64_t arg2 ;
44902  void *argp1 = 0 ;
44903  int res1 = 0 ;
44904  long val2 ;
44905  int ecode2 = 0 ;
44906  PyObject * obj0 = 0 ;
44907  PyObject * obj1 = 0 ;
44908 
44909  if (!PyArg_UnpackTuple(args, "IntVarElement_SetMax", 2, 2, &obj0, &obj1)) SWIG_fail;
44911  if (!SWIG_IsOK(res1)) {
44912  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_SetMax" "', argument " "1"" of type '" "operations_research::IntVarElement *""'");
44913  }
44914  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44915  ecode2 = SWIG_AsVal_long(obj1, &val2);
44916  if (!SWIG_IsOK(ecode2)) {
44917  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarElement_SetMax" "', argument " "2"" of type '" "int64_t""'");
44918  }
44919  arg2 = static_cast< int64_t >(val2);
44920  {
44921  try {
44922  (arg1)->SetMax(arg2);
44923  }
44924  catch (Swig::DirectorException &e) {
44925  SWIG_fail;
44926  }
44927  }
44928  resultobj = SWIG_Py_Void();
44929  return resultobj;
44930 fail:
44931  return NULL;
44932 }
44933 
44934 
44935 SWIGINTERN PyObject *_wrap_IntVarElement_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44936  PyObject *resultobj = 0;
44938  void *argp1 = 0 ;
44939  int res1 = 0 ;
44940  PyObject * obj0 = 0 ;
44941  int64_t result;
44942 
44943  if (!PyArg_UnpackTuple(args, "IntVarElement_Value", 1, 1, &obj0)) SWIG_fail;
44945  if (!SWIG_IsOK(res1)) {
44946  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_Value" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
44947  }
44948  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44949  {
44950  try {
44951  result = (int64_t)((operations_research::IntVarElement const *)arg1)->Value();
44952  }
44953  catch (Swig::DirectorException &e) {
44954  SWIG_fail;
44955  }
44956  }
44957  resultobj = SWIG_From_long(static_cast< long >(result));
44958  return resultobj;
44959 fail:
44960  return NULL;
44961 }
44962 
44963 
44964 SWIGINTERN PyObject *_wrap_IntVarElement_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44965  PyObject *resultobj = 0;
44967  void *argp1 = 0 ;
44968  int res1 = 0 ;
44969  PyObject * obj0 = 0 ;
44970  bool result;
44971 
44972  if (!PyArg_UnpackTuple(args, "IntVarElement_Bound", 1, 1, &obj0)) SWIG_fail;
44974  if (!SWIG_IsOK(res1)) {
44975  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_Bound" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
44976  }
44977  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
44978  {
44979  try {
44980  result = (bool)((operations_research::IntVarElement const *)arg1)->Bound();
44981  }
44982  catch (Swig::DirectorException &e) {
44983  SWIG_fail;
44984  }
44985  }
44986  resultobj = SWIG_From_bool(static_cast< bool >(result));
44987  return resultobj;
44988 fail:
44989  return NULL;
44990 }
44991 
44992 
44993 SWIGINTERN PyObject *_wrap_IntVarElement_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
44994  PyObject *resultobj = 0;
44996  int64_t arg2 ;
44997  int64_t arg3 ;
44998  void *argp1 = 0 ;
44999  int res1 = 0 ;
45000  long val2 ;
45001  int ecode2 = 0 ;
45002  long val3 ;
45003  int ecode3 = 0 ;
45004  PyObject * obj0 = 0 ;
45005  PyObject * obj1 = 0 ;
45006  PyObject * obj2 = 0 ;
45007 
45008  if (!PyArg_UnpackTuple(args, "IntVarElement_SetRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
45010  if (!SWIG_IsOK(res1)) {
45011  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_SetRange" "', argument " "1"" of type '" "operations_research::IntVarElement *""'");
45012  }
45013  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
45014  ecode2 = SWIG_AsVal_long(obj1, &val2);
45015  if (!SWIG_IsOK(ecode2)) {
45016  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarElement_SetRange" "', argument " "2"" of type '" "int64_t""'");
45017  }
45018  arg2 = static_cast< int64_t >(val2);
45019  ecode3 = SWIG_AsVal_long(obj2, &val3);
45020  if (!SWIG_IsOK(ecode3)) {
45021  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntVarElement_SetRange" "', argument " "3"" of type '" "int64_t""'");
45022  }
45023  arg3 = static_cast< int64_t >(val3);
45024  {
45025  try {
45026  (arg1)->SetRange(arg2,arg3);
45027  }
45028  catch (Swig::DirectorException &e) {
45029  SWIG_fail;
45030  }
45031  }
45032  resultobj = SWIG_Py_Void();
45033  return resultobj;
45034 fail:
45035  return NULL;
45036 }
45037 
45038 
45039 SWIGINTERN PyObject *_wrap_IntVarElement_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45040  PyObject *resultobj = 0;
45042  int64_t arg2 ;
45043  void *argp1 = 0 ;
45044  int res1 = 0 ;
45045  long val2 ;
45046  int ecode2 = 0 ;
45047  PyObject * obj0 = 0 ;
45048  PyObject * obj1 = 0 ;
45049 
45050  if (!PyArg_UnpackTuple(args, "IntVarElement_SetValue", 2, 2, &obj0, &obj1)) SWIG_fail;
45052  if (!SWIG_IsOK(res1)) {
45053  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement_SetValue" "', argument " "1"" of type '" "operations_research::IntVarElement *""'");
45054  }
45055  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
45056  ecode2 = SWIG_AsVal_long(obj1, &val2);
45057  if (!SWIG_IsOK(ecode2)) {
45058  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarElement_SetValue" "', argument " "2"" of type '" "int64_t""'");
45059  }
45060  arg2 = static_cast< int64_t >(val2);
45061  {
45062  try {
45063  (arg1)->SetValue(arg2);
45064  }
45065  catch (Swig::DirectorException &e) {
45066  SWIG_fail;
45067  }
45068  }
45069  resultobj = SWIG_Py_Void();
45070  return resultobj;
45071 fail:
45072  return NULL;
45073 }
45074 
45075 
45076 SWIGINTERN PyObject *_wrap_IntVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45077  PyObject *resultobj = 0;
45080  void *argp1 = 0 ;
45081  int res1 = 0 ;
45082  void *argp2 = 0 ;
45083  int res2 = 0 ;
45084  PyObject * obj0 = 0 ;
45085  PyObject * obj1 = 0 ;
45086  bool result;
45087 
45088  if (!PyArg_UnpackTuple(args, "IntVarElement___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
45090  if (!SWIG_IsOK(res1)) {
45091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement___eq__" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
45092  }
45093  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
45095  if (!SWIG_IsOK(res2)) {
45096  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarElement___eq__" "', argument " "2"" of type '" "operations_research::IntVarElement const &""'");
45097  }
45098  if (!argp2) {
45099  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntVarElement___eq__" "', argument " "2"" of type '" "operations_research::IntVarElement const &""'");
45100  }
45101  arg2 = reinterpret_cast< operations_research::IntVarElement * >(argp2);
45102  {
45103  try {
45104  result = (bool)((operations_research::IntVarElement const *)arg1)->operator ==((operations_research::IntVarElement const &)*arg2);
45105  }
45106  catch (Swig::DirectorException &e) {
45107  SWIG_fail;
45108  }
45109  }
45110  resultobj = SWIG_From_bool(static_cast< bool >(result));
45111  return resultobj;
45112 fail:
45113  PyErr_Clear();
45114  Py_INCREF(Py_NotImplemented);
45115  return Py_NotImplemented;
45116 }
45117 
45118 
45119 SWIGINTERN PyObject *_wrap_IntVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45120  PyObject *resultobj = 0;
45123  void *argp1 = 0 ;
45124  int res1 = 0 ;
45125  void *argp2 = 0 ;
45126  int res2 = 0 ;
45127  PyObject * obj0 = 0 ;
45128  PyObject * obj1 = 0 ;
45129  bool result;
45130 
45131  if (!PyArg_UnpackTuple(args, "IntVarElement___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
45133  if (!SWIG_IsOK(res1)) {
45134  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarElement___ne__" "', argument " "1"" of type '" "operations_research::IntVarElement const *""'");
45135  }
45136  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
45138  if (!SWIG_IsOK(res2)) {
45139  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarElement___ne__" "', argument " "2"" of type '" "operations_research::IntVarElement const &""'");
45140  }
45141  if (!argp2) {
45142  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntVarElement___ne__" "', argument " "2"" of type '" "operations_research::IntVarElement const &""'");
45143  }
45144  arg2 = reinterpret_cast< operations_research::IntVarElement * >(argp2);
45145  {
45146  try {
45147  result = (bool)((operations_research::IntVarElement const *)arg1)->operator !=((operations_research::IntVarElement const &)*arg2);
45148  }
45149  catch (Swig::DirectorException &e) {
45150  SWIG_fail;
45151  }
45152  }
45153  resultobj = SWIG_From_bool(static_cast< bool >(result));
45154  return resultobj;
45155 fail:
45156  PyErr_Clear();
45157  Py_INCREF(Py_NotImplemented);
45158  return Py_NotImplemented;
45159 }
45160 
45161 
45162 SWIGINTERN PyObject *_wrap_delete_IntVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45163  PyObject *resultobj = 0;
45165  void *argp1 = 0 ;
45166  int res1 = 0 ;
45167  PyObject * obj0 = 0 ;
45168 
45169  if (!PyArg_UnpackTuple(args, "delete_IntVarElement", 1, 1, &obj0)) SWIG_fail;
45171  if (!SWIG_IsOK(res1)) {
45172  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntVarElement" "', argument " "1"" of type '" "operations_research::IntVarElement *""'");
45173  }
45174  arg1 = reinterpret_cast< operations_research::IntVarElement * >(argp1);
45175  {
45176  try {
45177  delete arg1;
45178  }
45179  catch (Swig::DirectorException &e) {
45180  SWIG_fail;
45181  }
45182  }
45183  resultobj = SWIG_Py_Void();
45184  return resultobj;
45185 fail:
45186  return NULL;
45187 }
45188 
45189 
45190 SWIGINTERN PyObject *IntVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45191  PyObject *obj;
45192  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
45194  return SWIG_Py_Void();
45195 }
45196 
45197 SWIGINTERN PyObject *_wrap_IntervalVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45198  PyObject *resultobj = 0;
45200  void *argp1 = 0 ;
45201  int res1 = 0 ;
45202  PyObject * obj0 = 0 ;
45203  operations_research::IntervalVar *result = 0 ;
45204 
45205  if (!PyArg_UnpackTuple(args, "IntervalVarElement_Var", 1, 1, &obj0)) SWIG_fail;
45207  if (!SWIG_IsOK(res1)) {
45208  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_Var" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45209  }
45210  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45211  {
45212  try {
45214  }
45215  catch (Swig::DirectorException &e) {
45216  SWIG_fail;
45217  }
45218  }
45220  return resultobj;
45221 fail:
45222  return NULL;
45223 }
45224 
45225 
45226 SWIGINTERN PyObject *_wrap_IntervalVarElement_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45227  PyObject *resultobj = 0;
45229  void *argp1 = 0 ;
45230  int res1 = 0 ;
45231  PyObject * obj0 = 0 ;
45232  int64_t result;
45233 
45234  if (!PyArg_UnpackTuple(args, "IntervalVarElement_StartMin", 1, 1, &obj0)) SWIG_fail;
45236  if (!SWIG_IsOK(res1)) {
45237  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_StartMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45238  }
45239  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45240  {
45241  try {
45242  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->StartMin();
45243  }
45244  catch (Swig::DirectorException &e) {
45245  SWIG_fail;
45246  }
45247  }
45248  resultobj = SWIG_From_long(static_cast< long >(result));
45249  return resultobj;
45250 fail:
45251  return NULL;
45252 }
45253 
45254 
45255 SWIGINTERN PyObject *_wrap_IntervalVarElement_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45256  PyObject *resultobj = 0;
45258  void *argp1 = 0 ;
45259  int res1 = 0 ;
45260  PyObject * obj0 = 0 ;
45261  int64_t result;
45262 
45263  if (!PyArg_UnpackTuple(args, "IntervalVarElement_StartMax", 1, 1, &obj0)) SWIG_fail;
45265  if (!SWIG_IsOK(res1)) {
45266  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_StartMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45267  }
45268  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45269  {
45270  try {
45271  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->StartMax();
45272  }
45273  catch (Swig::DirectorException &e) {
45274  SWIG_fail;
45275  }
45276  }
45277  resultobj = SWIG_From_long(static_cast< long >(result));
45278  return resultobj;
45279 fail:
45280  return NULL;
45281 }
45282 
45283 
45284 SWIGINTERN PyObject *_wrap_IntervalVarElement_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45285  PyObject *resultobj = 0;
45287  void *argp1 = 0 ;
45288  int res1 = 0 ;
45289  PyObject * obj0 = 0 ;
45290  int64_t result;
45291 
45292  if (!PyArg_UnpackTuple(args, "IntervalVarElement_StartValue", 1, 1, &obj0)) SWIG_fail;
45294  if (!SWIG_IsOK(res1)) {
45295  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_StartValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45296  }
45297  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45298  {
45299  try {
45300  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->StartValue();
45301  }
45302  catch (Swig::DirectorException &e) {
45303  SWIG_fail;
45304  }
45305  }
45306  resultobj = SWIG_From_long(static_cast< long >(result));
45307  return resultobj;
45308 fail:
45309  return NULL;
45310 }
45311 
45312 
45313 SWIGINTERN PyObject *_wrap_IntervalVarElement_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45314  PyObject *resultobj = 0;
45316  void *argp1 = 0 ;
45317  int res1 = 0 ;
45318  PyObject * obj0 = 0 ;
45319  int64_t result;
45320 
45321  if (!PyArg_UnpackTuple(args, "IntervalVarElement_DurationMin", 1, 1, &obj0)) SWIG_fail;
45323  if (!SWIG_IsOK(res1)) {
45324  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_DurationMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45325  }
45326  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45327  {
45328  try {
45329  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->DurationMin();
45330  }
45331  catch (Swig::DirectorException &e) {
45332  SWIG_fail;
45333  }
45334  }
45335  resultobj = SWIG_From_long(static_cast< long >(result));
45336  return resultobj;
45337 fail:
45338  return NULL;
45339 }
45340 
45341 
45342 SWIGINTERN PyObject *_wrap_IntervalVarElement_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45343  PyObject *resultobj = 0;
45345  void *argp1 = 0 ;
45346  int res1 = 0 ;
45347  PyObject * obj0 = 0 ;
45348  int64_t result;
45349 
45350  if (!PyArg_UnpackTuple(args, "IntervalVarElement_DurationMax", 1, 1, &obj0)) SWIG_fail;
45352  if (!SWIG_IsOK(res1)) {
45353  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_DurationMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45354  }
45355  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45356  {
45357  try {
45358  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->DurationMax();
45359  }
45360  catch (Swig::DirectorException &e) {
45361  SWIG_fail;
45362  }
45363  }
45364  resultobj = SWIG_From_long(static_cast< long >(result));
45365  return resultobj;
45366 fail:
45367  return NULL;
45368 }
45369 
45370 
45371 SWIGINTERN PyObject *_wrap_IntervalVarElement_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45372  PyObject *resultobj = 0;
45374  void *argp1 = 0 ;
45375  int res1 = 0 ;
45376  PyObject * obj0 = 0 ;
45377  int64_t result;
45378 
45379  if (!PyArg_UnpackTuple(args, "IntervalVarElement_DurationValue", 1, 1, &obj0)) SWIG_fail;
45381  if (!SWIG_IsOK(res1)) {
45382  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_DurationValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45383  }
45384  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45385  {
45386  try {
45387  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->DurationValue();
45388  }
45389  catch (Swig::DirectorException &e) {
45390  SWIG_fail;
45391  }
45392  }
45393  resultobj = SWIG_From_long(static_cast< long >(result));
45394  return resultobj;
45395 fail:
45396  return NULL;
45397 }
45398 
45399 
45400 SWIGINTERN PyObject *_wrap_IntervalVarElement_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45401  PyObject *resultobj = 0;
45403  void *argp1 = 0 ;
45404  int res1 = 0 ;
45405  PyObject * obj0 = 0 ;
45406  int64_t result;
45407 
45408  if (!PyArg_UnpackTuple(args, "IntervalVarElement_EndMin", 1, 1, &obj0)) SWIG_fail;
45410  if (!SWIG_IsOK(res1)) {
45411  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_EndMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45412  }
45413  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45414  {
45415  try {
45416  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->EndMin();
45417  }
45418  catch (Swig::DirectorException &e) {
45419  SWIG_fail;
45420  }
45421  }
45422  resultobj = SWIG_From_long(static_cast< long >(result));
45423  return resultobj;
45424 fail:
45425  return NULL;
45426 }
45427 
45428 
45429 SWIGINTERN PyObject *_wrap_IntervalVarElement_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45430  PyObject *resultobj = 0;
45432  void *argp1 = 0 ;
45433  int res1 = 0 ;
45434  PyObject * obj0 = 0 ;
45435  int64_t result;
45436 
45437  if (!PyArg_UnpackTuple(args, "IntervalVarElement_EndMax", 1, 1, &obj0)) SWIG_fail;
45439  if (!SWIG_IsOK(res1)) {
45440  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_EndMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45441  }
45442  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45443  {
45444  try {
45445  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->EndMax();
45446  }
45447  catch (Swig::DirectorException &e) {
45448  SWIG_fail;
45449  }
45450  }
45451  resultobj = SWIG_From_long(static_cast< long >(result));
45452  return resultobj;
45453 fail:
45454  return NULL;
45455 }
45456 
45457 
45458 SWIGINTERN PyObject *_wrap_IntervalVarElement_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45459  PyObject *resultobj = 0;
45461  void *argp1 = 0 ;
45462  int res1 = 0 ;
45463  PyObject * obj0 = 0 ;
45464  int64_t result;
45465 
45466  if (!PyArg_UnpackTuple(args, "IntervalVarElement_EndValue", 1, 1, &obj0)) SWIG_fail;
45468  if (!SWIG_IsOK(res1)) {
45469  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_EndValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45470  }
45471  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45472  {
45473  try {
45474  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->EndValue();
45475  }
45476  catch (Swig::DirectorException &e) {
45477  SWIG_fail;
45478  }
45479  }
45480  resultobj = SWIG_From_long(static_cast< long >(result));
45481  return resultobj;
45482 fail:
45483  return NULL;
45484 }
45485 
45486 
45487 SWIGINTERN PyObject *_wrap_IntervalVarElement_PerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45488  PyObject *resultobj = 0;
45490  void *argp1 = 0 ;
45491  int res1 = 0 ;
45492  PyObject * obj0 = 0 ;
45493  int64_t result;
45494 
45495  if (!PyArg_UnpackTuple(args, "IntervalVarElement_PerformedMin", 1, 1, &obj0)) SWIG_fail;
45497  if (!SWIG_IsOK(res1)) {
45498  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_PerformedMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45499  }
45500  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45501  {
45502  try {
45503  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->PerformedMin();
45504  }
45505  catch (Swig::DirectorException &e) {
45506  SWIG_fail;
45507  }
45508  }
45509  resultobj = SWIG_From_long(static_cast< long >(result));
45510  return resultobj;
45511 fail:
45512  return NULL;
45513 }
45514 
45515 
45516 SWIGINTERN PyObject *_wrap_IntervalVarElement_PerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45517  PyObject *resultobj = 0;
45519  void *argp1 = 0 ;
45520  int res1 = 0 ;
45521  PyObject * obj0 = 0 ;
45522  int64_t result;
45523 
45524  if (!PyArg_UnpackTuple(args, "IntervalVarElement_PerformedMax", 1, 1, &obj0)) SWIG_fail;
45526  if (!SWIG_IsOK(res1)) {
45527  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_PerformedMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45528  }
45529  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45530  {
45531  try {
45532  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->PerformedMax();
45533  }
45534  catch (Swig::DirectorException &e) {
45535  SWIG_fail;
45536  }
45537  }
45538  resultobj = SWIG_From_long(static_cast< long >(result));
45539  return resultobj;
45540 fail:
45541  return NULL;
45542 }
45543 
45544 
45545 SWIGINTERN PyObject *_wrap_IntervalVarElement_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45546  PyObject *resultobj = 0;
45548  void *argp1 = 0 ;
45549  int res1 = 0 ;
45550  PyObject * obj0 = 0 ;
45551  int64_t result;
45552 
45553  if (!PyArg_UnpackTuple(args, "IntervalVarElement_PerformedValue", 1, 1, &obj0)) SWIG_fail;
45555  if (!SWIG_IsOK(res1)) {
45556  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_PerformedValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
45557  }
45558  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45559  {
45560  try {
45561  result = (int64_t)((operations_research::IntervalVarElement const *)arg1)->PerformedValue();
45562  }
45563  catch (Swig::DirectorException &e) {
45564  SWIG_fail;
45565  }
45566  }
45567  resultobj = SWIG_From_long(static_cast< long >(result));
45568  return resultobj;
45569 fail:
45570  return NULL;
45571 }
45572 
45573 
45574 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45575  PyObject *resultobj = 0;
45577  int64_t arg2 ;
45578  void *argp1 = 0 ;
45579  int res1 = 0 ;
45580  long val2 ;
45581  int ecode2 = 0 ;
45582  PyObject * obj0 = 0 ;
45583  PyObject * obj1 = 0 ;
45584 
45585  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetStartMin", 2, 2, &obj0, &obj1)) SWIG_fail;
45587  if (!SWIG_IsOK(res1)) {
45588  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetStartMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45589  }
45590  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45591  ecode2 = SWIG_AsVal_long(obj1, &val2);
45592  if (!SWIG_IsOK(ecode2)) {
45593  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetStartMin" "', argument " "2"" of type '" "int64_t""'");
45594  }
45595  arg2 = static_cast< int64_t >(val2);
45596  {
45597  try {
45598  (arg1)->SetStartMin(arg2);
45599  }
45600  catch (Swig::DirectorException &e) {
45601  SWIG_fail;
45602  }
45603  }
45604  resultobj = SWIG_Py_Void();
45605  return resultobj;
45606 fail:
45607  return NULL;
45608 }
45609 
45610 
45611 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45612  PyObject *resultobj = 0;
45614  int64_t arg2 ;
45615  void *argp1 = 0 ;
45616  int res1 = 0 ;
45617  long val2 ;
45618  int ecode2 = 0 ;
45619  PyObject * obj0 = 0 ;
45620  PyObject * obj1 = 0 ;
45621 
45622  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetStartMax", 2, 2, &obj0, &obj1)) SWIG_fail;
45624  if (!SWIG_IsOK(res1)) {
45625  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetStartMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45626  }
45627  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45628  ecode2 = SWIG_AsVal_long(obj1, &val2);
45629  if (!SWIG_IsOK(ecode2)) {
45630  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetStartMax" "', argument " "2"" of type '" "int64_t""'");
45631  }
45632  arg2 = static_cast< int64_t >(val2);
45633  {
45634  try {
45635  (arg1)->SetStartMax(arg2);
45636  }
45637  catch (Swig::DirectorException &e) {
45638  SWIG_fail;
45639  }
45640  }
45641  resultobj = SWIG_Py_Void();
45642  return resultobj;
45643 fail:
45644  return NULL;
45645 }
45646 
45647 
45648 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45649  PyObject *resultobj = 0;
45651  int64_t arg2 ;
45652  int64_t arg3 ;
45653  void *argp1 = 0 ;
45654  int res1 = 0 ;
45655  long val2 ;
45656  int ecode2 = 0 ;
45657  long val3 ;
45658  int ecode3 = 0 ;
45659  PyObject * obj0 = 0 ;
45660  PyObject * obj1 = 0 ;
45661  PyObject * obj2 = 0 ;
45662 
45663  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetStartRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
45665  if (!SWIG_IsOK(res1)) {
45666  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetStartRange" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45667  }
45668  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45669  ecode2 = SWIG_AsVal_long(obj1, &val2);
45670  if (!SWIG_IsOK(ecode2)) {
45671  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetStartRange" "', argument " "2"" of type '" "int64_t""'");
45672  }
45673  arg2 = static_cast< int64_t >(val2);
45674  ecode3 = SWIG_AsVal_long(obj2, &val3);
45675  if (!SWIG_IsOK(ecode3)) {
45676  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVarElement_SetStartRange" "', argument " "3"" of type '" "int64_t""'");
45677  }
45678  arg3 = static_cast< int64_t >(val3);
45679  {
45680  try {
45681  (arg1)->SetStartRange(arg2,arg3);
45682  }
45683  catch (Swig::DirectorException &e) {
45684  SWIG_fail;
45685  }
45686  }
45687  resultobj = SWIG_Py_Void();
45688  return resultobj;
45689 fail:
45690  return NULL;
45691 }
45692 
45693 
45694 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45695  PyObject *resultobj = 0;
45697  int64_t arg2 ;
45698  void *argp1 = 0 ;
45699  int res1 = 0 ;
45700  long val2 ;
45701  int ecode2 = 0 ;
45702  PyObject * obj0 = 0 ;
45703  PyObject * obj1 = 0 ;
45704 
45705  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetStartValue", 2, 2, &obj0, &obj1)) SWIG_fail;
45707  if (!SWIG_IsOK(res1)) {
45708  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetStartValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45709  }
45710  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45711  ecode2 = SWIG_AsVal_long(obj1, &val2);
45712  if (!SWIG_IsOK(ecode2)) {
45713  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetStartValue" "', argument " "2"" of type '" "int64_t""'");
45714  }
45715  arg2 = static_cast< int64_t >(val2);
45716  {
45717  try {
45718  (arg1)->SetStartValue(arg2);
45719  }
45720  catch (Swig::DirectorException &e) {
45721  SWIG_fail;
45722  }
45723  }
45724  resultobj = SWIG_Py_Void();
45725  return resultobj;
45726 fail:
45727  return NULL;
45728 }
45729 
45730 
45731 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45732  PyObject *resultobj = 0;
45734  int64_t arg2 ;
45735  void *argp1 = 0 ;
45736  int res1 = 0 ;
45737  long val2 ;
45738  int ecode2 = 0 ;
45739  PyObject * obj0 = 0 ;
45740  PyObject * obj1 = 0 ;
45741 
45742  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetDurationMin", 2, 2, &obj0, &obj1)) SWIG_fail;
45744  if (!SWIG_IsOK(res1)) {
45745  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetDurationMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45746  }
45747  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45748  ecode2 = SWIG_AsVal_long(obj1, &val2);
45749  if (!SWIG_IsOK(ecode2)) {
45750  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetDurationMin" "', argument " "2"" of type '" "int64_t""'");
45751  }
45752  arg2 = static_cast< int64_t >(val2);
45753  {
45754  try {
45755  (arg1)->SetDurationMin(arg2);
45756  }
45757  catch (Swig::DirectorException &e) {
45758  SWIG_fail;
45759  }
45760  }
45761  resultobj = SWIG_Py_Void();
45762  return resultobj;
45763 fail:
45764  return NULL;
45765 }
45766 
45767 
45768 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45769  PyObject *resultobj = 0;
45771  int64_t arg2 ;
45772  void *argp1 = 0 ;
45773  int res1 = 0 ;
45774  long val2 ;
45775  int ecode2 = 0 ;
45776  PyObject * obj0 = 0 ;
45777  PyObject * obj1 = 0 ;
45778 
45779  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetDurationMax", 2, 2, &obj0, &obj1)) SWIG_fail;
45781  if (!SWIG_IsOK(res1)) {
45782  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetDurationMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45783  }
45784  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45785  ecode2 = SWIG_AsVal_long(obj1, &val2);
45786  if (!SWIG_IsOK(ecode2)) {
45787  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetDurationMax" "', argument " "2"" of type '" "int64_t""'");
45788  }
45789  arg2 = static_cast< int64_t >(val2);
45790  {
45791  try {
45792  (arg1)->SetDurationMax(arg2);
45793  }
45794  catch (Swig::DirectorException &e) {
45795  SWIG_fail;
45796  }
45797  }
45798  resultobj = SWIG_Py_Void();
45799  return resultobj;
45800 fail:
45801  return NULL;
45802 }
45803 
45804 
45805 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45806  PyObject *resultobj = 0;
45808  int64_t arg2 ;
45809  int64_t arg3 ;
45810  void *argp1 = 0 ;
45811  int res1 = 0 ;
45812  long val2 ;
45813  int ecode2 = 0 ;
45814  long val3 ;
45815  int ecode3 = 0 ;
45816  PyObject * obj0 = 0 ;
45817  PyObject * obj1 = 0 ;
45818  PyObject * obj2 = 0 ;
45819 
45820  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetDurationRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
45822  if (!SWIG_IsOK(res1)) {
45823  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetDurationRange" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45824  }
45825  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45826  ecode2 = SWIG_AsVal_long(obj1, &val2);
45827  if (!SWIG_IsOK(ecode2)) {
45828  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetDurationRange" "', argument " "2"" of type '" "int64_t""'");
45829  }
45830  arg2 = static_cast< int64_t >(val2);
45831  ecode3 = SWIG_AsVal_long(obj2, &val3);
45832  if (!SWIG_IsOK(ecode3)) {
45833  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVarElement_SetDurationRange" "', argument " "3"" of type '" "int64_t""'");
45834  }
45835  arg3 = static_cast< int64_t >(val3);
45836  {
45837  try {
45838  (arg1)->SetDurationRange(arg2,arg3);
45839  }
45840  catch (Swig::DirectorException &e) {
45841  SWIG_fail;
45842  }
45843  }
45844  resultobj = SWIG_Py_Void();
45845  return resultobj;
45846 fail:
45847  return NULL;
45848 }
45849 
45850 
45851 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetDurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45852  PyObject *resultobj = 0;
45854  int64_t arg2 ;
45855  void *argp1 = 0 ;
45856  int res1 = 0 ;
45857  long val2 ;
45858  int ecode2 = 0 ;
45859  PyObject * obj0 = 0 ;
45860  PyObject * obj1 = 0 ;
45861 
45862  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetDurationValue", 2, 2, &obj0, &obj1)) SWIG_fail;
45864  if (!SWIG_IsOK(res1)) {
45865  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetDurationValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45866  }
45867  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45868  ecode2 = SWIG_AsVal_long(obj1, &val2);
45869  if (!SWIG_IsOK(ecode2)) {
45870  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetDurationValue" "', argument " "2"" of type '" "int64_t""'");
45871  }
45872  arg2 = static_cast< int64_t >(val2);
45873  {
45874  try {
45875  (arg1)->SetDurationValue(arg2);
45876  }
45877  catch (Swig::DirectorException &e) {
45878  SWIG_fail;
45879  }
45880  }
45881  resultobj = SWIG_Py_Void();
45882  return resultobj;
45883 fail:
45884  return NULL;
45885 }
45886 
45887 
45888 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45889  PyObject *resultobj = 0;
45891  int64_t arg2 ;
45892  void *argp1 = 0 ;
45893  int res1 = 0 ;
45894  long val2 ;
45895  int ecode2 = 0 ;
45896  PyObject * obj0 = 0 ;
45897  PyObject * obj1 = 0 ;
45898 
45899  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetEndMin", 2, 2, &obj0, &obj1)) SWIG_fail;
45901  if (!SWIG_IsOK(res1)) {
45902  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetEndMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45903  }
45904  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45905  ecode2 = SWIG_AsVal_long(obj1, &val2);
45906  if (!SWIG_IsOK(ecode2)) {
45907  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetEndMin" "', argument " "2"" of type '" "int64_t""'");
45908  }
45909  arg2 = static_cast< int64_t >(val2);
45910  {
45911  try {
45912  (arg1)->SetEndMin(arg2);
45913  }
45914  catch (Swig::DirectorException &e) {
45915  SWIG_fail;
45916  }
45917  }
45918  resultobj = SWIG_Py_Void();
45919  return resultobj;
45920 fail:
45921  return NULL;
45922 }
45923 
45924 
45925 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45926  PyObject *resultobj = 0;
45928  int64_t arg2 ;
45929  void *argp1 = 0 ;
45930  int res1 = 0 ;
45931  long val2 ;
45932  int ecode2 = 0 ;
45933  PyObject * obj0 = 0 ;
45934  PyObject * obj1 = 0 ;
45935 
45936  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetEndMax", 2, 2, &obj0, &obj1)) SWIG_fail;
45938  if (!SWIG_IsOK(res1)) {
45939  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetEndMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45940  }
45941  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45942  ecode2 = SWIG_AsVal_long(obj1, &val2);
45943  if (!SWIG_IsOK(ecode2)) {
45944  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetEndMax" "', argument " "2"" of type '" "int64_t""'");
45945  }
45946  arg2 = static_cast< int64_t >(val2);
45947  {
45948  try {
45949  (arg1)->SetEndMax(arg2);
45950  }
45951  catch (Swig::DirectorException &e) {
45952  SWIG_fail;
45953  }
45954  }
45955  resultobj = SWIG_Py_Void();
45956  return resultobj;
45957 fail:
45958  return NULL;
45959 }
45960 
45961 
45962 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
45963  PyObject *resultobj = 0;
45965  int64_t arg2 ;
45966  int64_t arg3 ;
45967  void *argp1 = 0 ;
45968  int res1 = 0 ;
45969  long val2 ;
45970  int ecode2 = 0 ;
45971  long val3 ;
45972  int ecode3 = 0 ;
45973  PyObject * obj0 = 0 ;
45974  PyObject * obj1 = 0 ;
45975  PyObject * obj2 = 0 ;
45976 
45977  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetEndRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
45979  if (!SWIG_IsOK(res1)) {
45980  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetEndRange" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
45981  }
45982  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
45983  ecode2 = SWIG_AsVal_long(obj1, &val2);
45984  if (!SWIG_IsOK(ecode2)) {
45985  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetEndRange" "', argument " "2"" of type '" "int64_t""'");
45986  }
45987  arg2 = static_cast< int64_t >(val2);
45988  ecode3 = SWIG_AsVal_long(obj2, &val3);
45989  if (!SWIG_IsOK(ecode3)) {
45990  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVarElement_SetEndRange" "', argument " "3"" of type '" "int64_t""'");
45991  }
45992  arg3 = static_cast< int64_t >(val3);
45993  {
45994  try {
45995  (arg1)->SetEndRange(arg2,arg3);
45996  }
45997  catch (Swig::DirectorException &e) {
45998  SWIG_fail;
45999  }
46000  }
46001  resultobj = SWIG_Py_Void();
46002  return resultobj;
46003 fail:
46004  return NULL;
46005 }
46006 
46007 
46008 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetEndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46009  PyObject *resultobj = 0;
46011  int64_t arg2 ;
46012  void *argp1 = 0 ;
46013  int res1 = 0 ;
46014  long val2 ;
46015  int ecode2 = 0 ;
46016  PyObject * obj0 = 0 ;
46017  PyObject * obj1 = 0 ;
46018 
46019  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetEndValue", 2, 2, &obj0, &obj1)) SWIG_fail;
46021  if (!SWIG_IsOK(res1)) {
46022  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetEndValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46023  }
46024  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46025  ecode2 = SWIG_AsVal_long(obj1, &val2);
46026  if (!SWIG_IsOK(ecode2)) {
46027  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetEndValue" "', argument " "2"" of type '" "int64_t""'");
46028  }
46029  arg2 = static_cast< int64_t >(val2);
46030  {
46031  try {
46032  (arg1)->SetEndValue(arg2);
46033  }
46034  catch (Swig::DirectorException &e) {
46035  SWIG_fail;
46036  }
46037  }
46038  resultobj = SWIG_Py_Void();
46039  return resultobj;
46040 fail:
46041  return NULL;
46042 }
46043 
46044 
46045 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetPerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46046  PyObject *resultobj = 0;
46048  int64_t arg2 ;
46049  void *argp1 = 0 ;
46050  int res1 = 0 ;
46051  long val2 ;
46052  int ecode2 = 0 ;
46053  PyObject * obj0 = 0 ;
46054  PyObject * obj1 = 0 ;
46055 
46056  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetPerformedMin", 2, 2, &obj0, &obj1)) SWIG_fail;
46058  if (!SWIG_IsOK(res1)) {
46059  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetPerformedMin" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46060  }
46061  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46062  ecode2 = SWIG_AsVal_long(obj1, &val2);
46063  if (!SWIG_IsOK(ecode2)) {
46064  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetPerformedMin" "', argument " "2"" of type '" "int64_t""'");
46065  }
46066  arg2 = static_cast< int64_t >(val2);
46067  {
46068  try {
46069  (arg1)->SetPerformedMin(arg2);
46070  }
46071  catch (Swig::DirectorException &e) {
46072  SWIG_fail;
46073  }
46074  }
46075  resultobj = SWIG_Py_Void();
46076  return resultobj;
46077 fail:
46078  return NULL;
46079 }
46080 
46081 
46082 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetPerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46083  PyObject *resultobj = 0;
46085  int64_t arg2 ;
46086  void *argp1 = 0 ;
46087  int res1 = 0 ;
46088  long val2 ;
46089  int ecode2 = 0 ;
46090  PyObject * obj0 = 0 ;
46091  PyObject * obj1 = 0 ;
46092 
46093  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetPerformedMax", 2, 2, &obj0, &obj1)) SWIG_fail;
46095  if (!SWIG_IsOK(res1)) {
46096  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetPerformedMax" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46097  }
46098  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46099  ecode2 = SWIG_AsVal_long(obj1, &val2);
46100  if (!SWIG_IsOK(ecode2)) {
46101  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetPerformedMax" "', argument " "2"" of type '" "int64_t""'");
46102  }
46103  arg2 = static_cast< int64_t >(val2);
46104  {
46105  try {
46106  (arg1)->SetPerformedMax(arg2);
46107  }
46108  catch (Swig::DirectorException &e) {
46109  SWIG_fail;
46110  }
46111  }
46112  resultobj = SWIG_Py_Void();
46113  return resultobj;
46114 fail:
46115  return NULL;
46116 }
46117 
46118 
46119 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetPerformedRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46120  PyObject *resultobj = 0;
46122  int64_t arg2 ;
46123  int64_t arg3 ;
46124  void *argp1 = 0 ;
46125  int res1 = 0 ;
46126  long val2 ;
46127  int ecode2 = 0 ;
46128  long val3 ;
46129  int ecode3 = 0 ;
46130  PyObject * obj0 = 0 ;
46131  PyObject * obj1 = 0 ;
46132  PyObject * obj2 = 0 ;
46133 
46134  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetPerformedRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
46136  if (!SWIG_IsOK(res1)) {
46137  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetPerformedRange" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46138  }
46139  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46140  ecode2 = SWIG_AsVal_long(obj1, &val2);
46141  if (!SWIG_IsOK(ecode2)) {
46142  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetPerformedRange" "', argument " "2"" of type '" "int64_t""'");
46143  }
46144  arg2 = static_cast< int64_t >(val2);
46145  ecode3 = SWIG_AsVal_long(obj2, &val3);
46146  if (!SWIG_IsOK(ecode3)) {
46147  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntervalVarElement_SetPerformedRange" "', argument " "3"" of type '" "int64_t""'");
46148  }
46149  arg3 = static_cast< int64_t >(val3);
46150  {
46151  try {
46152  (arg1)->SetPerformedRange(arg2,arg3);
46153  }
46154  catch (Swig::DirectorException &e) {
46155  SWIG_fail;
46156  }
46157  }
46158  resultobj = SWIG_Py_Void();
46159  return resultobj;
46160 fail:
46161  return NULL;
46162 }
46163 
46164 
46165 SWIGINTERN PyObject *_wrap_IntervalVarElement_SetPerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46166  PyObject *resultobj = 0;
46168  int64_t arg2 ;
46169  void *argp1 = 0 ;
46170  int res1 = 0 ;
46171  long val2 ;
46172  int ecode2 = 0 ;
46173  PyObject * obj0 = 0 ;
46174  PyObject * obj1 = 0 ;
46175 
46176  if (!PyArg_UnpackTuple(args, "IntervalVarElement_SetPerformedValue", 2, 2, &obj0, &obj1)) SWIG_fail;
46178  if (!SWIG_IsOK(res1)) {
46179  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement_SetPerformedValue" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46180  }
46181  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46182  ecode2 = SWIG_AsVal_long(obj1, &val2);
46183  if (!SWIG_IsOK(ecode2)) {
46184  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarElement_SetPerformedValue" "', argument " "2"" of type '" "int64_t""'");
46185  }
46186  arg2 = static_cast< int64_t >(val2);
46187  {
46188  try {
46189  (arg1)->SetPerformedValue(arg2);
46190  }
46191  catch (Swig::DirectorException &e) {
46192  SWIG_fail;
46193  }
46194  }
46195  resultobj = SWIG_Py_Void();
46196  return resultobj;
46197 fail:
46198  return NULL;
46199 }
46200 
46201 
46202 SWIGINTERN PyObject *_wrap_IntervalVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46203  PyObject *resultobj = 0;
46206  void *argp1 = 0 ;
46207  int res1 = 0 ;
46208  void *argp2 = 0 ;
46209  int res2 = 0 ;
46210  PyObject * obj0 = 0 ;
46211  PyObject * obj1 = 0 ;
46212  bool result;
46213 
46214  if (!PyArg_UnpackTuple(args, "IntervalVarElement___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
46216  if (!SWIG_IsOK(res1)) {
46217  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement___eq__" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
46218  }
46219  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46221  if (!SWIG_IsOK(res2)) {
46222  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVarElement___eq__" "', argument " "2"" of type '" "operations_research::IntervalVarElement const &""'");
46223  }
46224  if (!argp2) {
46225  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntervalVarElement___eq__" "', argument " "2"" of type '" "operations_research::IntervalVarElement const &""'");
46226  }
46227  arg2 = reinterpret_cast< operations_research::IntervalVarElement * >(argp2);
46228  {
46229  try {
46230  result = (bool)((operations_research::IntervalVarElement const *)arg1)->operator ==((operations_research::IntervalVarElement const &)*arg2);
46231  }
46232  catch (Swig::DirectorException &e) {
46233  SWIG_fail;
46234  }
46235  }
46236  resultobj = SWIG_From_bool(static_cast< bool >(result));
46237  return resultobj;
46238 fail:
46239  PyErr_Clear();
46240  Py_INCREF(Py_NotImplemented);
46241  return Py_NotImplemented;
46242 }
46243 
46244 
46245 SWIGINTERN PyObject *_wrap_IntervalVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46246  PyObject *resultobj = 0;
46249  void *argp1 = 0 ;
46250  int res1 = 0 ;
46251  void *argp2 = 0 ;
46252  int res2 = 0 ;
46253  PyObject * obj0 = 0 ;
46254  PyObject * obj1 = 0 ;
46255  bool result;
46256 
46257  if (!PyArg_UnpackTuple(args, "IntervalVarElement___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
46259  if (!SWIG_IsOK(res1)) {
46260  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarElement___ne__" "', argument " "1"" of type '" "operations_research::IntervalVarElement const *""'");
46261  }
46262  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46264  if (!SWIG_IsOK(res2)) {
46265  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVarElement___ne__" "', argument " "2"" of type '" "operations_research::IntervalVarElement const &""'");
46266  }
46267  if (!argp2) {
46268  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntervalVarElement___ne__" "', argument " "2"" of type '" "operations_research::IntervalVarElement const &""'");
46269  }
46270  arg2 = reinterpret_cast< operations_research::IntervalVarElement * >(argp2);
46271  {
46272  try {
46273  result = (bool)((operations_research::IntervalVarElement const *)arg1)->operator !=((operations_research::IntervalVarElement const &)*arg2);
46274  }
46275  catch (Swig::DirectorException &e) {
46276  SWIG_fail;
46277  }
46278  }
46279  resultobj = SWIG_From_bool(static_cast< bool >(result));
46280  return resultobj;
46281 fail:
46282  PyErr_Clear();
46283  Py_INCREF(Py_NotImplemented);
46284  return Py_NotImplemented;
46285 }
46286 
46287 
46288 SWIGINTERN PyObject *_wrap_delete_IntervalVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46289  PyObject *resultobj = 0;
46291  void *argp1 = 0 ;
46292  int res1 = 0 ;
46293  PyObject * obj0 = 0 ;
46294 
46295  if (!PyArg_UnpackTuple(args, "delete_IntervalVarElement", 1, 1, &obj0)) SWIG_fail;
46297  if (!SWIG_IsOK(res1)) {
46298  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntervalVarElement" "', argument " "1"" of type '" "operations_research::IntervalVarElement *""'");
46299  }
46300  arg1 = reinterpret_cast< operations_research::IntervalVarElement * >(argp1);
46301  {
46302  try {
46303  delete arg1;
46304  }
46305  catch (Swig::DirectorException &e) {
46306  SWIG_fail;
46307  }
46308  }
46309  resultobj = SWIG_Py_Void();
46310  return resultobj;
46311 fail:
46312  return NULL;
46313 }
46314 
46315 
46316 SWIGINTERN PyObject *IntervalVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46317  PyObject *obj;
46318  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
46320  return SWIG_Py_Void();
46321 }
46322 
46323 SWIGINTERN PyObject *_wrap_SequenceVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46324  PyObject *resultobj = 0;
46326  void *argp1 = 0 ;
46327  int res1 = 0 ;
46328  PyObject * obj0 = 0 ;
46329  operations_research::SequenceVar *result = 0 ;
46330 
46331  if (!PyArg_UnpackTuple(args, "SequenceVarElement_Var", 1, 1, &obj0)) SWIG_fail;
46333  if (!SWIG_IsOK(res1)) {
46334  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_Var" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46335  }
46336  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46337  {
46338  try {
46340  }
46341  catch (Swig::DirectorException &e) {
46342  SWIG_fail;
46343  }
46344  }
46346  return resultobj;
46347 fail:
46348  return NULL;
46349 }
46350 
46351 
46352 SWIGINTERN PyObject *_wrap_SequenceVarElement_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46353  PyObject *resultobj = 0;
46355  void *argp1 = 0 ;
46356  int res1 = 0 ;
46357  PyObject * obj0 = 0 ;
46358  std::vector< int > *result = 0 ;
46359 
46360  if (!PyArg_UnpackTuple(args, "SequenceVarElement_ForwardSequence", 1, 1, &obj0)) SWIG_fail;
46362  if (!SWIG_IsOK(res1)) {
46363  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_ForwardSequence" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46364  }
46365  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46366  {
46367  try {
46368  result = (std::vector< int > *) &((operations_research::SequenceVarElement const *)arg1)->ForwardSequence();
46369  }
46370  catch (Swig::DirectorException &e) {
46371  SWIG_fail;
46372  }
46373  }
46374  {
46375  resultobj = vector_output_helper(result, &PyInt_FromLong);
46376  }
46377  return resultobj;
46378 fail:
46379  return NULL;
46380 }
46381 
46382 
46383 SWIGINTERN PyObject *_wrap_SequenceVarElement_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46384  PyObject *resultobj = 0;
46386  void *argp1 = 0 ;
46387  int res1 = 0 ;
46388  PyObject * obj0 = 0 ;
46389  std::vector< int > *result = 0 ;
46390 
46391  if (!PyArg_UnpackTuple(args, "SequenceVarElement_BackwardSequence", 1, 1, &obj0)) SWIG_fail;
46393  if (!SWIG_IsOK(res1)) {
46394  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_BackwardSequence" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46395  }
46396  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46397  {
46398  try {
46399  result = (std::vector< int > *) &((operations_research::SequenceVarElement const *)arg1)->BackwardSequence();
46400  }
46401  catch (Swig::DirectorException &e) {
46402  SWIG_fail;
46403  }
46404  }
46405  {
46406  resultobj = vector_output_helper(result, &PyInt_FromLong);
46407  }
46408  return resultobj;
46409 fail:
46410  return NULL;
46411 }
46412 
46413 
46414 SWIGINTERN PyObject *_wrap_SequenceVarElement_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46415  PyObject *resultobj = 0;
46417  void *argp1 = 0 ;
46418  int res1 = 0 ;
46419  PyObject * obj0 = 0 ;
46420  std::vector< int > *result = 0 ;
46421 
46422  if (!PyArg_UnpackTuple(args, "SequenceVarElement_Unperformed", 1, 1, &obj0)) SWIG_fail;
46424  if (!SWIG_IsOK(res1)) {
46425  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_Unperformed" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46426  }
46427  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46428  {
46429  try {
46430  result = (std::vector< int > *) &((operations_research::SequenceVarElement const *)arg1)->Unperformed();
46431  }
46432  catch (Swig::DirectorException &e) {
46433  SWIG_fail;
46434  }
46435  }
46436  {
46437  resultobj = vector_output_helper(result, &PyInt_FromLong);
46438  }
46439  return resultobj;
46440 fail:
46441  return NULL;
46442 }
46443 
46444 
46445 SWIGINTERN PyObject *_wrap_SequenceVarElement_SetSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46446  PyObject *resultobj = 0;
46448  std::vector< int > *arg2 = 0 ;
46449  std::vector< int > *arg3 = 0 ;
46450  std::vector< int > *arg4 = 0 ;
46451  void *argp1 = 0 ;
46452  int res1 = 0 ;
46453  std::vector< int > temp2 ;
46454  std::vector< int > temp3 ;
46455  std::vector< int > temp4 ;
46456  PyObject * obj0 = 0 ;
46457  PyObject * obj1 = 0 ;
46458  PyObject * obj2 = 0 ;
46459  PyObject * obj3 = 0 ;
46460 
46461  if (!PyArg_UnpackTuple(args, "SequenceVarElement_SetSequence", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
46463  if (!SWIG_IsOK(res1)) {
46464  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_SetSequence" "', argument " "1"" of type '" "operations_research::SequenceVarElement *""'");
46465  }
46466  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46467  {
46468  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
46469  if (!PyErr_Occurred())
46470  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46471  return NULL;
46472  }
46473  arg2 = &temp2;
46474  }
46475  {
46476  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
46477  if (!PyErr_Occurred())
46478  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46479  return NULL;
46480  }
46481  arg3 = &temp3;
46482  }
46483  {
46484  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
46485  if (!PyErr_Occurred())
46486  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46487  return NULL;
46488  }
46489  arg4 = &temp4;
46490  }
46491  {
46492  try {
46493  (arg1)->SetSequence((std::vector< int > const &)*arg2,(std::vector< int > const &)*arg3,(std::vector< int > const &)*arg4);
46494  }
46495  catch (Swig::DirectorException &e) {
46496  SWIG_fail;
46497  }
46498  }
46499  resultobj = SWIG_Py_Void();
46500  return resultobj;
46501 fail:
46502  return NULL;
46503 }
46504 
46505 
46506 SWIGINTERN PyObject *_wrap_SequenceVarElement_SetForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46507  PyObject *resultobj = 0;
46509  std::vector< int > *arg2 = 0 ;
46510  void *argp1 = 0 ;
46511  int res1 = 0 ;
46512  std::vector< int > temp2 ;
46513  PyObject * obj0 = 0 ;
46514  PyObject * obj1 = 0 ;
46515 
46516  if (!PyArg_UnpackTuple(args, "SequenceVarElement_SetForwardSequence", 2, 2, &obj0, &obj1)) SWIG_fail;
46518  if (!SWIG_IsOK(res1)) {
46519  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_SetForwardSequence" "', argument " "1"" of type '" "operations_research::SequenceVarElement *""'");
46520  }
46521  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46522  {
46523  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
46524  if (!PyErr_Occurred())
46525  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46526  return NULL;
46527  }
46528  arg2 = &temp2;
46529  }
46530  {
46531  try {
46532  (arg1)->SetForwardSequence((std::vector< int > const &)*arg2);
46533  }
46534  catch (Swig::DirectorException &e) {
46535  SWIG_fail;
46536  }
46537  }
46538  resultobj = SWIG_Py_Void();
46539  return resultobj;
46540 fail:
46541  return NULL;
46542 }
46543 
46544 
46545 SWIGINTERN PyObject *_wrap_SequenceVarElement_SetBackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46546  PyObject *resultobj = 0;
46548  std::vector< int > *arg2 = 0 ;
46549  void *argp1 = 0 ;
46550  int res1 = 0 ;
46551  std::vector< int > temp2 ;
46552  PyObject * obj0 = 0 ;
46553  PyObject * obj1 = 0 ;
46554 
46555  if (!PyArg_UnpackTuple(args, "SequenceVarElement_SetBackwardSequence", 2, 2, &obj0, &obj1)) SWIG_fail;
46557  if (!SWIG_IsOK(res1)) {
46558  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_SetBackwardSequence" "', argument " "1"" of type '" "operations_research::SequenceVarElement *""'");
46559  }
46560  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46561  {
46562  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
46563  if (!PyErr_Occurred())
46564  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46565  return NULL;
46566  }
46567  arg2 = &temp2;
46568  }
46569  {
46570  try {
46571  (arg1)->SetBackwardSequence((std::vector< int > const &)*arg2);
46572  }
46573  catch (Swig::DirectorException &e) {
46574  SWIG_fail;
46575  }
46576  }
46577  resultobj = SWIG_Py_Void();
46578  return resultobj;
46579 fail:
46580  return NULL;
46581 }
46582 
46583 
46584 SWIGINTERN PyObject *_wrap_SequenceVarElement_SetUnperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46585  PyObject *resultobj = 0;
46587  std::vector< int > *arg2 = 0 ;
46588  void *argp1 = 0 ;
46589  int res1 = 0 ;
46590  std::vector< int > temp2 ;
46591  PyObject * obj0 = 0 ;
46592  PyObject * obj1 = 0 ;
46593 
46594  if (!PyArg_UnpackTuple(args, "SequenceVarElement_SetUnperformed", 2, 2, &obj0, &obj1)) SWIG_fail;
46596  if (!SWIG_IsOK(res1)) {
46597  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement_SetUnperformed" "', argument " "1"" of type '" "operations_research::SequenceVarElement *""'");
46598  }
46599  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46600  {
46601  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
46602  if (!PyErr_Occurred())
46603  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
46604  return NULL;
46605  }
46606  arg2 = &temp2;
46607  }
46608  {
46609  try {
46610  (arg1)->SetUnperformed((std::vector< int > const &)*arg2);
46611  }
46612  catch (Swig::DirectorException &e) {
46613  SWIG_fail;
46614  }
46615  }
46616  resultobj = SWIG_Py_Void();
46617  return resultobj;
46618 fail:
46619  return NULL;
46620 }
46621 
46622 
46623 SWIGINTERN PyObject *_wrap_SequenceVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46624  PyObject *resultobj = 0;
46627  void *argp1 = 0 ;
46628  int res1 = 0 ;
46629  void *argp2 = 0 ;
46630  int res2 = 0 ;
46631  PyObject * obj0 = 0 ;
46632  PyObject * obj1 = 0 ;
46633  bool result;
46634 
46635  if (!PyArg_UnpackTuple(args, "SequenceVarElement___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
46637  if (!SWIG_IsOK(res1)) {
46638  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement___eq__" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46639  }
46640  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46642  if (!SWIG_IsOK(res2)) {
46643  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SequenceVarElement___eq__" "', argument " "2"" of type '" "operations_research::SequenceVarElement const &""'");
46644  }
46645  if (!argp2) {
46646  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SequenceVarElement___eq__" "', argument " "2"" of type '" "operations_research::SequenceVarElement const &""'");
46647  }
46648  arg2 = reinterpret_cast< operations_research::SequenceVarElement * >(argp2);
46649  {
46650  try {
46651  result = (bool)((operations_research::SequenceVarElement const *)arg1)->operator ==((operations_research::SequenceVarElement const &)*arg2);
46652  }
46653  catch (Swig::DirectorException &e) {
46654  SWIG_fail;
46655  }
46656  }
46657  resultobj = SWIG_From_bool(static_cast< bool >(result));
46658  return resultobj;
46659 fail:
46660  PyErr_Clear();
46661  Py_INCREF(Py_NotImplemented);
46662  return Py_NotImplemented;
46663 }
46664 
46665 
46666 SWIGINTERN PyObject *_wrap_SequenceVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46667  PyObject *resultobj = 0;
46670  void *argp1 = 0 ;
46671  int res1 = 0 ;
46672  void *argp2 = 0 ;
46673  int res2 = 0 ;
46674  PyObject * obj0 = 0 ;
46675  PyObject * obj1 = 0 ;
46676  bool result;
46677 
46678  if (!PyArg_UnpackTuple(args, "SequenceVarElement___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
46680  if (!SWIG_IsOK(res1)) {
46681  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarElement___ne__" "', argument " "1"" of type '" "operations_research::SequenceVarElement const *""'");
46682  }
46683  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46685  if (!SWIG_IsOK(res2)) {
46686  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SequenceVarElement___ne__" "', argument " "2"" of type '" "operations_research::SequenceVarElement const &""'");
46687  }
46688  if (!argp2) {
46689  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SequenceVarElement___ne__" "', argument " "2"" of type '" "operations_research::SequenceVarElement const &""'");
46690  }
46691  arg2 = reinterpret_cast< operations_research::SequenceVarElement * >(argp2);
46692  {
46693  try {
46694  result = (bool)((operations_research::SequenceVarElement const *)arg1)->operator !=((operations_research::SequenceVarElement const &)*arg2);
46695  }
46696  catch (Swig::DirectorException &e) {
46697  SWIG_fail;
46698  }
46699  }
46700  resultobj = SWIG_From_bool(static_cast< bool >(result));
46701  return resultobj;
46702 fail:
46703  PyErr_Clear();
46704  Py_INCREF(Py_NotImplemented);
46705  return Py_NotImplemented;
46706 }
46707 
46708 
46709 SWIGINTERN PyObject *_wrap_delete_SequenceVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46710  PyObject *resultobj = 0;
46712  void *argp1 = 0 ;
46713  int res1 = 0 ;
46714  PyObject * obj0 = 0 ;
46715 
46716  if (!PyArg_UnpackTuple(args, "delete_SequenceVarElement", 1, 1, &obj0)) SWIG_fail;
46718  if (!SWIG_IsOK(res1)) {
46719  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SequenceVarElement" "', argument " "1"" of type '" "operations_research::SequenceVarElement *""'");
46720  }
46721  arg1 = reinterpret_cast< operations_research::SequenceVarElement * >(argp1);
46722  {
46723  try {
46724  delete arg1;
46725  }
46726  catch (Swig::DirectorException &e) {
46727  SWIG_fail;
46728  }
46729  }
46730  resultobj = SWIG_Py_Void();
46731  return resultobj;
46732 fail:
46733  return NULL;
46734 }
46735 
46736 
46737 SWIGINTERN PyObject *SequenceVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46738  PyObject *obj;
46739  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
46741  return SWIG_Py_Void();
46742 }
46743 
46744 SWIGINTERN PyObject *_wrap_Assignment_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46745  PyObject *resultobj = 0;
46747  void *argp1 = 0 ;
46748  int res1 = 0 ;
46749  PyObject * obj0 = 0 ;
46750 
46751  if (!PyArg_UnpackTuple(args, "Assignment_Clear", 1, 1, &obj0)) SWIG_fail;
46752  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46753  if (!SWIG_IsOK(res1)) {
46754  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Clear" "', argument " "1"" of type '" "operations_research::Assignment *""'");
46755  }
46756  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46757  {
46758  try {
46759  (arg1)->Clear();
46760  }
46761  catch (Swig::DirectorException &e) {
46762  SWIG_fail;
46763  }
46764  }
46765  resultobj = SWIG_Py_Void();
46766  return resultobj;
46767 fail:
46768  return NULL;
46769 }
46770 
46771 
46772 SWIGINTERN PyObject *_wrap_Assignment_Empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46773  PyObject *resultobj = 0;
46775  void *argp1 = 0 ;
46776  int res1 = 0 ;
46777  PyObject * obj0 = 0 ;
46778  bool result;
46779 
46780  if (!PyArg_UnpackTuple(args, "Assignment_Empty", 1, 1, &obj0)) SWIG_fail;
46781  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46782  if (!SWIG_IsOK(res1)) {
46783  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Empty" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
46784  }
46785  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46786  {
46787  try {
46788  result = (bool)((operations_research::Assignment const *)arg1)->Empty();
46789  }
46790  catch (Swig::DirectorException &e) {
46791  SWIG_fail;
46792  }
46793  }
46794  resultobj = SWIG_From_bool(static_cast< bool >(result));
46795  return resultobj;
46796 fail:
46797  return NULL;
46798 }
46799 
46800 
46801 SWIGINTERN PyObject *_wrap_Assignment_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46802  PyObject *resultobj = 0;
46804  void *argp1 = 0 ;
46805  int res1 = 0 ;
46806  PyObject * obj0 = 0 ;
46807  int result;
46808 
46809  if (!PyArg_UnpackTuple(args, "Assignment_Size", 1, 1, &obj0)) SWIG_fail;
46810  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46811  if (!SWIG_IsOK(res1)) {
46812  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Size" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
46813  }
46814  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46815  {
46816  try {
46817  result = (int)((operations_research::Assignment const *)arg1)->Size();
46818  }
46819  catch (Swig::DirectorException &e) {
46820  SWIG_fail;
46821  }
46822  }
46823  resultobj = SWIG_From_int(static_cast< int >(result));
46824  return resultobj;
46825 fail:
46826  return NULL;
46827 }
46828 
46829 
46830 SWIGINTERN PyObject *_wrap_Assignment_NumIntVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46831  PyObject *resultobj = 0;
46833  void *argp1 = 0 ;
46834  int res1 = 0 ;
46835  PyObject * obj0 = 0 ;
46836  int result;
46837 
46838  if (!PyArg_UnpackTuple(args, "Assignment_NumIntVars", 1, 1, &obj0)) SWIG_fail;
46839  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46840  if (!SWIG_IsOK(res1)) {
46841  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_NumIntVars" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
46842  }
46843  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46844  {
46845  try {
46846  result = (int)((operations_research::Assignment const *)arg1)->NumIntVars();
46847  }
46848  catch (Swig::DirectorException &e) {
46849  SWIG_fail;
46850  }
46851  }
46852  resultobj = SWIG_From_int(static_cast< int >(result));
46853  return resultobj;
46854 fail:
46855  return NULL;
46856 }
46857 
46858 
46859 SWIGINTERN PyObject *_wrap_Assignment_NumIntervalVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46860  PyObject *resultobj = 0;
46862  void *argp1 = 0 ;
46863  int res1 = 0 ;
46864  PyObject * obj0 = 0 ;
46865  int result;
46866 
46867  if (!PyArg_UnpackTuple(args, "Assignment_NumIntervalVars", 1, 1, &obj0)) SWIG_fail;
46868  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46869  if (!SWIG_IsOK(res1)) {
46870  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_NumIntervalVars" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
46871  }
46872  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46873  {
46874  try {
46875  result = (int)((operations_research::Assignment const *)arg1)->NumIntervalVars();
46876  }
46877  catch (Swig::DirectorException &e) {
46878  SWIG_fail;
46879  }
46880  }
46881  resultobj = SWIG_From_int(static_cast< int >(result));
46882  return resultobj;
46883 fail:
46884  return NULL;
46885 }
46886 
46887 
46888 SWIGINTERN PyObject *_wrap_Assignment_NumSequenceVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46889  PyObject *resultobj = 0;
46891  void *argp1 = 0 ;
46892  int res1 = 0 ;
46893  PyObject * obj0 = 0 ;
46894  int result;
46895 
46896  if (!PyArg_UnpackTuple(args, "Assignment_NumSequenceVars", 1, 1, &obj0)) SWIG_fail;
46897  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46898  if (!SWIG_IsOK(res1)) {
46899  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_NumSequenceVars" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
46900  }
46901  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46902  {
46903  try {
46904  result = (int)((operations_research::Assignment const *)arg1)->NumSequenceVars();
46905  }
46906  catch (Swig::DirectorException &e) {
46907  SWIG_fail;
46908  }
46909  }
46910  resultobj = SWIG_From_int(static_cast< int >(result));
46911  return resultobj;
46912 fail:
46913  return NULL;
46914 }
46915 
46916 
46917 SWIGINTERN PyObject *_wrap_Assignment_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46918  PyObject *resultobj = 0;
46920  void *argp1 = 0 ;
46921  int res1 = 0 ;
46922  PyObject * obj0 = 0 ;
46923 
46924  if (!PyArg_UnpackTuple(args, "Assignment_Store", 1, 1, &obj0)) SWIG_fail;
46925  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46926  if (!SWIG_IsOK(res1)) {
46927  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Store" "', argument " "1"" of type '" "operations_research::Assignment *""'");
46928  }
46929  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46930  {
46931  try {
46932  (arg1)->Store();
46933  }
46934  catch (Swig::DirectorException &e) {
46935  SWIG_fail;
46936  }
46937  }
46938  resultobj = SWIG_Py_Void();
46939  return resultobj;
46940 fail:
46941  return NULL;
46942 }
46943 
46944 
46945 SWIGINTERN PyObject *_wrap_Assignment_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46946  PyObject *resultobj = 0;
46948  void *argp1 = 0 ;
46949  int res1 = 0 ;
46950  PyObject * obj0 = 0 ;
46951 
46952  if (!PyArg_UnpackTuple(args, "Assignment_Restore", 1, 1, &obj0)) SWIG_fail;
46953  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46954  if (!SWIG_IsOK(res1)) {
46955  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Restore" "', argument " "1"" of type '" "operations_research::Assignment *""'");
46956  }
46957  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46958  {
46959  try {
46960  (arg1)->Restore();
46961  }
46962  catch (Swig::DirectorException &e) {
46963  SWIG_fail;
46964  }
46965  }
46966  resultobj = SWIG_Py_Void();
46967  return resultobj;
46968 fail:
46969  return NULL;
46970 }
46971 
46972 
46973 SWIGINTERN PyObject *_wrap_Assignment_Load__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
46974  PyObject *resultobj = 0;
46976  std::string *arg2 = 0 ;
46977  void *argp1 = 0 ;
46978  int res1 = 0 ;
46979  int res2 = SWIG_OLDOBJ ;
46980  PyObject * obj0 = 0 ;
46981  PyObject * obj1 = 0 ;
46982  bool result;
46983 
46984  if (!PyArg_UnpackTuple(args, "Assignment_Load", 2, 2, &obj0, &obj1)) SWIG_fail;
46985  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
46986  if (!SWIG_IsOK(res1)) {
46987  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Load" "', argument " "1"" of type '" "operations_research::Assignment *""'");
46988  }
46989  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
46990  {
46991  std::string *ptr = (std::string *)0;
46992  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
46993  if (!SWIG_IsOK(res2)) {
46994  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Assignment_Load" "', argument " "2"" of type '" "std::string const &""'");
46995  }
46996  if (!ptr) {
46997  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Assignment_Load" "', argument " "2"" of type '" "std::string const &""'");
46998  }
46999  arg2 = ptr;
47000  }
47001  {
47002  try {
47003  result = (bool)(arg1)->Load((std::string const &)*arg2);
47004  }
47005  catch (Swig::DirectorException &e) {
47006  SWIG_fail;
47007  }
47008  }
47009  resultobj = SWIG_From_bool(static_cast< bool >(result));
47010  if (SWIG_IsNewObj(res2)) delete arg2;
47011  return resultobj;
47012 fail:
47013  if (SWIG_IsNewObj(res2)) delete arg2;
47014  return NULL;
47015 }
47016 
47017 
47018 SWIGINTERN PyObject *_wrap_Assignment_Load__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47019  PyObject *resultobj = 0;
47022  void *argp1 = 0 ;
47023  int res1 = 0 ;
47024  PyObject * obj0 = 0 ;
47025  PyObject * obj1 = 0 ;
47026 
47027  if (!PyArg_UnpackTuple(args, "Assignment_Load", 2, 2, &obj0, &obj1)) SWIG_fail;
47028  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47029  if (!SWIG_IsOK(res1)) {
47030  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Load" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47031  }
47032  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47033  {
47035  PyObject* const pyresult = PyObject_CallMethod(
47036  obj1, const_cast<char*>("SerializeToString"), nullptr);
47037  if (pyresult != nullptr) {
47038  char* buffer = nullptr;
47039  Py_ssize_t length = 0;
47040  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
47041  if (buffer != nullptr) {
47042  arg2->ParseFromArray(buffer, length);
47043  }
47044  Py_DECREF(pyresult);
47045  }
47046  }
47047  {
47048  try {
47049  (arg1)->Load((operations_research::AssignmentProto const &)*arg2);
47050  }
47051  catch (Swig::DirectorException &e) {
47052  SWIG_fail;
47053  }
47054  }
47055  resultobj = SWIG_Py_Void();
47056  {
47057  delete arg2;
47058  }
47059  return resultobj;
47060 fail:
47061  {
47062  delete arg2;
47063  }
47064  return NULL;
47065 }
47066 
47067 
47068 SWIGINTERN PyObject *_wrap_Assignment_Load(PyObject *self, PyObject *args) {
47069  Py_ssize_t argc;
47070  PyObject *argv[3] = {
47071  0
47072  };
47073  Py_ssize_t ii;
47074 
47075  if (!PyTuple_Check(args)) SWIG_fail;
47076  argc = PyObject_Length(args);
47077  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
47078  argv[ii] = PyTuple_GET_ITEM(args,ii);
47079  }
47080  if (argc == 2) {
47081  int _v;
47082  void *vptr = 0;
47083  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
47084  _v = SWIG_CheckState(res);
47085  if (_v) {
47086  {
47087  bool ok = false;
47088  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.assignment_pb2");
47089  if (module != nullptr) {
47090  PyObject* const dict = PyModule_GetDict(module);
47091  if (dict != nullptr) {
47092  PyObject* const clss = PyDict_GetItemString(dict, "AssignmentProto");
47093  if (clss != nullptr) {
47094  if (PyObject_IsInstance(argv[1], clss)) {
47095  ok = true;
47096  }
47097  }
47098  }
47099  Py_DECREF(module);
47100  }
47101  _v = ok ? 1 : 0;
47102  }
47103  if (_v) {
47104  return _wrap_Assignment_Load__SWIG_1(self, args);
47105  }
47106  }
47107  }
47108  if (argc == 2) {
47109  int _v;
47110  void *vptr = 0;
47111  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
47112  _v = SWIG_CheckState(res);
47113  if (_v) {
47114  int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
47115  _v = SWIG_CheckState(res);
47116  if (_v) {
47117  return _wrap_Assignment_Load__SWIG_0(self, args);
47118  }
47119  }
47120  }
47121 
47122 fail:
47123  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Load'.\n"
47124  " Possible C/C++ prototypes are:\n"
47125  " operations_research::Assignment::Load(std::string const &)\n"
47126  " operations_research::Assignment::Load(operations_research::AssignmentProto const &)\n");
47127  return 0;
47128 }
47129 
47130 
47131 SWIGINTERN PyObject *_wrap_Assignment_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47132  PyObject *resultobj = 0;
47134  std::string *arg2 = 0 ;
47135  void *argp1 = 0 ;
47136  int res1 = 0 ;
47137  int res2 = SWIG_OLDOBJ ;
47138  PyObject * obj0 = 0 ;
47139  PyObject * obj1 = 0 ;
47140  bool result;
47141 
47142  if (!PyArg_UnpackTuple(args, "Assignment_Save", 2, 2, &obj0, &obj1)) SWIG_fail;
47143  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47144  if (!SWIG_IsOK(res1)) {
47145  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Save" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47146  }
47147  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47148  {
47149  std::string *ptr = (std::string *)0;
47150  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
47151  if (!SWIG_IsOK(res2)) {
47152  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Assignment_Save" "', argument " "2"" of type '" "std::string const &""'");
47153  }
47154  if (!ptr) {
47155  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Assignment_Save" "', argument " "2"" of type '" "std::string const &""'");
47156  }
47157  arg2 = ptr;
47158  }
47159  {
47160  try {
47161  result = (bool)((operations_research::Assignment const *)arg1)->Save((std::string const &)*arg2);
47162  }
47163  catch (Swig::DirectorException &e) {
47164  SWIG_fail;
47165  }
47166  }
47167  resultobj = SWIG_From_bool(static_cast< bool >(result));
47168  if (SWIG_IsNewObj(res2)) delete arg2;
47169  return resultobj;
47170 fail:
47171  if (SWIG_IsNewObj(res2)) delete arg2;
47172  return NULL;
47173 }
47174 
47175 
47176 SWIGINTERN PyObject *_wrap_Assignment_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47177  PyObject *resultobj = 0;
47180  void *argp1 = 0 ;
47181  int res1 = 0 ;
47182  PyObject * obj0 = 0 ;
47183  PyObject * obj1 = 0 ;
47184 
47185  if (!PyArg_UnpackTuple(args, "Assignment_Save", 2, 2, &obj0, &obj1)) SWIG_fail;
47186  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47187  if (!SWIG_IsOK(res1)) {
47188  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Save" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47189  }
47190  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47191  {
47193  PyObject* const pyresult = PyObject_CallMethod(
47194  obj1, const_cast<char*>("SerializeToString"), nullptr);
47195  if (pyresult != nullptr) {
47196  char* buffer = nullptr;
47197  Py_ssize_t length = 0;
47198  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
47199  if (buffer != nullptr) {
47200  arg2->ParseFromArray(buffer, length);
47201  }
47202  Py_DECREF(pyresult);
47203  }
47204  }
47205  {
47206  try {
47207  ((operations_research::Assignment const *)arg1)->Save(arg2);
47208  }
47209  catch (Swig::DirectorException &e) {
47210  SWIG_fail;
47211  }
47212  }
47213  resultobj = SWIG_Py_Void();
47214  {
47215  std::string encoded_protobuf;
47216  arg2->SerializeToString(&encoded_protobuf);
47217 
47218  PyObject* const python_encoded_protobuf =
47219  PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
47220  encoded_protobuf.size());
47221 
47222 
47223 
47224 
47225 
47226  if (python_encoded_protobuf != nullptr) {
47227  PyObject* const result = PyObject_CallMethod(
47228  obj1, const_cast<char*>("ParseFromString"),
47229  const_cast<char*>("(O)"), python_encoded_protobuf);
47230  Py_DECREF(python_encoded_protobuf);
47231  if (result != nullptr) {
47232  Py_DECREF(result);
47233  }
47234  }
47235  }
47236  {
47237  delete arg2;
47238  }
47239  return resultobj;
47240 fail:
47241  {
47242  delete arg2;
47243  }
47244  return NULL;
47245 }
47246 
47247 
47248 SWIGINTERN PyObject *_wrap_Assignment_Save(PyObject *self, PyObject *args) {
47249  Py_ssize_t argc;
47250  PyObject *argv[3] = {
47251  0
47252  };
47253  Py_ssize_t ii;
47254 
47255  if (!PyTuple_Check(args)) SWIG_fail;
47256  argc = PyObject_Length(args);
47257  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
47258  argv[ii] = PyTuple_GET_ITEM(args,ii);
47259  }
47260  if (argc == 2) {
47261  int _v;
47262  void *vptr = 0;
47263  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
47264  _v = SWIG_CheckState(res);
47265  if (_v) {
47266  {
47267  bool ok = false;
47268  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.assignment_pb2");
47269  if (module != nullptr) {
47270  PyObject* const dict = PyModule_GetDict(module);
47271  if (dict != nullptr) {
47272  PyObject* const clss = PyDict_GetItemString(dict, "AssignmentProto");
47273  if (clss != nullptr) {
47274  if (PyObject_IsInstance(argv[1], clss)) {
47275  ok = true;
47276  }
47277  }
47278  }
47279  Py_DECREF(module);
47280  }
47281  _v = ok ? 1 : 0;
47282  }
47283  if (_v) {
47284  return _wrap_Assignment_Save__SWIG_1(self, args);
47285  }
47286  }
47287  }
47288  if (argc == 2) {
47289  int _v;
47290  void *vptr = 0;
47291  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
47292  _v = SWIG_CheckState(res);
47293  if (_v) {
47294  int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
47295  _v = SWIG_CheckState(res);
47296  if (_v) {
47297  return _wrap_Assignment_Save__SWIG_0(self, args);
47298  }
47299  }
47300  }
47301 
47302 fail:
47303  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Save'.\n"
47304  " Possible C/C++ prototypes are:\n"
47305  " operations_research::Assignment::Save(std::string const &) const\n"
47306  " operations_research::Assignment::Save(operations_research::AssignmentProto *const) const\n");
47307  return 0;
47308 }
47309 
47310 
47311 SWIGINTERN PyObject *_wrap_Assignment_AddObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47312  PyObject *resultobj = 0;
47315  void *argp1 = 0 ;
47316  int res1 = 0 ;
47317  PyObject * obj0 = 0 ;
47318  PyObject * obj1 = 0 ;
47319 
47320  if (!PyArg_UnpackTuple(args, "Assignment_AddObjective", 2, 2, &obj0, &obj1)) SWIG_fail;
47321  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47322  if (!SWIG_IsOK(res1)) {
47323  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_AddObjective" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47324  }
47325  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47326  {
47327  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47328  }
47329  {
47330  try {
47331  (arg1)->AddObjective(arg2);
47332  }
47333  catch (Swig::DirectorException &e) {
47334  SWIG_fail;
47335  }
47336  }
47337  resultobj = SWIG_Py_Void();
47338  return resultobj;
47339 fail:
47340  return NULL;
47341 }
47342 
47343 
47344 SWIGINTERN PyObject *_wrap_Assignment_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47345  PyObject *resultobj = 0;
47347  void *argp1 = 0 ;
47348  int res1 = 0 ;
47349  PyObject * obj0 = 0 ;
47350  operations_research::IntVar *result = 0 ;
47351 
47352  if (!PyArg_UnpackTuple(args, "Assignment_Objective", 1, 1, &obj0)) SWIG_fail;
47353  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47354  if (!SWIG_IsOK(res1)) {
47355  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Objective" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47356  }
47357  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47358  {
47359  try {
47360  result = (operations_research::IntVar *)((operations_research::Assignment const *)arg1)->Objective();
47361  }
47362  catch (Swig::DirectorException &e) {
47363  SWIG_fail;
47364  }
47365  }
47367  return resultobj;
47368 fail:
47369  return NULL;
47370 }
47371 
47372 
47373 SWIGINTERN PyObject *_wrap_Assignment_HasObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47374  PyObject *resultobj = 0;
47376  void *argp1 = 0 ;
47377  int res1 = 0 ;
47378  PyObject * obj0 = 0 ;
47379  bool result;
47380 
47381  if (!PyArg_UnpackTuple(args, "Assignment_HasObjective", 1, 1, &obj0)) SWIG_fail;
47382  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47383  if (!SWIG_IsOK(res1)) {
47384  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_HasObjective" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47385  }
47386  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47387  {
47388  try {
47389  result = (bool)((operations_research::Assignment const *)arg1)->HasObjective();
47390  }
47391  catch (Swig::DirectorException &e) {
47392  SWIG_fail;
47393  }
47394  }
47395  resultobj = SWIG_From_bool(static_cast< bool >(result));
47396  return resultobj;
47397 fail:
47398  return NULL;
47399 }
47400 
47401 
47402 SWIGINTERN PyObject *_wrap_Assignment_ObjectiveMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47403  PyObject *resultobj = 0;
47405  void *argp1 = 0 ;
47406  int res1 = 0 ;
47407  PyObject * obj0 = 0 ;
47408  int64_t result;
47409 
47410  if (!PyArg_UnpackTuple(args, "Assignment_ObjectiveMin", 1, 1, &obj0)) SWIG_fail;
47411  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47412  if (!SWIG_IsOK(res1)) {
47413  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_ObjectiveMin" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47414  }
47415  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47416  {
47417  try {
47418  result = (int64_t)((operations_research::Assignment const *)arg1)->ObjectiveMin();
47419  }
47420  catch (Swig::DirectorException &e) {
47421  SWIG_fail;
47422  }
47423  }
47424  resultobj = SWIG_From_long(static_cast< long >(result));
47425  return resultobj;
47426 fail:
47427  return NULL;
47428 }
47429 
47430 
47431 SWIGINTERN PyObject *_wrap_Assignment_ObjectiveMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47432  PyObject *resultobj = 0;
47434  void *argp1 = 0 ;
47435  int res1 = 0 ;
47436  PyObject * obj0 = 0 ;
47437  int64_t result;
47438 
47439  if (!PyArg_UnpackTuple(args, "Assignment_ObjectiveMax", 1, 1, &obj0)) SWIG_fail;
47440  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47441  if (!SWIG_IsOK(res1)) {
47442  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_ObjectiveMax" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47443  }
47444  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47445  {
47446  try {
47447  result = (int64_t)((operations_research::Assignment const *)arg1)->ObjectiveMax();
47448  }
47449  catch (Swig::DirectorException &e) {
47450  SWIG_fail;
47451  }
47452  }
47453  resultobj = SWIG_From_long(static_cast< long >(result));
47454  return resultobj;
47455 fail:
47456  return NULL;
47457 }
47458 
47459 
47460 SWIGINTERN PyObject *_wrap_Assignment_ObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47461  PyObject *resultobj = 0;
47463  void *argp1 = 0 ;
47464  int res1 = 0 ;
47465  PyObject * obj0 = 0 ;
47466  int64_t result;
47467 
47468  if (!PyArg_UnpackTuple(args, "Assignment_ObjectiveValue", 1, 1, &obj0)) SWIG_fail;
47469  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47470  if (!SWIG_IsOK(res1)) {
47471  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_ObjectiveValue" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47472  }
47473  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47474  {
47475  try {
47476  result = (int64_t)((operations_research::Assignment const *)arg1)->ObjectiveValue();
47477  }
47478  catch (Swig::DirectorException &e) {
47479  SWIG_fail;
47480  }
47481  }
47482  resultobj = SWIG_From_long(static_cast< long >(result));
47483  return resultobj;
47484 fail:
47485  return NULL;
47486 }
47487 
47488 
47489 SWIGINTERN PyObject *_wrap_Assignment_ObjectiveBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47490  PyObject *resultobj = 0;
47492  void *argp1 = 0 ;
47493  int res1 = 0 ;
47494  PyObject * obj0 = 0 ;
47495  bool result;
47496 
47497  if (!PyArg_UnpackTuple(args, "Assignment_ObjectiveBound", 1, 1, &obj0)) SWIG_fail;
47498  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47499  if (!SWIG_IsOK(res1)) {
47500  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_ObjectiveBound" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47501  }
47502  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47503  {
47504  try {
47505  result = (bool)((operations_research::Assignment const *)arg1)->ObjectiveBound();
47506  }
47507  catch (Swig::DirectorException &e) {
47508  SWIG_fail;
47509  }
47510  }
47511  resultobj = SWIG_From_bool(static_cast< bool >(result));
47512  return resultobj;
47513 fail:
47514  return NULL;
47515 }
47516 
47517 
47518 SWIGINTERN PyObject *_wrap_Assignment_SetObjectiveMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47519  PyObject *resultobj = 0;
47521  int64_t arg2 ;
47522  void *argp1 = 0 ;
47523  int res1 = 0 ;
47524  long val2 ;
47525  int ecode2 = 0 ;
47526  PyObject * obj0 = 0 ;
47527  PyObject * obj1 = 0 ;
47528 
47529  if (!PyArg_UnpackTuple(args, "Assignment_SetObjectiveMin", 2, 2, &obj0, &obj1)) SWIG_fail;
47530  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47531  if (!SWIG_IsOK(res1)) {
47532  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetObjectiveMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47533  }
47534  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47535  ecode2 = SWIG_AsVal_long(obj1, &val2);
47536  if (!SWIG_IsOK(ecode2)) {
47537  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Assignment_SetObjectiveMin" "', argument " "2"" of type '" "int64_t""'");
47538  }
47539  arg2 = static_cast< int64_t >(val2);
47540  {
47541  try {
47542  (arg1)->SetObjectiveMin(arg2);
47543  }
47544  catch (Swig::DirectorException &e) {
47545  SWIG_fail;
47546  }
47547  }
47548  resultobj = SWIG_Py_Void();
47549  return resultobj;
47550 fail:
47551  return NULL;
47552 }
47553 
47554 
47555 SWIGINTERN PyObject *_wrap_Assignment_SetObjectiveMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47556  PyObject *resultobj = 0;
47558  int64_t arg2 ;
47559  void *argp1 = 0 ;
47560  int res1 = 0 ;
47561  long val2 ;
47562  int ecode2 = 0 ;
47563  PyObject * obj0 = 0 ;
47564  PyObject * obj1 = 0 ;
47565 
47566  if (!PyArg_UnpackTuple(args, "Assignment_SetObjectiveMax", 2, 2, &obj0, &obj1)) SWIG_fail;
47567  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47568  if (!SWIG_IsOK(res1)) {
47569  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetObjectiveMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47570  }
47571  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47572  ecode2 = SWIG_AsVal_long(obj1, &val2);
47573  if (!SWIG_IsOK(ecode2)) {
47574  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Assignment_SetObjectiveMax" "', argument " "2"" of type '" "int64_t""'");
47575  }
47576  arg2 = static_cast< int64_t >(val2);
47577  {
47578  try {
47579  (arg1)->SetObjectiveMax(arg2);
47580  }
47581  catch (Swig::DirectorException &e) {
47582  SWIG_fail;
47583  }
47584  }
47585  resultobj = SWIG_Py_Void();
47586  return resultobj;
47587 fail:
47588  return NULL;
47589 }
47590 
47591 
47592 SWIGINTERN PyObject *_wrap_Assignment_SetObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47593  PyObject *resultobj = 0;
47595  int64_t arg2 ;
47596  void *argp1 = 0 ;
47597  int res1 = 0 ;
47598  long val2 ;
47599  int ecode2 = 0 ;
47600  PyObject * obj0 = 0 ;
47601  PyObject * obj1 = 0 ;
47602 
47603  if (!PyArg_UnpackTuple(args, "Assignment_SetObjectiveValue", 2, 2, &obj0, &obj1)) SWIG_fail;
47604  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47605  if (!SWIG_IsOK(res1)) {
47606  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetObjectiveValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47607  }
47608  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47609  ecode2 = SWIG_AsVal_long(obj1, &val2);
47610  if (!SWIG_IsOK(ecode2)) {
47611  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Assignment_SetObjectiveValue" "', argument " "2"" of type '" "int64_t""'");
47612  }
47613  arg2 = static_cast< int64_t >(val2);
47614  {
47615  try {
47616  (arg1)->SetObjectiveValue(arg2);
47617  }
47618  catch (Swig::DirectorException &e) {
47619  SWIG_fail;
47620  }
47621  }
47622  resultobj = SWIG_Py_Void();
47623  return resultobj;
47624 fail:
47625  return NULL;
47626 }
47627 
47628 
47629 SWIGINTERN PyObject *_wrap_Assignment_SetObjectiveRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47630  PyObject *resultobj = 0;
47632  int64_t arg2 ;
47633  int64_t arg3 ;
47634  void *argp1 = 0 ;
47635  int res1 = 0 ;
47636  long val2 ;
47637  int ecode2 = 0 ;
47638  long val3 ;
47639  int ecode3 = 0 ;
47640  PyObject * obj0 = 0 ;
47641  PyObject * obj1 = 0 ;
47642  PyObject * obj2 = 0 ;
47643 
47644  if (!PyArg_UnpackTuple(args, "Assignment_SetObjectiveRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
47645  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47646  if (!SWIG_IsOK(res1)) {
47647  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetObjectiveRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47648  }
47649  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47650  ecode2 = SWIG_AsVal_long(obj1, &val2);
47651  if (!SWIG_IsOK(ecode2)) {
47652  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Assignment_SetObjectiveRange" "', argument " "2"" of type '" "int64_t""'");
47653  }
47654  arg2 = static_cast< int64_t >(val2);
47655  ecode3 = SWIG_AsVal_long(obj2, &val3);
47656  if (!SWIG_IsOK(ecode3)) {
47657  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetObjectiveRange" "', argument " "3"" of type '" "int64_t""'");
47658  }
47659  arg3 = static_cast< int64_t >(val3);
47660  {
47661  try {
47662  (arg1)->SetObjectiveRange(arg2,arg3);
47663  }
47664  catch (Swig::DirectorException &e) {
47665  SWIG_fail;
47666  }
47667  }
47668  resultobj = SWIG_Py_Void();
47669  return resultobj;
47670 fail:
47671  return NULL;
47672 }
47673 
47674 
47675 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47676  PyObject *resultobj = 0;
47679  void *argp1 = 0 ;
47680  int res1 = 0 ;
47681  PyObject * obj0 = 0 ;
47682  PyObject * obj1 = 0 ;
47684 
47685  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
47686  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47687  if (!SWIG_IsOK(res1)) {
47688  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47689  }
47690  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47691  {
47692  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47693  }
47694  {
47695  try {
47696  result = (operations_research::IntVarElement *)(arg1)->Add(arg2);
47697  }
47698  catch (Swig::DirectorException &e) {
47699  SWIG_fail;
47700  }
47701  }
47703  return resultobj;
47704 fail:
47705  return NULL;
47706 }
47707 
47708 
47709 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47710  PyObject *resultobj = 0;
47712  std::vector< operations_research::IntVar * > *arg2 = 0 ;
47713  void *argp1 = 0 ;
47714  int res1 = 0 ;
47715  std::vector< operations_research::IntVar * > temp2 ;
47716  PyObject * obj0 = 0 ;
47717  PyObject * obj1 = 0 ;
47718 
47719  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
47720  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47721  if (!SWIG_IsOK(res1)) {
47722  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47723  }
47724  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47725  {
47726  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
47727  if (!PyErr_Occurred())
47728  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
47729  return NULL;
47730  }
47731  arg2 = &temp2;
47732  }
47733  {
47734  try {
47735  (arg1)->Add((std::vector< operations_research::IntVar * > const &)*arg2);
47736  }
47737  catch (Swig::DirectorException &e) {
47738  SWIG_fail;
47739  }
47740  }
47741  resultobj = SWIG_Py_Void();
47742  return resultobj;
47743 fail:
47744  return NULL;
47745 }
47746 
47747 
47748 SWIGINTERN PyObject *_wrap_Assignment_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47749  PyObject *resultobj = 0;
47752  void *argp1 = 0 ;
47753  int res1 = 0 ;
47754  PyObject * obj0 = 0 ;
47755  PyObject * obj1 = 0 ;
47756  int64_t result;
47757 
47758  if (!PyArg_UnpackTuple(args, "Assignment_Min", 2, 2, &obj0, &obj1)) SWIG_fail;
47759  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47760  if (!SWIG_IsOK(res1)) {
47761  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Min" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47762  }
47763  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47764  {
47765  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47766  }
47767  {
47768  try {
47769  result = (int64_t)((operations_research::Assignment const *)arg1)->Min((operations_research::IntVar const *)arg2);
47770  }
47771  catch (Swig::DirectorException &e) {
47772  SWIG_fail;
47773  }
47774  }
47775  resultobj = SWIG_From_long(static_cast< long >(result));
47776  return resultobj;
47777 fail:
47778  return NULL;
47779 }
47780 
47781 
47782 SWIGINTERN PyObject *_wrap_Assignment_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47783  PyObject *resultobj = 0;
47786  void *argp1 = 0 ;
47787  int res1 = 0 ;
47788  PyObject * obj0 = 0 ;
47789  PyObject * obj1 = 0 ;
47790  int64_t result;
47791 
47792  if (!PyArg_UnpackTuple(args, "Assignment_Max", 2, 2, &obj0, &obj1)) SWIG_fail;
47793  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47794  if (!SWIG_IsOK(res1)) {
47795  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Max" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47796  }
47797  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47798  {
47799  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47800  }
47801  {
47802  try {
47803  result = (int64_t)((operations_research::Assignment const *)arg1)->Max((operations_research::IntVar const *)arg2);
47804  }
47805  catch (Swig::DirectorException &e) {
47806  SWIG_fail;
47807  }
47808  }
47809  resultobj = SWIG_From_long(static_cast< long >(result));
47810  return resultobj;
47811 fail:
47812  return NULL;
47813 }
47814 
47815 
47816 SWIGINTERN PyObject *_wrap_Assignment_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47817  PyObject *resultobj = 0;
47820  void *argp1 = 0 ;
47821  int res1 = 0 ;
47822  PyObject * obj0 = 0 ;
47823  PyObject * obj1 = 0 ;
47824  int64_t result;
47825 
47826  if (!PyArg_UnpackTuple(args, "Assignment_Value", 2, 2, &obj0, &obj1)) SWIG_fail;
47827  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47828  if (!SWIG_IsOK(res1)) {
47829  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Value" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47830  }
47831  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47832  {
47833  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47834  }
47835  {
47836  try {
47837  result = (int64_t)((operations_research::Assignment const *)arg1)->Value((operations_research::IntVar const *)arg2);
47838  }
47839  catch (Swig::DirectorException &e) {
47840  SWIG_fail;
47841  }
47842  }
47843  resultobj = SWIG_From_long(static_cast< long >(result));
47844  return resultobj;
47845 fail:
47846  return NULL;
47847 }
47848 
47849 
47850 SWIGINTERN PyObject *_wrap_Assignment_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47851  PyObject *resultobj = 0;
47854  void *argp1 = 0 ;
47855  int res1 = 0 ;
47856  PyObject * obj0 = 0 ;
47857  PyObject * obj1 = 0 ;
47858  bool result;
47859 
47860  if (!PyArg_UnpackTuple(args, "Assignment_Bound", 2, 2, &obj0, &obj1)) SWIG_fail;
47861  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47862  if (!SWIG_IsOK(res1)) {
47863  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Bound" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
47864  }
47865  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47866  {
47867  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47868  }
47869  {
47870  try {
47871  result = (bool)((operations_research::Assignment const *)arg1)->Bound((operations_research::IntVar const *)arg2);
47872  }
47873  catch (Swig::DirectorException &e) {
47874  SWIG_fail;
47875  }
47876  }
47877  resultobj = SWIG_From_bool(static_cast< bool >(result));
47878  return resultobj;
47879 fail:
47880  return NULL;
47881 }
47882 
47883 
47884 SWIGINTERN PyObject *_wrap_Assignment_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47885  PyObject *resultobj = 0;
47888  int64_t arg3 ;
47889  void *argp1 = 0 ;
47890  int res1 = 0 ;
47891  long val3 ;
47892  int ecode3 = 0 ;
47893  PyObject * obj0 = 0 ;
47894  PyObject * obj1 = 0 ;
47895  PyObject * obj2 = 0 ;
47896 
47897  if (!PyArg_UnpackTuple(args, "Assignment_SetMin", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
47898  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47899  if (!SWIG_IsOK(res1)) {
47900  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47901  }
47902  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47903  {
47904  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47905  }
47906  ecode3 = SWIG_AsVal_long(obj2, &val3);
47907  if (!SWIG_IsOK(ecode3)) {
47908  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetMin" "', argument " "3"" of type '" "int64_t""'");
47909  }
47910  arg3 = static_cast< int64_t >(val3);
47911  {
47912  try {
47913  (arg1)->SetMin((operations_research::IntVar const *)arg2,arg3);
47914  }
47915  catch (Swig::DirectorException &e) {
47916  SWIG_fail;
47917  }
47918  }
47919  resultobj = SWIG_Py_Void();
47920  return resultobj;
47921 fail:
47922  return NULL;
47923 }
47924 
47925 
47926 SWIGINTERN PyObject *_wrap_Assignment_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47927  PyObject *resultobj = 0;
47930  int64_t arg3 ;
47931  void *argp1 = 0 ;
47932  int res1 = 0 ;
47933  long val3 ;
47934  int ecode3 = 0 ;
47935  PyObject * obj0 = 0 ;
47936  PyObject * obj1 = 0 ;
47937  PyObject * obj2 = 0 ;
47938 
47939  if (!PyArg_UnpackTuple(args, "Assignment_SetMax", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
47940  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47941  if (!SWIG_IsOK(res1)) {
47942  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47943  }
47944  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47945  {
47946  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47947  }
47948  ecode3 = SWIG_AsVal_long(obj2, &val3);
47949  if (!SWIG_IsOK(ecode3)) {
47950  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetMax" "', argument " "3"" of type '" "int64_t""'");
47951  }
47952  arg3 = static_cast< int64_t >(val3);
47953  {
47954  try {
47955  (arg1)->SetMax((operations_research::IntVar const *)arg2,arg3);
47956  }
47957  catch (Swig::DirectorException &e) {
47958  SWIG_fail;
47959  }
47960  }
47961  resultobj = SWIG_Py_Void();
47962  return resultobj;
47963 fail:
47964  return NULL;
47965 }
47966 
47967 
47968 SWIGINTERN PyObject *_wrap_Assignment_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
47969  PyObject *resultobj = 0;
47972  int64_t arg3 ;
47973  int64_t arg4 ;
47974  void *argp1 = 0 ;
47975  int res1 = 0 ;
47976  long val3 ;
47977  int ecode3 = 0 ;
47978  long val4 ;
47979  int ecode4 = 0 ;
47980  PyObject * obj0 = 0 ;
47981  PyObject * obj1 = 0 ;
47982  PyObject * obj2 = 0 ;
47983  PyObject * obj3 = 0 ;
47984 
47985  if (!PyArg_UnpackTuple(args, "Assignment_SetRange", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
47986  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
47987  if (!SWIG_IsOK(res1)) {
47988  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
47989  }
47990  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
47991  {
47992  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
47993  }
47994  ecode3 = SWIG_AsVal_long(obj2, &val3);
47995  if (!SWIG_IsOK(ecode3)) {
47996  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetRange" "', argument " "3"" of type '" "int64_t""'");
47997  }
47998  arg3 = static_cast< int64_t >(val3);
47999  ecode4 = SWIG_AsVal_long(obj3, &val4);
48000  if (!SWIG_IsOK(ecode4)) {
48001  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Assignment_SetRange" "', argument " "4"" of type '" "int64_t""'");
48002  }
48003  arg4 = static_cast< int64_t >(val4);
48004  {
48005  try {
48006  (arg1)->SetRange((operations_research::IntVar const *)arg2,arg3,arg4);
48007  }
48008  catch (Swig::DirectorException &e) {
48009  SWIG_fail;
48010  }
48011  }
48012  resultobj = SWIG_Py_Void();
48013  return resultobj;
48014 fail:
48015  return NULL;
48016 }
48017 
48018 
48019 SWIGINTERN PyObject *_wrap_Assignment_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48020  PyObject *resultobj = 0;
48023  int64_t arg3 ;
48024  void *argp1 = 0 ;
48025  int res1 = 0 ;
48026  long val3 ;
48027  int ecode3 = 0 ;
48028  PyObject * obj0 = 0 ;
48029  PyObject * obj1 = 0 ;
48030  PyObject * obj2 = 0 ;
48031 
48032  if (!PyArg_UnpackTuple(args, "Assignment_SetValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48033  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48034  if (!SWIG_IsOK(res1)) {
48035  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48036  }
48037  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48038  {
48039  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48040  }
48041  ecode3 = SWIG_AsVal_long(obj2, &val3);
48042  if (!SWIG_IsOK(ecode3)) {
48043  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetValue" "', argument " "3"" of type '" "int64_t""'");
48044  }
48045  arg3 = static_cast< int64_t >(val3);
48046  {
48047  try {
48048  (arg1)->SetValue((operations_research::IntVar const *)arg2,arg3);
48049  }
48050  catch (Swig::DirectorException &e) {
48051  SWIG_fail;
48052  }
48053  }
48054  resultobj = SWIG_Py_Void();
48055  return resultobj;
48056 fail:
48057  return NULL;
48058 }
48059 
48060 
48061 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48062  PyObject *resultobj = 0;
48065  void *argp1 = 0 ;
48066  int res1 = 0 ;
48067  PyObject * obj0 = 0 ;
48068  PyObject * obj1 = 0 ;
48070 
48071  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
48072  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48073  if (!SWIG_IsOK(res1)) {
48074  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48075  }
48076  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48077  {
48078  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48079  }
48080  {
48081  try {
48082  result = (operations_research::IntervalVarElement *)(arg1)->Add(arg2);
48083  }
48084  catch (Swig::DirectorException &e) {
48085  SWIG_fail;
48086  }
48087  }
48089  return resultobj;
48090 fail:
48091  return NULL;
48092 }
48093 
48094 
48095 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48096  PyObject *resultobj = 0;
48098  std::vector< operations_research::IntervalVar * > *arg2 = 0 ;
48099  void *argp1 = 0 ;
48100  int res1 = 0 ;
48101  std::vector< operations_research::IntervalVar * > temp2 ;
48102  PyObject * obj0 = 0 ;
48103  PyObject * obj1 = 0 ;
48104 
48105  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
48106  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48107  if (!SWIG_IsOK(res1)) {
48108  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48109  }
48110  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48111  {
48112  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
48113  if (!PyErr_Occurred())
48114  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
48115  return NULL;
48116  }
48117  arg2 = &temp2;
48118  }
48119  {
48120  try {
48121  (arg1)->Add((std::vector< operations_research::IntervalVar * > const &)*arg2);
48122  }
48123  catch (Swig::DirectorException &e) {
48124  SWIG_fail;
48125  }
48126  }
48127  resultobj = SWIG_Py_Void();
48128  return resultobj;
48129 fail:
48130  return NULL;
48131 }
48132 
48133 
48134 SWIGINTERN PyObject *_wrap_Assignment_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48135  PyObject *resultobj = 0;
48138  void *argp1 = 0 ;
48139  int res1 = 0 ;
48140  PyObject * obj0 = 0 ;
48141  PyObject * obj1 = 0 ;
48142  int64_t result;
48143 
48144  if (!PyArg_UnpackTuple(args, "Assignment_StartMin", 2, 2, &obj0, &obj1)) SWIG_fail;
48145  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48146  if (!SWIG_IsOK(res1)) {
48147  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_StartMin" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48148  }
48149  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48150  {
48151  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48152  }
48153  {
48154  try {
48155  result = (int64_t)((operations_research::Assignment const *)arg1)->StartMin((operations_research::IntervalVar const *)arg2);
48156  }
48157  catch (Swig::DirectorException &e) {
48158  SWIG_fail;
48159  }
48160  }
48161  resultobj = SWIG_From_long(static_cast< long >(result));
48162  return resultobj;
48163 fail:
48164  return NULL;
48165 }
48166 
48167 
48168 SWIGINTERN PyObject *_wrap_Assignment_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48169  PyObject *resultobj = 0;
48172  void *argp1 = 0 ;
48173  int res1 = 0 ;
48174  PyObject * obj0 = 0 ;
48175  PyObject * obj1 = 0 ;
48176  int64_t result;
48177 
48178  if (!PyArg_UnpackTuple(args, "Assignment_StartMax", 2, 2, &obj0, &obj1)) SWIG_fail;
48179  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48180  if (!SWIG_IsOK(res1)) {
48181  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_StartMax" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48182  }
48183  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48184  {
48185  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48186  }
48187  {
48188  try {
48189  result = (int64_t)((operations_research::Assignment const *)arg1)->StartMax((operations_research::IntervalVar const *)arg2);
48190  }
48191  catch (Swig::DirectorException &e) {
48192  SWIG_fail;
48193  }
48194  }
48195  resultobj = SWIG_From_long(static_cast< long >(result));
48196  return resultobj;
48197 fail:
48198  return NULL;
48199 }
48200 
48201 
48202 SWIGINTERN PyObject *_wrap_Assignment_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48203  PyObject *resultobj = 0;
48206  void *argp1 = 0 ;
48207  int res1 = 0 ;
48208  PyObject * obj0 = 0 ;
48209  PyObject * obj1 = 0 ;
48210  int64_t result;
48211 
48212  if (!PyArg_UnpackTuple(args, "Assignment_StartValue", 2, 2, &obj0, &obj1)) SWIG_fail;
48213  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48214  if (!SWIG_IsOK(res1)) {
48215  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_StartValue" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48216  }
48217  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48218  {
48219  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48220  }
48221  {
48222  try {
48223  result = (int64_t)((operations_research::Assignment const *)arg1)->StartValue((operations_research::IntervalVar const *)arg2);
48224  }
48225  catch (Swig::DirectorException &e) {
48226  SWIG_fail;
48227  }
48228  }
48229  resultobj = SWIG_From_long(static_cast< long >(result));
48230  return resultobj;
48231 fail:
48232  return NULL;
48233 }
48234 
48235 
48236 SWIGINTERN PyObject *_wrap_Assignment_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48237  PyObject *resultobj = 0;
48240  void *argp1 = 0 ;
48241  int res1 = 0 ;
48242  PyObject * obj0 = 0 ;
48243  PyObject * obj1 = 0 ;
48244  int64_t result;
48245 
48246  if (!PyArg_UnpackTuple(args, "Assignment_DurationMin", 2, 2, &obj0, &obj1)) SWIG_fail;
48247  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48248  if (!SWIG_IsOK(res1)) {
48249  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_DurationMin" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48250  }
48251  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48252  {
48253  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48254  }
48255  {
48256  try {
48257  result = (int64_t)((operations_research::Assignment const *)arg1)->DurationMin((operations_research::IntervalVar const *)arg2);
48258  }
48259  catch (Swig::DirectorException &e) {
48260  SWIG_fail;
48261  }
48262  }
48263  resultobj = SWIG_From_long(static_cast< long >(result));
48264  return resultobj;
48265 fail:
48266  return NULL;
48267 }
48268 
48269 
48270 SWIGINTERN PyObject *_wrap_Assignment_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48271  PyObject *resultobj = 0;
48274  void *argp1 = 0 ;
48275  int res1 = 0 ;
48276  PyObject * obj0 = 0 ;
48277  PyObject * obj1 = 0 ;
48278  int64_t result;
48279 
48280  if (!PyArg_UnpackTuple(args, "Assignment_DurationMax", 2, 2, &obj0, &obj1)) SWIG_fail;
48281  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48282  if (!SWIG_IsOK(res1)) {
48283  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_DurationMax" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48284  }
48285  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48286  {
48287  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48288  }
48289  {
48290  try {
48291  result = (int64_t)((operations_research::Assignment const *)arg1)->DurationMax((operations_research::IntervalVar const *)arg2);
48292  }
48293  catch (Swig::DirectorException &e) {
48294  SWIG_fail;
48295  }
48296  }
48297  resultobj = SWIG_From_long(static_cast< long >(result));
48298  return resultobj;
48299 fail:
48300  return NULL;
48301 }
48302 
48303 
48304 SWIGINTERN PyObject *_wrap_Assignment_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48305  PyObject *resultobj = 0;
48308  void *argp1 = 0 ;
48309  int res1 = 0 ;
48310  PyObject * obj0 = 0 ;
48311  PyObject * obj1 = 0 ;
48312  int64_t result;
48313 
48314  if (!PyArg_UnpackTuple(args, "Assignment_DurationValue", 2, 2, &obj0, &obj1)) SWIG_fail;
48315  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48316  if (!SWIG_IsOK(res1)) {
48317  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_DurationValue" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48318  }
48319  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48320  {
48321  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48322  }
48323  {
48324  try {
48325  result = (int64_t)((operations_research::Assignment const *)arg1)->DurationValue((operations_research::IntervalVar const *)arg2);
48326  }
48327  catch (Swig::DirectorException &e) {
48328  SWIG_fail;
48329  }
48330  }
48331  resultobj = SWIG_From_long(static_cast< long >(result));
48332  return resultobj;
48333 fail:
48334  return NULL;
48335 }
48336 
48337 
48338 SWIGINTERN PyObject *_wrap_Assignment_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48339  PyObject *resultobj = 0;
48342  void *argp1 = 0 ;
48343  int res1 = 0 ;
48344  PyObject * obj0 = 0 ;
48345  PyObject * obj1 = 0 ;
48346  int64_t result;
48347 
48348  if (!PyArg_UnpackTuple(args, "Assignment_EndMin", 2, 2, &obj0, &obj1)) SWIG_fail;
48349  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48350  if (!SWIG_IsOK(res1)) {
48351  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_EndMin" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48352  }
48353  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48354  {
48355  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48356  }
48357  {
48358  try {
48359  result = (int64_t)((operations_research::Assignment const *)arg1)->EndMin((operations_research::IntervalVar const *)arg2);
48360  }
48361  catch (Swig::DirectorException &e) {
48362  SWIG_fail;
48363  }
48364  }
48365  resultobj = SWIG_From_long(static_cast< long >(result));
48366  return resultobj;
48367 fail:
48368  return NULL;
48369 }
48370 
48371 
48372 SWIGINTERN PyObject *_wrap_Assignment_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48373  PyObject *resultobj = 0;
48376  void *argp1 = 0 ;
48377  int res1 = 0 ;
48378  PyObject * obj0 = 0 ;
48379  PyObject * obj1 = 0 ;
48380  int64_t result;
48381 
48382  if (!PyArg_UnpackTuple(args, "Assignment_EndMax", 2, 2, &obj0, &obj1)) SWIG_fail;
48383  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48384  if (!SWIG_IsOK(res1)) {
48385  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_EndMax" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48386  }
48387  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48388  {
48389  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48390  }
48391  {
48392  try {
48393  result = (int64_t)((operations_research::Assignment const *)arg1)->EndMax((operations_research::IntervalVar const *)arg2);
48394  }
48395  catch (Swig::DirectorException &e) {
48396  SWIG_fail;
48397  }
48398  }
48399  resultobj = SWIG_From_long(static_cast< long >(result));
48400  return resultobj;
48401 fail:
48402  return NULL;
48403 }
48404 
48405 
48406 SWIGINTERN PyObject *_wrap_Assignment_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48407  PyObject *resultobj = 0;
48410  void *argp1 = 0 ;
48411  int res1 = 0 ;
48412  PyObject * obj0 = 0 ;
48413  PyObject * obj1 = 0 ;
48414  int64_t result;
48415 
48416  if (!PyArg_UnpackTuple(args, "Assignment_EndValue", 2, 2, &obj0, &obj1)) SWIG_fail;
48417  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48418  if (!SWIG_IsOK(res1)) {
48419  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_EndValue" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48420  }
48421  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48422  {
48423  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48424  }
48425  {
48426  try {
48427  result = (int64_t)((operations_research::Assignment const *)arg1)->EndValue((operations_research::IntervalVar const *)arg2);
48428  }
48429  catch (Swig::DirectorException &e) {
48430  SWIG_fail;
48431  }
48432  }
48433  resultobj = SWIG_From_long(static_cast< long >(result));
48434  return resultobj;
48435 fail:
48436  return NULL;
48437 }
48438 
48439 
48440 SWIGINTERN PyObject *_wrap_Assignment_PerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48441  PyObject *resultobj = 0;
48444  void *argp1 = 0 ;
48445  int res1 = 0 ;
48446  PyObject * obj0 = 0 ;
48447  PyObject * obj1 = 0 ;
48448  int64_t result;
48449 
48450  if (!PyArg_UnpackTuple(args, "Assignment_PerformedMin", 2, 2, &obj0, &obj1)) SWIG_fail;
48451  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48452  if (!SWIG_IsOK(res1)) {
48453  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_PerformedMin" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48454  }
48455  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48456  {
48457  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48458  }
48459  {
48460  try {
48461  result = (int64_t)((operations_research::Assignment const *)arg1)->PerformedMin((operations_research::IntervalVar const *)arg2);
48462  }
48463  catch (Swig::DirectorException &e) {
48464  SWIG_fail;
48465  }
48466  }
48467  resultobj = SWIG_From_long(static_cast< long >(result));
48468  return resultobj;
48469 fail:
48470  return NULL;
48471 }
48472 
48473 
48474 SWIGINTERN PyObject *_wrap_Assignment_PerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48475  PyObject *resultobj = 0;
48478  void *argp1 = 0 ;
48479  int res1 = 0 ;
48480  PyObject * obj0 = 0 ;
48481  PyObject * obj1 = 0 ;
48482  int64_t result;
48483 
48484  if (!PyArg_UnpackTuple(args, "Assignment_PerformedMax", 2, 2, &obj0, &obj1)) SWIG_fail;
48485  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48486  if (!SWIG_IsOK(res1)) {
48487  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_PerformedMax" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48488  }
48489  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48490  {
48491  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48492  }
48493  {
48494  try {
48495  result = (int64_t)((operations_research::Assignment const *)arg1)->PerformedMax((operations_research::IntervalVar const *)arg2);
48496  }
48497  catch (Swig::DirectorException &e) {
48498  SWIG_fail;
48499  }
48500  }
48501  resultobj = SWIG_From_long(static_cast< long >(result));
48502  return resultobj;
48503 fail:
48504  return NULL;
48505 }
48506 
48507 
48508 SWIGINTERN PyObject *_wrap_Assignment_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48509  PyObject *resultobj = 0;
48512  void *argp1 = 0 ;
48513  int res1 = 0 ;
48514  PyObject * obj0 = 0 ;
48515  PyObject * obj1 = 0 ;
48516  int64_t result;
48517 
48518  if (!PyArg_UnpackTuple(args, "Assignment_PerformedValue", 2, 2, &obj0, &obj1)) SWIG_fail;
48519  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48520  if (!SWIG_IsOK(res1)) {
48521  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_PerformedValue" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
48522  }
48523  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48524  {
48525  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48526  }
48527  {
48528  try {
48529  result = (int64_t)((operations_research::Assignment const *)arg1)->PerformedValue((operations_research::IntervalVar const *)arg2);
48530  }
48531  catch (Swig::DirectorException &e) {
48532  SWIG_fail;
48533  }
48534  }
48535  resultobj = SWIG_From_long(static_cast< long >(result));
48536  return resultobj;
48537 fail:
48538  return NULL;
48539 }
48540 
48541 
48542 SWIGINTERN PyObject *_wrap_Assignment_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48543  PyObject *resultobj = 0;
48546  int64_t arg3 ;
48547  void *argp1 = 0 ;
48548  int res1 = 0 ;
48549  long val3 ;
48550  int ecode3 = 0 ;
48551  PyObject * obj0 = 0 ;
48552  PyObject * obj1 = 0 ;
48553  PyObject * obj2 = 0 ;
48554 
48555  if (!PyArg_UnpackTuple(args, "Assignment_SetStartMin", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48556  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48557  if (!SWIG_IsOK(res1)) {
48558  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetStartMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48559  }
48560  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48561  {
48562  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48563  }
48564  ecode3 = SWIG_AsVal_long(obj2, &val3);
48565  if (!SWIG_IsOK(ecode3)) {
48566  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetStartMin" "', argument " "3"" of type '" "int64_t""'");
48567  }
48568  arg3 = static_cast< int64_t >(val3);
48569  {
48570  try {
48571  (arg1)->SetStartMin((operations_research::IntervalVar const *)arg2,arg3);
48572  }
48573  catch (Swig::DirectorException &e) {
48574  SWIG_fail;
48575  }
48576  }
48577  resultobj = SWIG_Py_Void();
48578  return resultobj;
48579 fail:
48580  return NULL;
48581 }
48582 
48583 
48584 SWIGINTERN PyObject *_wrap_Assignment_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48585  PyObject *resultobj = 0;
48588  int64_t arg3 ;
48589  void *argp1 = 0 ;
48590  int res1 = 0 ;
48591  long val3 ;
48592  int ecode3 = 0 ;
48593  PyObject * obj0 = 0 ;
48594  PyObject * obj1 = 0 ;
48595  PyObject * obj2 = 0 ;
48596 
48597  if (!PyArg_UnpackTuple(args, "Assignment_SetStartMax", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48598  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48599  if (!SWIG_IsOK(res1)) {
48600  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetStartMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48601  }
48602  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48603  {
48604  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48605  }
48606  ecode3 = SWIG_AsVal_long(obj2, &val3);
48607  if (!SWIG_IsOK(ecode3)) {
48608  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetStartMax" "', argument " "3"" of type '" "int64_t""'");
48609  }
48610  arg3 = static_cast< int64_t >(val3);
48611  {
48612  try {
48613  (arg1)->SetStartMax((operations_research::IntervalVar const *)arg2,arg3);
48614  }
48615  catch (Swig::DirectorException &e) {
48616  SWIG_fail;
48617  }
48618  }
48619  resultobj = SWIG_Py_Void();
48620  return resultobj;
48621 fail:
48622  return NULL;
48623 }
48624 
48625 
48626 SWIGINTERN PyObject *_wrap_Assignment_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48627  PyObject *resultobj = 0;
48630  int64_t arg3 ;
48631  int64_t arg4 ;
48632  void *argp1 = 0 ;
48633  int res1 = 0 ;
48634  long val3 ;
48635  int ecode3 = 0 ;
48636  long val4 ;
48637  int ecode4 = 0 ;
48638  PyObject * obj0 = 0 ;
48639  PyObject * obj1 = 0 ;
48640  PyObject * obj2 = 0 ;
48641  PyObject * obj3 = 0 ;
48642 
48643  if (!PyArg_UnpackTuple(args, "Assignment_SetStartRange", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
48644  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48645  if (!SWIG_IsOK(res1)) {
48646  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetStartRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48647  }
48648  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48649  {
48650  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48651  }
48652  ecode3 = SWIG_AsVal_long(obj2, &val3);
48653  if (!SWIG_IsOK(ecode3)) {
48654  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetStartRange" "', argument " "3"" of type '" "int64_t""'");
48655  }
48656  arg3 = static_cast< int64_t >(val3);
48657  ecode4 = SWIG_AsVal_long(obj3, &val4);
48658  if (!SWIG_IsOK(ecode4)) {
48659  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Assignment_SetStartRange" "', argument " "4"" of type '" "int64_t""'");
48660  }
48661  arg4 = static_cast< int64_t >(val4);
48662  {
48663  try {
48664  (arg1)->SetStartRange((operations_research::IntervalVar const *)arg2,arg3,arg4);
48665  }
48666  catch (Swig::DirectorException &e) {
48667  SWIG_fail;
48668  }
48669  }
48670  resultobj = SWIG_Py_Void();
48671  return resultobj;
48672 fail:
48673  return NULL;
48674 }
48675 
48676 
48677 SWIGINTERN PyObject *_wrap_Assignment_SetStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48678  PyObject *resultobj = 0;
48681  int64_t arg3 ;
48682  void *argp1 = 0 ;
48683  int res1 = 0 ;
48684  long val3 ;
48685  int ecode3 = 0 ;
48686  PyObject * obj0 = 0 ;
48687  PyObject * obj1 = 0 ;
48688  PyObject * obj2 = 0 ;
48689 
48690  if (!PyArg_UnpackTuple(args, "Assignment_SetStartValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48691  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48692  if (!SWIG_IsOK(res1)) {
48693  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetStartValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48694  }
48695  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48696  {
48697  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48698  }
48699  ecode3 = SWIG_AsVal_long(obj2, &val3);
48700  if (!SWIG_IsOK(ecode3)) {
48701  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetStartValue" "', argument " "3"" of type '" "int64_t""'");
48702  }
48703  arg3 = static_cast< int64_t >(val3);
48704  {
48705  try {
48706  (arg1)->SetStartValue((operations_research::IntervalVar const *)arg2,arg3);
48707  }
48708  catch (Swig::DirectorException &e) {
48709  SWIG_fail;
48710  }
48711  }
48712  resultobj = SWIG_Py_Void();
48713  return resultobj;
48714 fail:
48715  return NULL;
48716 }
48717 
48718 
48719 SWIGINTERN PyObject *_wrap_Assignment_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48720  PyObject *resultobj = 0;
48723  int64_t arg3 ;
48724  void *argp1 = 0 ;
48725  int res1 = 0 ;
48726  long val3 ;
48727  int ecode3 = 0 ;
48728  PyObject * obj0 = 0 ;
48729  PyObject * obj1 = 0 ;
48730  PyObject * obj2 = 0 ;
48731 
48732  if (!PyArg_UnpackTuple(args, "Assignment_SetDurationMin", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48733  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48734  if (!SWIG_IsOK(res1)) {
48735  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetDurationMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48736  }
48737  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48738  {
48739  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48740  }
48741  ecode3 = SWIG_AsVal_long(obj2, &val3);
48742  if (!SWIG_IsOK(ecode3)) {
48743  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetDurationMin" "', argument " "3"" of type '" "int64_t""'");
48744  }
48745  arg3 = static_cast< int64_t >(val3);
48746  {
48747  try {
48748  (arg1)->SetDurationMin((operations_research::IntervalVar const *)arg2,arg3);
48749  }
48750  catch (Swig::DirectorException &e) {
48751  SWIG_fail;
48752  }
48753  }
48754  resultobj = SWIG_Py_Void();
48755  return resultobj;
48756 fail:
48757  return NULL;
48758 }
48759 
48760 
48761 SWIGINTERN PyObject *_wrap_Assignment_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48762  PyObject *resultobj = 0;
48765  int64_t arg3 ;
48766  void *argp1 = 0 ;
48767  int res1 = 0 ;
48768  long val3 ;
48769  int ecode3 = 0 ;
48770  PyObject * obj0 = 0 ;
48771  PyObject * obj1 = 0 ;
48772  PyObject * obj2 = 0 ;
48773 
48774  if (!PyArg_UnpackTuple(args, "Assignment_SetDurationMax", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48775  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48776  if (!SWIG_IsOK(res1)) {
48777  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetDurationMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48778  }
48779  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48780  {
48781  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48782  }
48783  ecode3 = SWIG_AsVal_long(obj2, &val3);
48784  if (!SWIG_IsOK(ecode3)) {
48785  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetDurationMax" "', argument " "3"" of type '" "int64_t""'");
48786  }
48787  arg3 = static_cast< int64_t >(val3);
48788  {
48789  try {
48790  (arg1)->SetDurationMax((operations_research::IntervalVar const *)arg2,arg3);
48791  }
48792  catch (Swig::DirectorException &e) {
48793  SWIG_fail;
48794  }
48795  }
48796  resultobj = SWIG_Py_Void();
48797  return resultobj;
48798 fail:
48799  return NULL;
48800 }
48801 
48802 
48803 SWIGINTERN PyObject *_wrap_Assignment_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48804  PyObject *resultobj = 0;
48807  int64_t arg3 ;
48808  int64_t arg4 ;
48809  void *argp1 = 0 ;
48810  int res1 = 0 ;
48811  long val3 ;
48812  int ecode3 = 0 ;
48813  long val4 ;
48814  int ecode4 = 0 ;
48815  PyObject * obj0 = 0 ;
48816  PyObject * obj1 = 0 ;
48817  PyObject * obj2 = 0 ;
48818  PyObject * obj3 = 0 ;
48819 
48820  if (!PyArg_UnpackTuple(args, "Assignment_SetDurationRange", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
48821  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48822  if (!SWIG_IsOK(res1)) {
48823  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetDurationRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48824  }
48825  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48826  {
48827  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48828  }
48829  ecode3 = SWIG_AsVal_long(obj2, &val3);
48830  if (!SWIG_IsOK(ecode3)) {
48831  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetDurationRange" "', argument " "3"" of type '" "int64_t""'");
48832  }
48833  arg3 = static_cast< int64_t >(val3);
48834  ecode4 = SWIG_AsVal_long(obj3, &val4);
48835  if (!SWIG_IsOK(ecode4)) {
48836  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Assignment_SetDurationRange" "', argument " "4"" of type '" "int64_t""'");
48837  }
48838  arg4 = static_cast< int64_t >(val4);
48839  {
48840  try {
48841  (arg1)->SetDurationRange((operations_research::IntervalVar const *)arg2,arg3,arg4);
48842  }
48843  catch (Swig::DirectorException &e) {
48844  SWIG_fail;
48845  }
48846  }
48847  resultobj = SWIG_Py_Void();
48848  return resultobj;
48849 fail:
48850  return NULL;
48851 }
48852 
48853 
48854 SWIGINTERN PyObject *_wrap_Assignment_SetDurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48855  PyObject *resultobj = 0;
48858  int64_t arg3 ;
48859  void *argp1 = 0 ;
48860  int res1 = 0 ;
48861  long val3 ;
48862  int ecode3 = 0 ;
48863  PyObject * obj0 = 0 ;
48864  PyObject * obj1 = 0 ;
48865  PyObject * obj2 = 0 ;
48866 
48867  if (!PyArg_UnpackTuple(args, "Assignment_SetDurationValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48868  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48869  if (!SWIG_IsOK(res1)) {
48870  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetDurationValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48871  }
48872  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48873  {
48874  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48875  }
48876  ecode3 = SWIG_AsVal_long(obj2, &val3);
48877  if (!SWIG_IsOK(ecode3)) {
48878  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetDurationValue" "', argument " "3"" of type '" "int64_t""'");
48879  }
48880  arg3 = static_cast< int64_t >(val3);
48881  {
48882  try {
48883  (arg1)->SetDurationValue((operations_research::IntervalVar const *)arg2,arg3);
48884  }
48885  catch (Swig::DirectorException &e) {
48886  SWIG_fail;
48887  }
48888  }
48889  resultobj = SWIG_Py_Void();
48890  return resultobj;
48891 fail:
48892  return NULL;
48893 }
48894 
48895 
48896 SWIGINTERN PyObject *_wrap_Assignment_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48897  PyObject *resultobj = 0;
48900  int64_t arg3 ;
48901  void *argp1 = 0 ;
48902  int res1 = 0 ;
48903  long val3 ;
48904  int ecode3 = 0 ;
48905  PyObject * obj0 = 0 ;
48906  PyObject * obj1 = 0 ;
48907  PyObject * obj2 = 0 ;
48908 
48909  if (!PyArg_UnpackTuple(args, "Assignment_SetEndMin", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48910  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48911  if (!SWIG_IsOK(res1)) {
48912  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetEndMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48913  }
48914  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48915  {
48916  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48917  }
48918  ecode3 = SWIG_AsVal_long(obj2, &val3);
48919  if (!SWIG_IsOK(ecode3)) {
48920  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetEndMin" "', argument " "3"" of type '" "int64_t""'");
48921  }
48922  arg3 = static_cast< int64_t >(val3);
48923  {
48924  try {
48925  (arg1)->SetEndMin((operations_research::IntervalVar const *)arg2,arg3);
48926  }
48927  catch (Swig::DirectorException &e) {
48928  SWIG_fail;
48929  }
48930  }
48931  resultobj = SWIG_Py_Void();
48932  return resultobj;
48933 fail:
48934  return NULL;
48935 }
48936 
48937 
48938 SWIGINTERN PyObject *_wrap_Assignment_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48939  PyObject *resultobj = 0;
48942  int64_t arg3 ;
48943  void *argp1 = 0 ;
48944  int res1 = 0 ;
48945  long val3 ;
48946  int ecode3 = 0 ;
48947  PyObject * obj0 = 0 ;
48948  PyObject * obj1 = 0 ;
48949  PyObject * obj2 = 0 ;
48950 
48951  if (!PyArg_UnpackTuple(args, "Assignment_SetEndMax", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
48952  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48953  if (!SWIG_IsOK(res1)) {
48954  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetEndMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
48955  }
48956  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
48957  {
48958  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
48959  }
48960  ecode3 = SWIG_AsVal_long(obj2, &val3);
48961  if (!SWIG_IsOK(ecode3)) {
48962  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetEndMax" "', argument " "3"" of type '" "int64_t""'");
48963  }
48964  arg3 = static_cast< int64_t >(val3);
48965  {
48966  try {
48967  (arg1)->SetEndMax((operations_research::IntervalVar const *)arg2,arg3);
48968  }
48969  catch (Swig::DirectorException &e) {
48970  SWIG_fail;
48971  }
48972  }
48973  resultobj = SWIG_Py_Void();
48974  return resultobj;
48975 fail:
48976  return NULL;
48977 }
48978 
48979 
48980 SWIGINTERN PyObject *_wrap_Assignment_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
48981  PyObject *resultobj = 0;
48984  int64_t arg3 ;
48985  int64_t arg4 ;
48986  void *argp1 = 0 ;
48987  int res1 = 0 ;
48988  long val3 ;
48989  int ecode3 = 0 ;
48990  long val4 ;
48991  int ecode4 = 0 ;
48992  PyObject * obj0 = 0 ;
48993  PyObject * obj1 = 0 ;
48994  PyObject * obj2 = 0 ;
48995  PyObject * obj3 = 0 ;
48996 
48997  if (!PyArg_UnpackTuple(args, "Assignment_SetEndRange", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
48998  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
48999  if (!SWIG_IsOK(res1)) {
49000  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetEndRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49001  }
49002  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49003  {
49004  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49005  }
49006  ecode3 = SWIG_AsVal_long(obj2, &val3);
49007  if (!SWIG_IsOK(ecode3)) {
49008  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetEndRange" "', argument " "3"" of type '" "int64_t""'");
49009  }
49010  arg3 = static_cast< int64_t >(val3);
49011  ecode4 = SWIG_AsVal_long(obj3, &val4);
49012  if (!SWIG_IsOK(ecode4)) {
49013  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Assignment_SetEndRange" "', argument " "4"" of type '" "int64_t""'");
49014  }
49015  arg4 = static_cast< int64_t >(val4);
49016  {
49017  try {
49018  (arg1)->SetEndRange((operations_research::IntervalVar const *)arg2,arg3,arg4);
49019  }
49020  catch (Swig::DirectorException &e) {
49021  SWIG_fail;
49022  }
49023  }
49024  resultobj = SWIG_Py_Void();
49025  return resultobj;
49026 fail:
49027  return NULL;
49028 }
49029 
49030 
49031 SWIGINTERN PyObject *_wrap_Assignment_SetEndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49032  PyObject *resultobj = 0;
49035  int64_t arg3 ;
49036  void *argp1 = 0 ;
49037  int res1 = 0 ;
49038  long val3 ;
49039  int ecode3 = 0 ;
49040  PyObject * obj0 = 0 ;
49041  PyObject * obj1 = 0 ;
49042  PyObject * obj2 = 0 ;
49043 
49044  if (!PyArg_UnpackTuple(args, "Assignment_SetEndValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49045  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49046  if (!SWIG_IsOK(res1)) {
49047  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetEndValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49048  }
49049  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49050  {
49051  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49052  }
49053  ecode3 = SWIG_AsVal_long(obj2, &val3);
49054  if (!SWIG_IsOK(ecode3)) {
49055  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetEndValue" "', argument " "3"" of type '" "int64_t""'");
49056  }
49057  arg3 = static_cast< int64_t >(val3);
49058  {
49059  try {
49060  (arg1)->SetEndValue((operations_research::IntervalVar const *)arg2,arg3);
49061  }
49062  catch (Swig::DirectorException &e) {
49063  SWIG_fail;
49064  }
49065  }
49066  resultobj = SWIG_Py_Void();
49067  return resultobj;
49068 fail:
49069  return NULL;
49070 }
49071 
49072 
49073 SWIGINTERN PyObject *_wrap_Assignment_SetPerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49074  PyObject *resultobj = 0;
49077  int64_t arg3 ;
49078  void *argp1 = 0 ;
49079  int res1 = 0 ;
49080  long val3 ;
49081  int ecode3 = 0 ;
49082  PyObject * obj0 = 0 ;
49083  PyObject * obj1 = 0 ;
49084  PyObject * obj2 = 0 ;
49085 
49086  if (!PyArg_UnpackTuple(args, "Assignment_SetPerformedMin", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49087  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49088  if (!SWIG_IsOK(res1)) {
49089  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetPerformedMin" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49090  }
49091  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49092  {
49093  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49094  }
49095  ecode3 = SWIG_AsVal_long(obj2, &val3);
49096  if (!SWIG_IsOK(ecode3)) {
49097  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetPerformedMin" "', argument " "3"" of type '" "int64_t""'");
49098  }
49099  arg3 = static_cast< int64_t >(val3);
49100  {
49101  try {
49102  (arg1)->SetPerformedMin((operations_research::IntervalVar const *)arg2,arg3);
49103  }
49104  catch (Swig::DirectorException &e) {
49105  SWIG_fail;
49106  }
49107  }
49108  resultobj = SWIG_Py_Void();
49109  return resultobj;
49110 fail:
49111  return NULL;
49112 }
49113 
49114 
49115 SWIGINTERN PyObject *_wrap_Assignment_SetPerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49116  PyObject *resultobj = 0;
49119  int64_t arg3 ;
49120  void *argp1 = 0 ;
49121  int res1 = 0 ;
49122  long val3 ;
49123  int ecode3 = 0 ;
49124  PyObject * obj0 = 0 ;
49125  PyObject * obj1 = 0 ;
49126  PyObject * obj2 = 0 ;
49127 
49128  if (!PyArg_UnpackTuple(args, "Assignment_SetPerformedMax", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49129  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49130  if (!SWIG_IsOK(res1)) {
49131  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetPerformedMax" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49132  }
49133  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49134  {
49135  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49136  }
49137  ecode3 = SWIG_AsVal_long(obj2, &val3);
49138  if (!SWIG_IsOK(ecode3)) {
49139  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetPerformedMax" "', argument " "3"" of type '" "int64_t""'");
49140  }
49141  arg3 = static_cast< int64_t >(val3);
49142  {
49143  try {
49144  (arg1)->SetPerformedMax((operations_research::IntervalVar const *)arg2,arg3);
49145  }
49146  catch (Swig::DirectorException &e) {
49147  SWIG_fail;
49148  }
49149  }
49150  resultobj = SWIG_Py_Void();
49151  return resultobj;
49152 fail:
49153  return NULL;
49154 }
49155 
49156 
49157 SWIGINTERN PyObject *_wrap_Assignment_SetPerformedRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49158  PyObject *resultobj = 0;
49161  int64_t arg3 ;
49162  int64_t arg4 ;
49163  void *argp1 = 0 ;
49164  int res1 = 0 ;
49165  long val3 ;
49166  int ecode3 = 0 ;
49167  long val4 ;
49168  int ecode4 = 0 ;
49169  PyObject * obj0 = 0 ;
49170  PyObject * obj1 = 0 ;
49171  PyObject * obj2 = 0 ;
49172  PyObject * obj3 = 0 ;
49173 
49174  if (!PyArg_UnpackTuple(args, "Assignment_SetPerformedRange", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
49175  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49176  if (!SWIG_IsOK(res1)) {
49177  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetPerformedRange" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49178  }
49179  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49180  {
49181  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49182  }
49183  ecode3 = SWIG_AsVal_long(obj2, &val3);
49184  if (!SWIG_IsOK(ecode3)) {
49185  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetPerformedRange" "', argument " "3"" of type '" "int64_t""'");
49186  }
49187  arg3 = static_cast< int64_t >(val3);
49188  ecode4 = SWIG_AsVal_long(obj3, &val4);
49189  if (!SWIG_IsOK(ecode4)) {
49190  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Assignment_SetPerformedRange" "', argument " "4"" of type '" "int64_t""'");
49191  }
49192  arg4 = static_cast< int64_t >(val4);
49193  {
49194  try {
49195  (arg1)->SetPerformedRange((operations_research::IntervalVar const *)arg2,arg3,arg4);
49196  }
49197  catch (Swig::DirectorException &e) {
49198  SWIG_fail;
49199  }
49200  }
49201  resultobj = SWIG_Py_Void();
49202  return resultobj;
49203 fail:
49204  return NULL;
49205 }
49206 
49207 
49208 SWIGINTERN PyObject *_wrap_Assignment_SetPerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49209  PyObject *resultobj = 0;
49212  int64_t arg3 ;
49213  void *argp1 = 0 ;
49214  int res1 = 0 ;
49215  long val3 ;
49216  int ecode3 = 0 ;
49217  PyObject * obj0 = 0 ;
49218  PyObject * obj1 = 0 ;
49219  PyObject * obj2 = 0 ;
49220 
49221  if (!PyArg_UnpackTuple(args, "Assignment_SetPerformedValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49222  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49223  if (!SWIG_IsOK(res1)) {
49224  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetPerformedValue" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49225  }
49226  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49227  {
49228  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49229  }
49230  ecode3 = SWIG_AsVal_long(obj2, &val3);
49231  if (!SWIG_IsOK(ecode3)) {
49232  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Assignment_SetPerformedValue" "', argument " "3"" of type '" "int64_t""'");
49233  }
49234  arg3 = static_cast< int64_t >(val3);
49235  {
49236  try {
49237  (arg1)->SetPerformedValue((operations_research::IntervalVar const *)arg2,arg3);
49238  }
49239  catch (Swig::DirectorException &e) {
49240  SWIG_fail;
49241  }
49242  }
49243  resultobj = SWIG_Py_Void();
49244  return resultobj;
49245 fail:
49246  return NULL;
49247 }
49248 
49249 
49250 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49251  PyObject *resultobj = 0;
49254  void *argp1 = 0 ;
49255  int res1 = 0 ;
49256  PyObject * obj0 = 0 ;
49257  PyObject * obj1 = 0 ;
49259 
49260  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
49261  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49262  if (!SWIG_IsOK(res1)) {
49263  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49264  }
49265  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49266  {
49267  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49268  }
49269  {
49270  try {
49271  result = (operations_research::SequenceVarElement *)(arg1)->Add(arg2);
49272  }
49273  catch (Swig::DirectorException &e) {
49274  SWIG_fail;
49275  }
49276  }
49278  return resultobj;
49279 fail:
49280  return NULL;
49281 }
49282 
49283 
49284 SWIGINTERN PyObject *_wrap_Assignment_Add__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49285  PyObject *resultobj = 0;
49287  std::vector< operations_research::SequenceVar * > *arg2 = 0 ;
49288  void *argp1 = 0 ;
49289  int res1 = 0 ;
49290  std::vector< operations_research::SequenceVar * > temp2 ;
49291  PyObject * obj0 = 0 ;
49292  PyObject * obj1 = 0 ;
49293 
49294  if (!PyArg_UnpackTuple(args, "Assignment_Add", 2, 2, &obj0, &obj1)) SWIG_fail;
49295  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49296  if (!SWIG_IsOK(res1)) {
49297  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Add" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49298  }
49299  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49300  {
49301  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::SequenceVar*>)) {
49302  if (!PyErr_Occurred())
49303  SWIG_Error(SWIG_TypeError, "sequence(operations_research::SequenceVar*) expected");
49304  return NULL;
49305  }
49306  arg2 = &temp2;
49307  }
49308  {
49309  try {
49310  (arg1)->Add((std::vector< operations_research::SequenceVar * > const &)*arg2);
49311  }
49312  catch (Swig::DirectorException &e) {
49313  SWIG_fail;
49314  }
49315  }
49316  resultobj = SWIG_Py_Void();
49317  return resultobj;
49318 fail:
49319  return NULL;
49320 }
49321 
49322 
49323 SWIGINTERN PyObject *_wrap_Assignment_Add(PyObject *self, PyObject *args) {
49324  Py_ssize_t argc;
49325  PyObject *argv[3] = {
49326  0
49327  };
49328  Py_ssize_t ii;
49329 
49330  if (!PyTuple_Check(args)) SWIG_fail;
49331  argc = PyObject_Length(args);
49332  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
49333  argv[ii] = PyTuple_GET_ITEM(args,ii);
49334  }
49335  if (argc == 2) {
49336  int _v;
49337  void *vptr = 0;
49338  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49339  _v = SWIG_CheckState(res);
49340  if (_v) {
49341  {
49342  _v = CanConvertToIntVar(argv[1]);
49343  if (_v == 0) PyErr_Clear();
49344  }
49345  if (_v) {
49346  return _wrap_Assignment_Add__SWIG_0(self, args);
49347  }
49348  }
49349  }
49350  if (argc == 2) {
49351  int _v;
49352  void *vptr = 0;
49353  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49354  _v = SWIG_CheckState(res);
49355  if (_v) {
49356  {
49357  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
49358  _v = 0;
49359  } else {
49360  const bool is_tuple = PyTuple_Check(argv[1]);
49361  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
49362  size_t i = 0;
49363  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
49364  :PyList_GetItem(argv[1], i))) {
49365  ++i;
49366  }
49367  _v = i == size;
49368  }
49369  }
49370  if (_v) {
49371  return _wrap_Assignment_Add__SWIG_1(self, args);
49372  }
49373  }
49374  }
49375  if (argc == 2) {
49376  int _v;
49377  void *vptr = 0;
49378  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49379  _v = SWIG_CheckState(res);
49380  if (_v) {
49381  {
49382  _v = CanConvertToIntervalVar(argv[1]);
49383  if (_v == 0) PyErr_Clear();
49384  }
49385  if (_v) {
49386  return _wrap_Assignment_Add__SWIG_2(self, args);
49387  }
49388  }
49389  }
49390  if (argc == 2) {
49391  int _v;
49392  void *vptr = 0;
49393  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49394  _v = SWIG_CheckState(res);
49395  if (_v) {
49396  {
49397  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
49398  _v = 0;
49399  } else {
49400  const bool is_tuple = PyTuple_Check(argv[1]);
49401  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
49402  size_t i = 0;
49403  while (i < size && CanConvertToIntervalVar(is_tuple ? PyTuple_GetItem(argv[1], i)
49404  :PyList_GetItem(argv[1], i))) {
49405  ++i;
49406  }
49407  _v = i == size;
49408  }
49409  }
49410  if (_v) {
49411  return _wrap_Assignment_Add__SWIG_3(self, args);
49412  }
49413  }
49414  }
49415  if (argc == 2) {
49416  int _v;
49417  void *vptr = 0;
49418  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49419  _v = SWIG_CheckState(res);
49420  if (_v) {
49421  {
49422  _v = CanConvertToSequenceVar(argv[1]);
49423  if (_v == 0) PyErr_Clear();
49424  }
49425  if (_v) {
49426  return _wrap_Assignment_Add__SWIG_4(self, args);
49427  }
49428  }
49429  }
49430  if (argc == 2) {
49431  int _v;
49432  void *vptr = 0;
49433  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
49434  _v = SWIG_CheckState(res);
49435  if (_v) {
49436  {
49437  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
49438  _v = 0;
49439  } else {
49440  const bool is_tuple = PyTuple_Check(argv[1]);
49441  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
49442  size_t i = 0;
49443  while (i < size && CanConvertToSequenceVar(is_tuple ? PyTuple_GetItem(argv[1], i)
49444  :PyList_GetItem(argv[1], i))) {
49445  ++i;
49446  }
49447  _v = i == size;
49448  }
49449  }
49450  if (_v) {
49451  return _wrap_Assignment_Add__SWIG_5(self, args);
49452  }
49453  }
49454  }
49455 
49456 fail:
49457  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Add'.\n"
49458  " Possible C/C++ prototypes are:\n"
49459  " operations_research::Assignment::Add(operations_research::IntVar *const)\n"
49460  " operations_research::Assignment::Add(std::vector< operations_research::IntVar * > const &)\n"
49461  " operations_research::Assignment::Add(operations_research::IntervalVar *const)\n"
49462  " operations_research::Assignment::Add(std::vector< operations_research::IntervalVar * > const &)\n"
49463  " operations_research::Assignment::Add(operations_research::SequenceVar *const)\n"
49464  " operations_research::Assignment::Add(std::vector< operations_research::SequenceVar * > const &)\n");
49465  return 0;
49466 }
49467 
49468 
49469 SWIGINTERN PyObject *_wrap_Assignment_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49470  PyObject *resultobj = 0;
49473  void *argp1 = 0 ;
49474  int res1 = 0 ;
49475  PyObject * obj0 = 0 ;
49476  PyObject * obj1 = 0 ;
49477  std::vector< int > *result = 0 ;
49478 
49479  if (!PyArg_UnpackTuple(args, "Assignment_ForwardSequence", 2, 2, &obj0, &obj1)) SWIG_fail;
49480  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49481  if (!SWIG_IsOK(res1)) {
49482  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_ForwardSequence" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
49483  }
49484  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49485  {
49486  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49487  }
49488  {
49489  try {
49490  result = (std::vector< int > *) &((operations_research::Assignment const *)arg1)->ForwardSequence((operations_research::SequenceVar const *)arg2);
49491  }
49492  catch (Swig::DirectorException &e) {
49493  SWIG_fail;
49494  }
49495  }
49496  {
49497  resultobj = vector_output_helper(result, &PyInt_FromLong);
49498  }
49499  return resultobj;
49500 fail:
49501  return NULL;
49502 }
49503 
49504 
49505 SWIGINTERN PyObject *_wrap_Assignment_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49506  PyObject *resultobj = 0;
49509  void *argp1 = 0 ;
49510  int res1 = 0 ;
49511  PyObject * obj0 = 0 ;
49512  PyObject * obj1 = 0 ;
49513  std::vector< int > *result = 0 ;
49514 
49515  if (!PyArg_UnpackTuple(args, "Assignment_BackwardSequence", 2, 2, &obj0, &obj1)) SWIG_fail;
49516  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49517  if (!SWIG_IsOK(res1)) {
49518  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_BackwardSequence" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
49519  }
49520  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49521  {
49522  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49523  }
49524  {
49525  try {
49526  result = (std::vector< int > *) &((operations_research::Assignment const *)arg1)->BackwardSequence((operations_research::SequenceVar const *)arg2);
49527  }
49528  catch (Swig::DirectorException &e) {
49529  SWIG_fail;
49530  }
49531  }
49532  {
49533  resultobj = vector_output_helper(result, &PyInt_FromLong);
49534  }
49535  return resultobj;
49536 fail:
49537  return NULL;
49538 }
49539 
49540 
49541 SWIGINTERN PyObject *_wrap_Assignment_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49542  PyObject *resultobj = 0;
49545  void *argp1 = 0 ;
49546  int res1 = 0 ;
49547  PyObject * obj0 = 0 ;
49548  PyObject * obj1 = 0 ;
49549  std::vector< int > *result = 0 ;
49550 
49551  if (!PyArg_UnpackTuple(args, "Assignment_Unperformed", 2, 2, &obj0, &obj1)) SWIG_fail;
49552  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49553  if (!SWIG_IsOK(res1)) {
49554  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Unperformed" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
49555  }
49556  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49557  {
49558  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49559  }
49560  {
49561  try {
49562  result = (std::vector< int > *) &((operations_research::Assignment const *)arg1)->Unperformed((operations_research::SequenceVar const *)arg2);
49563  }
49564  catch (Swig::DirectorException &e) {
49565  SWIG_fail;
49566  }
49567  }
49568  {
49569  resultobj = vector_output_helper(result, &PyInt_FromLong);
49570  }
49571  return resultobj;
49572 fail:
49573  return NULL;
49574 }
49575 
49576 
49577 SWIGINTERN PyObject *_wrap_Assignment_SetSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49578  PyObject *resultobj = 0;
49581  std::vector< int > *arg3 = 0 ;
49582  std::vector< int > *arg4 = 0 ;
49583  std::vector< int > *arg5 = 0 ;
49584  void *argp1 = 0 ;
49585  int res1 = 0 ;
49586  std::vector< int > temp3 ;
49587  std::vector< int > temp4 ;
49588  std::vector< int > temp5 ;
49589  PyObject * obj0 = 0 ;
49590  PyObject * obj1 = 0 ;
49591  PyObject * obj2 = 0 ;
49592  PyObject * obj3 = 0 ;
49593  PyObject * obj4 = 0 ;
49594 
49595  if (!PyArg_UnpackTuple(args, "Assignment_SetSequence", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
49596  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49597  if (!SWIG_IsOK(res1)) {
49598  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetSequence" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49599  }
49600  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49601  {
49602  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49603  }
49604  {
49605  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
49606  if (!PyErr_Occurred())
49607  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49608  return NULL;
49609  }
49610  arg3 = &temp3;
49611  }
49612  {
49613  if (!vector_input_helper(obj3, &temp4, PyObjAs<int>)) {
49614  if (!PyErr_Occurred())
49615  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49616  return NULL;
49617  }
49618  arg4 = &temp4;
49619  }
49620  {
49621  if (!vector_input_helper(obj4, &temp5, PyObjAs<int>)) {
49622  if (!PyErr_Occurred())
49623  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49624  return NULL;
49625  }
49626  arg5 = &temp5;
49627  }
49628  {
49629  try {
49630  (arg1)->SetSequence((operations_research::SequenceVar const *)arg2,(std::vector< int > const &)*arg3,(std::vector< int > const &)*arg4,(std::vector< int > const &)*arg5);
49631  }
49632  catch (Swig::DirectorException &e) {
49633  SWIG_fail;
49634  }
49635  }
49636  resultobj = SWIG_Py_Void();
49637  return resultobj;
49638 fail:
49639  return NULL;
49640 }
49641 
49642 
49643 SWIGINTERN PyObject *_wrap_Assignment_SetForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49644  PyObject *resultobj = 0;
49647  std::vector< int > *arg3 = 0 ;
49648  void *argp1 = 0 ;
49649  int res1 = 0 ;
49650  std::vector< int > temp3 ;
49651  PyObject * obj0 = 0 ;
49652  PyObject * obj1 = 0 ;
49653  PyObject * obj2 = 0 ;
49654 
49655  if (!PyArg_UnpackTuple(args, "Assignment_SetForwardSequence", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49656  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49657  if (!SWIG_IsOK(res1)) {
49658  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetForwardSequence" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49659  }
49660  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49661  {
49662  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49663  }
49664  {
49665  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
49666  if (!PyErr_Occurred())
49667  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49668  return NULL;
49669  }
49670  arg3 = &temp3;
49671  }
49672  {
49673  try {
49674  (arg1)->SetForwardSequence((operations_research::SequenceVar const *)arg2,(std::vector< int > const &)*arg3);
49675  }
49676  catch (Swig::DirectorException &e) {
49677  SWIG_fail;
49678  }
49679  }
49680  resultobj = SWIG_Py_Void();
49681  return resultobj;
49682 fail:
49683  return NULL;
49684 }
49685 
49686 
49687 SWIGINTERN PyObject *_wrap_Assignment_SetBackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49688  PyObject *resultobj = 0;
49691  std::vector< int > *arg3 = 0 ;
49692  void *argp1 = 0 ;
49693  int res1 = 0 ;
49694  std::vector< int > temp3 ;
49695  PyObject * obj0 = 0 ;
49696  PyObject * obj1 = 0 ;
49697  PyObject * obj2 = 0 ;
49698 
49699  if (!PyArg_UnpackTuple(args, "Assignment_SetBackwardSequence", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49700  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49701  if (!SWIG_IsOK(res1)) {
49702  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetBackwardSequence" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49703  }
49704  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49705  {
49706  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49707  }
49708  {
49709  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
49710  if (!PyErr_Occurred())
49711  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49712  return NULL;
49713  }
49714  arg3 = &temp3;
49715  }
49716  {
49717  try {
49718  (arg1)->SetBackwardSequence((operations_research::SequenceVar const *)arg2,(std::vector< int > const &)*arg3);
49719  }
49720  catch (Swig::DirectorException &e) {
49721  SWIG_fail;
49722  }
49723  }
49724  resultobj = SWIG_Py_Void();
49725  return resultobj;
49726 fail:
49727  return NULL;
49728 }
49729 
49730 
49731 SWIGINTERN PyObject *_wrap_Assignment_SetUnperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49732  PyObject *resultobj = 0;
49735  std::vector< int > *arg3 = 0 ;
49736  void *argp1 = 0 ;
49737  int res1 = 0 ;
49738  std::vector< int > temp3 ;
49739  PyObject * obj0 = 0 ;
49740  PyObject * obj1 = 0 ;
49741  PyObject * obj2 = 0 ;
49742 
49743  if (!PyArg_UnpackTuple(args, "Assignment_SetUnperformed", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
49744  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49745  if (!SWIG_IsOK(res1)) {
49746  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SetUnperformed" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49747  }
49748  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49749  {
49750  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49751  }
49752  {
49753  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
49754  if (!PyErr_Occurred())
49755  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
49756  return NULL;
49757  }
49758  arg3 = &temp3;
49759  }
49760  {
49761  try {
49762  (arg1)->SetUnperformed((operations_research::SequenceVar const *)arg2,(std::vector< int > const &)*arg3);
49763  }
49764  catch (Swig::DirectorException &e) {
49765  SWIG_fail;
49766  }
49767  }
49768  resultobj = SWIG_Py_Void();
49769  return resultobj;
49770 fail:
49771  return NULL;
49772 }
49773 
49774 
49775 SWIGINTERN PyObject *_wrap_Assignment_Activate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49776  PyObject *resultobj = 0;
49779  void *argp1 = 0 ;
49780  int res1 = 0 ;
49781  PyObject * obj0 = 0 ;
49782  PyObject * obj1 = 0 ;
49783 
49784  if (!PyArg_UnpackTuple(args, "Assignment_Activate", 2, 2, &obj0, &obj1)) SWIG_fail;
49785  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49786  if (!SWIG_IsOK(res1)) {
49787  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49788  }
49789  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49790  {
49791  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49792  }
49793  {
49794  try {
49795  (arg1)->Activate((operations_research::IntVar const *)arg2);
49796  }
49797  catch (Swig::DirectorException &e) {
49798  SWIG_fail;
49799  }
49800  }
49801  resultobj = SWIG_Py_Void();
49802  return resultobj;
49803 fail:
49804  return NULL;
49805 }
49806 
49807 
49808 SWIGINTERN PyObject *_wrap_Assignment_Deactivate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49809  PyObject *resultobj = 0;
49812  void *argp1 = 0 ;
49813  int res1 = 0 ;
49814  PyObject * obj0 = 0 ;
49815  PyObject * obj1 = 0 ;
49816 
49817  if (!PyArg_UnpackTuple(args, "Assignment_Deactivate", 2, 2, &obj0, &obj1)) SWIG_fail;
49818  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49819  if (!SWIG_IsOK(res1)) {
49820  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Deactivate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49821  }
49822  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49823  {
49824  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49825  }
49826  {
49827  try {
49828  (arg1)->Deactivate((operations_research::IntVar const *)arg2);
49829  }
49830  catch (Swig::DirectorException &e) {
49831  SWIG_fail;
49832  }
49833  }
49834  resultobj = SWIG_Py_Void();
49835  return resultobj;
49836 fail:
49837  return NULL;
49838 }
49839 
49840 
49841 SWIGINTERN PyObject *_wrap_Assignment_Activated__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49842  PyObject *resultobj = 0;
49845  void *argp1 = 0 ;
49846  int res1 = 0 ;
49847  PyObject * obj0 = 0 ;
49848  PyObject * obj1 = 0 ;
49849  bool result;
49850 
49851  if (!PyArg_UnpackTuple(args, "Assignment_Activated", 2, 2, &obj0, &obj1)) SWIG_fail;
49852  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49853  if (!SWIG_IsOK(res1)) {
49854  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activated" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
49855  }
49856  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49857  {
49858  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49859  }
49860  {
49861  try {
49862  result = (bool)((operations_research::Assignment const *)arg1)->Activated((operations_research::IntVar const *)arg2);
49863  }
49864  catch (Swig::DirectorException &e) {
49865  SWIG_fail;
49866  }
49867  }
49868  resultobj = SWIG_From_bool(static_cast< bool >(result));
49869  return resultobj;
49870 fail:
49871  return NULL;
49872 }
49873 
49874 
49875 SWIGINTERN PyObject *_wrap_Assignment_Activate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49876  PyObject *resultobj = 0;
49879  void *argp1 = 0 ;
49880  int res1 = 0 ;
49881  PyObject * obj0 = 0 ;
49882  PyObject * obj1 = 0 ;
49883 
49884  if (!PyArg_UnpackTuple(args, "Assignment_Activate", 2, 2, &obj0, &obj1)) SWIG_fail;
49885  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49886  if (!SWIG_IsOK(res1)) {
49887  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49888  }
49889  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49890  {
49891  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49892  }
49893  {
49894  try {
49895  (arg1)->Activate((operations_research::IntervalVar const *)arg2);
49896  }
49897  catch (Swig::DirectorException &e) {
49898  SWIG_fail;
49899  }
49900  }
49901  resultobj = SWIG_Py_Void();
49902  return resultobj;
49903 fail:
49904  return NULL;
49905 }
49906 
49907 
49908 SWIGINTERN PyObject *_wrap_Assignment_Deactivate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49909  PyObject *resultobj = 0;
49912  void *argp1 = 0 ;
49913  int res1 = 0 ;
49914  PyObject * obj0 = 0 ;
49915  PyObject * obj1 = 0 ;
49916 
49917  if (!PyArg_UnpackTuple(args, "Assignment_Deactivate", 2, 2, &obj0, &obj1)) SWIG_fail;
49918  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49919  if (!SWIG_IsOK(res1)) {
49920  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Deactivate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49921  }
49922  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49923  {
49924  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49925  }
49926  {
49927  try {
49928  (arg1)->Deactivate((operations_research::IntervalVar const *)arg2);
49929  }
49930  catch (Swig::DirectorException &e) {
49931  SWIG_fail;
49932  }
49933  }
49934  resultobj = SWIG_Py_Void();
49935  return resultobj;
49936 fail:
49937  return NULL;
49938 }
49939 
49940 
49941 SWIGINTERN PyObject *_wrap_Assignment_Activated__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49942  PyObject *resultobj = 0;
49945  void *argp1 = 0 ;
49946  int res1 = 0 ;
49947  PyObject * obj0 = 0 ;
49948  PyObject * obj1 = 0 ;
49949  bool result;
49950 
49951  if (!PyArg_UnpackTuple(args, "Assignment_Activated", 2, 2, &obj0, &obj1)) SWIG_fail;
49952  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49953  if (!SWIG_IsOK(res1)) {
49954  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activated" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
49955  }
49956  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49957  {
49958  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49959  }
49960  {
49961  try {
49962  result = (bool)((operations_research::Assignment const *)arg1)->Activated((operations_research::IntervalVar const *)arg2);
49963  }
49964  catch (Swig::DirectorException &e) {
49965  SWIG_fail;
49966  }
49967  }
49968  resultobj = SWIG_From_bool(static_cast< bool >(result));
49969  return resultobj;
49970 fail:
49971  return NULL;
49972 }
49973 
49974 
49975 SWIGINTERN PyObject *_wrap_Assignment_Activate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
49976  PyObject *resultobj = 0;
49979  void *argp1 = 0 ;
49980  int res1 = 0 ;
49981  PyObject * obj0 = 0 ;
49982  PyObject * obj1 = 0 ;
49983 
49984  if (!PyArg_UnpackTuple(args, "Assignment_Activate", 2, 2, &obj0, &obj1)) SWIG_fail;
49985  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
49986  if (!SWIG_IsOK(res1)) {
49987  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
49988  }
49989  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
49990  {
49991  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
49992  }
49993  {
49994  try {
49995  (arg1)->Activate((operations_research::SequenceVar const *)arg2);
49996  }
49997  catch (Swig::DirectorException &e) {
49998  SWIG_fail;
49999  }
50000  }
50001  resultobj = SWIG_Py_Void();
50002  return resultobj;
50003 fail:
50004  return NULL;
50005 }
50006 
50007 
50008 SWIGINTERN PyObject *_wrap_Assignment_Activate(PyObject *self, PyObject *args) {
50009  Py_ssize_t argc;
50010  PyObject *argv[3] = {
50011  0
50012  };
50013  Py_ssize_t ii;
50014 
50015  if (!PyTuple_Check(args)) SWIG_fail;
50016  argc = PyObject_Length(args);
50017  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
50018  argv[ii] = PyTuple_GET_ITEM(args,ii);
50019  }
50020  if (argc == 2) {
50021  int _v;
50022  void *vptr = 0;
50023  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50024  _v = SWIG_CheckState(res);
50025  if (_v) {
50026  {
50027  _v = CanConvertToIntVar(argv[1]);
50028  if (_v == 0) PyErr_Clear();
50029  }
50030  if (_v) {
50031  return _wrap_Assignment_Activate__SWIG_0(self, args);
50032  }
50033  }
50034  }
50035  if (argc == 2) {
50036  int _v;
50037  void *vptr = 0;
50038  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50039  _v = SWIG_CheckState(res);
50040  if (_v) {
50041  {
50042  _v = CanConvertToIntervalVar(argv[1]);
50043  if (_v == 0) PyErr_Clear();
50044  }
50045  if (_v) {
50046  return _wrap_Assignment_Activate__SWIG_1(self, args);
50047  }
50048  }
50049  }
50050  if (argc == 2) {
50051  int _v;
50052  void *vptr = 0;
50053  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50054  _v = SWIG_CheckState(res);
50055  if (_v) {
50056  {
50057  _v = CanConvertToSequenceVar(argv[1]);
50058  if (_v == 0) PyErr_Clear();
50059  }
50060  if (_v) {
50061  return _wrap_Assignment_Activate__SWIG_2(self, args);
50062  }
50063  }
50064  }
50065 
50066 fail:
50067  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Activate'.\n"
50068  " Possible C/C++ prototypes are:\n"
50069  " operations_research::Assignment::Activate(operations_research::IntVar const *const)\n"
50070  " operations_research::Assignment::Activate(operations_research::IntervalVar const *const)\n"
50071  " operations_research::Assignment::Activate(operations_research::SequenceVar const *const)\n");
50072  return 0;
50073 }
50074 
50075 
50076 SWIGINTERN PyObject *_wrap_Assignment_Deactivate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50077  PyObject *resultobj = 0;
50080  void *argp1 = 0 ;
50081  int res1 = 0 ;
50082  PyObject * obj0 = 0 ;
50083  PyObject * obj1 = 0 ;
50084 
50085  if (!PyArg_UnpackTuple(args, "Assignment_Deactivate", 2, 2, &obj0, &obj1)) SWIG_fail;
50086  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50087  if (!SWIG_IsOK(res1)) {
50088  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Deactivate" "', argument " "1"" of type '" "operations_research::Assignment *""'");
50089  }
50090  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50091  {
50092  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
50093  }
50094  {
50095  try {
50096  (arg1)->Deactivate((operations_research::SequenceVar const *)arg2);
50097  }
50098  catch (Swig::DirectorException &e) {
50099  SWIG_fail;
50100  }
50101  }
50102  resultobj = SWIG_Py_Void();
50103  return resultobj;
50104 fail:
50105  return NULL;
50106 }
50107 
50108 
50109 SWIGINTERN PyObject *_wrap_Assignment_Deactivate(PyObject *self, PyObject *args) {
50110  Py_ssize_t argc;
50111  PyObject *argv[3] = {
50112  0
50113  };
50114  Py_ssize_t ii;
50115 
50116  if (!PyTuple_Check(args)) SWIG_fail;
50117  argc = PyObject_Length(args);
50118  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
50119  argv[ii] = PyTuple_GET_ITEM(args,ii);
50120  }
50121  if (argc == 2) {
50122  int _v;
50123  void *vptr = 0;
50124  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50125  _v = SWIG_CheckState(res);
50126  if (_v) {
50127  {
50128  _v = CanConvertToIntVar(argv[1]);
50129  if (_v == 0) PyErr_Clear();
50130  }
50131  if (_v) {
50132  return _wrap_Assignment_Deactivate__SWIG_0(self, args);
50133  }
50134  }
50135  }
50136  if (argc == 2) {
50137  int _v;
50138  void *vptr = 0;
50139  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50140  _v = SWIG_CheckState(res);
50141  if (_v) {
50142  {
50143  _v = CanConvertToIntervalVar(argv[1]);
50144  if (_v == 0) PyErr_Clear();
50145  }
50146  if (_v) {
50147  return _wrap_Assignment_Deactivate__SWIG_1(self, args);
50148  }
50149  }
50150  }
50151  if (argc == 2) {
50152  int _v;
50153  void *vptr = 0;
50154  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50155  _v = SWIG_CheckState(res);
50156  if (_v) {
50157  {
50158  _v = CanConvertToSequenceVar(argv[1]);
50159  if (_v == 0) PyErr_Clear();
50160  }
50161  if (_v) {
50162  return _wrap_Assignment_Deactivate__SWIG_2(self, args);
50163  }
50164  }
50165  }
50166 
50167 fail:
50168  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Deactivate'.\n"
50169  " Possible C/C++ prototypes are:\n"
50170  " operations_research::Assignment::Deactivate(operations_research::IntVar const *const)\n"
50171  " operations_research::Assignment::Deactivate(operations_research::IntervalVar const *const)\n"
50172  " operations_research::Assignment::Deactivate(operations_research::SequenceVar const *const)\n");
50173  return 0;
50174 }
50175 
50176 
50177 SWIGINTERN PyObject *_wrap_Assignment_Activated__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50178  PyObject *resultobj = 0;
50181  void *argp1 = 0 ;
50182  int res1 = 0 ;
50183  PyObject * obj0 = 0 ;
50184  PyObject * obj1 = 0 ;
50185  bool result;
50186 
50187  if (!PyArg_UnpackTuple(args, "Assignment_Activated", 2, 2, &obj0, &obj1)) SWIG_fail;
50188  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50189  if (!SWIG_IsOK(res1)) {
50190  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_Activated" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50191  }
50192  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50193  {
50194  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
50195  }
50196  {
50197  try {
50198  result = (bool)((operations_research::Assignment const *)arg1)->Activated((operations_research::SequenceVar const *)arg2);
50199  }
50200  catch (Swig::DirectorException &e) {
50201  SWIG_fail;
50202  }
50203  }
50204  resultobj = SWIG_From_bool(static_cast< bool >(result));
50205  return resultobj;
50206 fail:
50207  return NULL;
50208 }
50209 
50210 
50211 SWIGINTERN PyObject *_wrap_Assignment_Activated(PyObject *self, PyObject *args) {
50212  Py_ssize_t argc;
50213  PyObject *argv[3] = {
50214  0
50215  };
50216  Py_ssize_t ii;
50217 
50218  if (!PyTuple_Check(args)) SWIG_fail;
50219  argc = PyObject_Length(args);
50220  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
50221  argv[ii] = PyTuple_GET_ITEM(args,ii);
50222  }
50223  if (argc == 2) {
50224  int _v;
50225  void *vptr = 0;
50226  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50227  _v = SWIG_CheckState(res);
50228  if (_v) {
50229  {
50230  _v = CanConvertToIntVar(argv[1]);
50231  if (_v == 0) PyErr_Clear();
50232  }
50233  if (_v) {
50234  return _wrap_Assignment_Activated__SWIG_0(self, args);
50235  }
50236  }
50237  }
50238  if (argc == 2) {
50239  int _v;
50240  void *vptr = 0;
50241  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50242  _v = SWIG_CheckState(res);
50243  if (_v) {
50244  {
50245  _v = CanConvertToIntervalVar(argv[1]);
50246  if (_v == 0) PyErr_Clear();
50247  }
50248  if (_v) {
50249  return _wrap_Assignment_Activated__SWIG_1(self, args);
50250  }
50251  }
50252  }
50253  if (argc == 2) {
50254  int _v;
50255  void *vptr = 0;
50256  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
50257  _v = SWIG_CheckState(res);
50258  if (_v) {
50259  {
50260  _v = CanConvertToSequenceVar(argv[1]);
50261  if (_v == 0) PyErr_Clear();
50262  }
50263  if (_v) {
50264  return _wrap_Assignment_Activated__SWIG_2(self, args);
50265  }
50266  }
50267  }
50268 
50269 fail:
50270  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Assignment_Activated'.\n"
50271  " Possible C/C++ prototypes are:\n"
50272  " operations_research::Assignment::Activated(operations_research::IntVar const *const) const\n"
50273  " operations_research::Assignment::Activated(operations_research::IntervalVar const *const) const\n"
50274  " operations_research::Assignment::Activated(operations_research::SequenceVar const *const) const\n");
50275  return 0;
50276 }
50277 
50278 
50279 SWIGINTERN PyObject *_wrap_Assignment_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50280  PyObject *resultobj = 0;
50282  void *argp1 = 0 ;
50283  int res1 = 0 ;
50284  PyObject * obj0 = 0 ;
50285  std::string result;
50286 
50287  if (!PyArg_UnpackTuple(args, "Assignment_DebugString", 1, 1, &obj0)) SWIG_fail;
50288  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50289  if (!SWIG_IsOK(res1)) {
50290  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_DebugString" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50291  }
50292  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50293  {
50294  try {
50295  result = ((operations_research::Assignment const *)arg1)->DebugString();
50296  }
50297  catch (Swig::DirectorException &e) {
50298  SWIG_fail;
50299  }
50300  }
50301  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
50302  return resultobj;
50303 fail:
50304  return NULL;
50305 }
50306 
50307 
50308 SWIGINTERN PyObject *_wrap_Assignment_IntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50309  PyObject *resultobj = 0;
50311  void *argp1 = 0 ;
50312  int res1 = 0 ;
50313  PyObject * obj0 = 0 ;
50315 
50316  if (!PyArg_UnpackTuple(args, "Assignment_IntVarContainer", 1, 1, &obj0)) SWIG_fail;
50317  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50318  if (!SWIG_IsOK(res1)) {
50319  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_IntVarContainer" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50320  }
50321  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50322  {
50323  try {
50324  result = (operations_research::Assignment::IntContainer *) &((operations_research::Assignment const *)arg1)->IntVarContainer();
50325  }
50326  catch (Swig::DirectorException &e) {
50327  SWIG_fail;
50328  }
50329  }
50331  return resultobj;
50332 fail:
50333  return NULL;
50334 }
50335 
50336 
50337 SWIGINTERN PyObject *_wrap_Assignment_MutableIntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50338  PyObject *resultobj = 0;
50340  void *argp1 = 0 ;
50341  int res1 = 0 ;
50342  PyObject * obj0 = 0 ;
50344 
50345  if (!PyArg_UnpackTuple(args, "Assignment_MutableIntVarContainer", 1, 1, &obj0)) SWIG_fail;
50346  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50347  if (!SWIG_IsOK(res1)) {
50348  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_MutableIntVarContainer" "', argument " "1"" of type '" "operations_research::Assignment *""'");
50349  }
50350  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50351  {
50352  try {
50353  result = (operations_research::Assignment::IntContainer *)(arg1)->MutableIntVarContainer();
50354  }
50355  catch (Swig::DirectorException &e) {
50356  SWIG_fail;
50357  }
50358  }
50360  return resultobj;
50361 fail:
50362  return NULL;
50363 }
50364 
50365 
50366 SWIGINTERN PyObject *_wrap_Assignment_IntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50367  PyObject *resultobj = 0;
50369  void *argp1 = 0 ;
50370  int res1 = 0 ;
50371  PyObject * obj0 = 0 ;
50373 
50374  if (!PyArg_UnpackTuple(args, "Assignment_IntervalVarContainer", 1, 1, &obj0)) SWIG_fail;
50375  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50376  if (!SWIG_IsOK(res1)) {
50377  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_IntervalVarContainer" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50378  }
50379  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50380  {
50381  try {
50382  result = (operations_research::Assignment::IntervalContainer *) &((operations_research::Assignment const *)arg1)->IntervalVarContainer();
50383  }
50384  catch (Swig::DirectorException &e) {
50385  SWIG_fail;
50386  }
50387  }
50389  return resultobj;
50390 fail:
50391  return NULL;
50392 }
50393 
50394 
50395 SWIGINTERN PyObject *_wrap_Assignment_MutableIntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50396  PyObject *resultobj = 0;
50398  void *argp1 = 0 ;
50399  int res1 = 0 ;
50400  PyObject * obj0 = 0 ;
50402 
50403  if (!PyArg_UnpackTuple(args, "Assignment_MutableIntervalVarContainer", 1, 1, &obj0)) SWIG_fail;
50404  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50405  if (!SWIG_IsOK(res1)) {
50406  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_MutableIntervalVarContainer" "', argument " "1"" of type '" "operations_research::Assignment *""'");
50407  }
50408  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50409  {
50410  try {
50411  result = (operations_research::Assignment::IntervalContainer *)(arg1)->MutableIntervalVarContainer();
50412  }
50413  catch (Swig::DirectorException &e) {
50414  SWIG_fail;
50415  }
50416  }
50418  return resultobj;
50419 fail:
50420  return NULL;
50421 }
50422 
50423 
50424 SWIGINTERN PyObject *_wrap_Assignment_SequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50425  PyObject *resultobj = 0;
50427  void *argp1 = 0 ;
50428  int res1 = 0 ;
50429  PyObject * obj0 = 0 ;
50431 
50432  if (!PyArg_UnpackTuple(args, "Assignment_SequenceVarContainer", 1, 1, &obj0)) SWIG_fail;
50433  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50434  if (!SWIG_IsOK(res1)) {
50435  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_SequenceVarContainer" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50436  }
50437  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50438  {
50439  try {
50440  result = (operations_research::Assignment::SequenceContainer *) &((operations_research::Assignment const *)arg1)->SequenceVarContainer();
50441  }
50442  catch (Swig::DirectorException &e) {
50443  SWIG_fail;
50444  }
50445  }
50447  return resultobj;
50448 fail:
50449  return NULL;
50450 }
50451 
50452 
50453 SWIGINTERN PyObject *_wrap_Assignment_MutableSequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50454  PyObject *resultobj = 0;
50456  void *argp1 = 0 ;
50457  int res1 = 0 ;
50458  PyObject * obj0 = 0 ;
50460 
50461  if (!PyArg_UnpackTuple(args, "Assignment_MutableSequenceVarContainer", 1, 1, &obj0)) SWIG_fail;
50462  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50463  if (!SWIG_IsOK(res1)) {
50464  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment_MutableSequenceVarContainer" "', argument " "1"" of type '" "operations_research::Assignment *""'");
50465  }
50466  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50467  {
50468  try {
50469  result = (operations_research::Assignment::SequenceContainer *)(arg1)->MutableSequenceVarContainer();
50470  }
50471  catch (Swig::DirectorException &e) {
50472  SWIG_fail;
50473  }
50474  }
50476  return resultobj;
50477 fail:
50478  return NULL;
50479 }
50480 
50481 
50482 SWIGINTERN PyObject *_wrap_Assignment___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50483  PyObject *resultobj = 0;
50486  void *argp1 = 0 ;
50487  int res1 = 0 ;
50488  void *argp2 = 0 ;
50489  int res2 = 0 ;
50490  PyObject * obj0 = 0 ;
50491  PyObject * obj1 = 0 ;
50492  bool result;
50493 
50494  if (!PyArg_UnpackTuple(args, "Assignment___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
50495  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50496  if (!SWIG_IsOK(res1)) {
50497  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment___eq__" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50498  }
50499  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50500  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
50501  if (!SWIG_IsOK(res2)) {
50502  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Assignment___eq__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50503  }
50504  if (!argp2) {
50505  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Assignment___eq__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50506  }
50507  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
50508  {
50509  try {
50510  result = (bool)((operations_research::Assignment const *)arg1)->operator ==((operations_research::Assignment const &)*arg2);
50511  }
50512  catch (Swig::DirectorException &e) {
50513  SWIG_fail;
50514  }
50515  }
50516  resultobj = SWIG_From_bool(static_cast< bool >(result));
50517  return resultobj;
50518 fail:
50519  PyErr_Clear();
50520  Py_INCREF(Py_NotImplemented);
50521  return Py_NotImplemented;
50522 }
50523 
50524 
50525 SWIGINTERN PyObject *_wrap_Assignment___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50526  PyObject *resultobj = 0;
50529  void *argp1 = 0 ;
50530  int res1 = 0 ;
50531  void *argp2 = 0 ;
50532  int res2 = 0 ;
50533  PyObject * obj0 = 0 ;
50534  PyObject * obj1 = 0 ;
50535  bool result;
50536 
50537  if (!PyArg_UnpackTuple(args, "Assignment___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
50538  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
50539  if (!SWIG_IsOK(res1)) {
50540  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Assignment___ne__" "', argument " "1"" of type '" "operations_research::Assignment const *""'");
50541  }
50542  arg1 = reinterpret_cast< operations_research::Assignment * >(argp1);
50543  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
50544  if (!SWIG_IsOK(res2)) {
50545  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Assignment___ne__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50546  }
50547  if (!argp2) {
50548  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Assignment___ne__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50549  }
50550  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
50551  {
50552  try {
50553  result = (bool)((operations_research::Assignment const *)arg1)->operator !=((operations_research::Assignment const &)*arg2);
50554  }
50555  catch (Swig::DirectorException &e) {
50556  SWIG_fail;
50557  }
50558  }
50559  resultobj = SWIG_From_bool(static_cast< bool >(result));
50560  return resultobj;
50561 fail:
50562  PyErr_Clear();
50563  Py_INCREF(Py_NotImplemented);
50564  return Py_NotImplemented;
50565 }
50566 
50567 
50568 SWIGINTERN PyObject *Assignment_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50569  PyObject *obj;
50570  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
50572  return SWIG_Py_Void();
50573 }
50574 
50575 SWIGINTERN PyObject *_wrap___lshift____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
50576  PyObject *resultobj = 0;
50577  std::ostream *arg1 = 0 ;
50579  void *argp1 = 0 ;
50580  int res1 = 0 ;
50581  void *argp2 = 0 ;
50582  int res2 = 0 ;
50583  PyObject * obj0 = 0 ;
50584  PyObject * obj1 = 0 ;
50585  std::ostream *result = 0 ;
50586 
50587  if (!PyArg_UnpackTuple(args, "__lshift__", 2, 2, &obj0, &obj1)) SWIG_fail;
50588  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_std__ostream, 0 );
50589  if (!SWIG_IsOK(res1)) {
50590  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
50591  }
50592  if (!argp1) {
50593  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lshift__" "', argument " "1"" of type '" "std::ostream &""'");
50594  }
50595  arg1 = reinterpret_cast< std::ostream * >(argp1);
50596  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
50597  if (!SWIG_IsOK(res2)) {
50598  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50599  }
50600  if (!argp2) {
50601  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
50602  }
50603  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
50604  {
50605  try {
50606  result = (std::ostream *) &operations_research::operator <<(*arg1,(operations_research::Assignment const &)*arg2);
50607  }
50608  catch (Swig::DirectorException &e) {
50609  SWIG_fail;
50610  }
50611  }
50612  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, 0 | 0 );
50613  return resultobj;
50614 fail:
50615  PyErr_Clear();
50616  Py_INCREF(Py_NotImplemented);
50617  return Py_NotImplemented;
50618 }
50619 
50620 
50621 SWIGINTERN PyObject *_wrap___lshift__(PyObject *self, PyObject *args) {
50622  Py_ssize_t argc;
50623  PyObject *argv[3] = {
50624  0
50625  };
50626  Py_ssize_t ii;
50627 
50628  if (!PyTuple_Check(args)) SWIG_fail;
50629  argc = PyObject_Length(args);
50630  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
50631  argv[ii] = PyTuple_GET_ITEM(args,ii);
50632  }
50633  if (argc == 2) {
50634  int _v;
50635  void *vptr = 0;
50636  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_std__ostream, SWIG_POINTER_NO_NULL);
50637  _v = SWIG_CheckState(res);
50638  if (_v) {
50639  void *vptr = 0;
50640  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Solver, 0);
50641  _v = SWIG_CheckState(res);
50642  if (_v) {
50643  return _wrap___lshift____SWIG_0(self, args);
50644  }
50645  }
50646  }
50647  if (argc == 2) {
50648  int _v;
50649  void *vptr = 0;
50650  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_std__ostream, SWIG_POINTER_NO_NULL);
50651  _v = SWIG_CheckState(res);
50652  if (_v) {
50654  _v = SWIG_CheckState(res);
50655  if (_v) {
50656  return _wrap___lshift____SWIG_2(self, args);
50657  }
50658  }
50659  }
50660  if (argc == 2) {
50661  int _v;
50662  void *vptr = 0;
50663  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_std__ostream, SWIG_POINTER_NO_NULL);
50664  _v = SWIG_CheckState(res);
50665  if (_v) {
50666  void *vptr = 0;
50667  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__BaseObject, 0);
50668  _v = SWIG_CheckState(res);
50669  if (_v) {
50670  return _wrap___lshift____SWIG_1(self, args);
50671  }
50672  }
50673  }
50674 
50675 fail:
50676  Py_INCREF(Py_NotImplemented);
50677  return Py_NotImplemented;
50678 }
50679 
50680 
50682  PyObject *resultobj = 0;
50684  std::vector< int64_t > *arg2 = 0 ;
50685  std::vector< int64_t > *arg3 = 0 ;
50686  void *argp1 = 0 ;
50687  int res1 = 0 ;
50688  std::vector< int64_t > temp2 ;
50689  std::vector< int64_t > temp3 ;
50690  PyObject * obj0 = 0 ;
50691  PyObject * obj1 = 0 ;
50692  PyObject * obj2 = 0 ;
50693 
50694  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumLessOrEqualConstantDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
50695  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
50696  if (!SWIG_IsOK(res1)) {
50697  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumLessOrEqualConstantDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
50698  }
50699  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
50700  {
50701  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
50702  if (!PyErr_Occurred())
50703  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
50704  return NULL;
50705  }
50706  arg2 = &temp2;
50707  }
50708  {
50709  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
50710  if (!PyErr_Occurred())
50711  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
50712  return NULL;
50713  }
50714  arg3 = &temp3;
50715  }
50716  {
50717  try {
50718  (arg1)->AddWeightedSumLessOrEqualConstantDimension((std::vector< int64_t > const &)*arg2,(std::vector< int64_t > const &)*arg3);
50719  }
50720  catch (Swig::DirectorException &e) {
50721  SWIG_fail;
50722  }
50723  }
50724  resultobj = SWIG_Py_Void();
50725  return resultobj;
50726 fail:
50727  return NULL;
50728 }
50729 
50730 
50732  PyObject *resultobj = 0;
50735  std::vector< int64_t > *arg3 = 0 ;
50736  void *argp1 = 0 ;
50737  int res1 = 0 ;
50738  std::vector< int64_t > temp3 ;
50739  PyObject * obj0 = 0 ;
50740  PyObject * obj1 = 0 ;
50741  PyObject * obj2 = 0 ;
50742 
50743  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumLessOrEqualConstantDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
50744  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
50745  if (!SWIG_IsOK(res1)) {
50746  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumLessOrEqualConstantDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
50747  }
50748  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
50749  {
50750  SharedPyPtr input(obj1);
50751  arg2 = [input](int64_t index) {
50752  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
50753  };
50754  }
50755  {
50756  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
50757  if (!PyErr_Occurred())
50758  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
50759  return NULL;
50760  }
50761  arg3 = &temp3;
50762  }
50763  {
50764  try {
50765  (arg1)->AddWeightedSumLessOrEqualConstantDimension(arg2,(std::vector< int64_t > const &)*arg3);
50766  }
50767  catch (Swig::DirectorException &e) {
50768  SWIG_fail;
50769  }
50770  }
50771  resultobj = SWIG_Py_Void();
50772  return resultobj;
50773 fail:
50774  return NULL;
50775 }
50776 
50777 
50779  PyObject *resultobj = 0;
50782  std::vector< int64_t > *arg3 = 0 ;
50783  void *argp1 = 0 ;
50784  int res1 = 0 ;
50785  std::vector< int64_t > temp3 ;
50786  PyObject * obj0 = 0 ;
50787  PyObject * obj1 = 0 ;
50788  PyObject * obj2 = 0 ;
50789 
50790  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumLessOrEqualConstantDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
50791  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
50792  if (!SWIG_IsOK(res1)) {
50793  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumLessOrEqualConstantDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
50794  }
50795  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
50796  {
50797  SharedPyPtr input(obj1);
50798  arg2 = [input](int64_t i, int64_t j) {
50799  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
50800  };
50801  }
50802  {
50803  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
50804  if (!PyErr_Occurred())
50805  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
50806  return NULL;
50807  }
50808  arg3 = &temp3;
50809  }
50810  {
50811  try {
50812  (arg1)->AddWeightedSumLessOrEqualConstantDimension(arg2,(std::vector< int64_t > const &)*arg3);
50813  }
50814  catch (Swig::DirectorException &e) {
50815  SWIG_fail;
50816  }
50817  }
50818  resultobj = SWIG_Py_Void();
50819  return resultobj;
50820 fail:
50821  return NULL;
50822 }
50823 
50824 
50825 SWIGINTERN PyObject *_wrap_Pack_AddWeightedSumLessOrEqualConstantDimension(PyObject *self, PyObject *args) {
50826  Py_ssize_t argc;
50827  PyObject *argv[4] = {
50828  0
50829  };
50830  Py_ssize_t ii;
50831 
50832  if (!PyTuple_Check(args)) SWIG_fail;
50833  argc = PyObject_Length(args);
50834  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
50835  argv[ii] = PyTuple_GET_ITEM(args,ii);
50836  }
50837  if (argc == 3) {
50838  int _v;
50839  void *vptr = 0;
50840  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Pack, 0);
50841  _v = SWIG_CheckState(res);
50842  if (_v) {
50843  {
50844  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
50845  _v = 0;
50846  } else {
50847  const bool is_tuple = PyTuple_Check(argv[1]);
50848  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
50849  size_t i = 0;
50850  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
50851  :PyList_GetItem(argv[1], i))) {
50852  ++i;
50853  }
50854  _v = i == size;
50855  }
50856  }
50857  if (_v) {
50858  {
50859  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
50860  _v = 0;
50861  } else {
50862  const bool is_tuple = PyTuple_Check(argv[2]);
50863  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
50864  size_t i = 0;
50865  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
50866  :PyList_GetItem(argv[2], i))) {
50867  ++i;
50868  }
50869  _v = i == size;
50870  }
50871  }
50872  if (_v) {
50874  }
50875  }
50876  }
50877  }
50878  if (argc == 3) {
50879  int _v;
50880  void *vptr = 0;
50881  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Pack, 0);
50882  _v = SWIG_CheckState(res);
50883  if (_v) {
50884  {
50885  _v = PyCallable_Check(argv[1]);
50886  }
50887  if (_v) {
50888  {
50889  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
50890  _v = 0;
50891  } else {
50892  const bool is_tuple = PyTuple_Check(argv[2]);
50893  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
50894  size_t i = 0;
50895  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
50896  :PyList_GetItem(argv[2], i))) {
50897  ++i;
50898  }
50899  _v = i == size;
50900  }
50901  }
50902  if (_v) {
50904  }
50905  }
50906  }
50907  }
50908  if (argc == 3) {
50909  int _v;
50910  void *vptr = 0;
50911  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Pack, 0);
50912  _v = SWIG_CheckState(res);
50913  if (_v) {
50914  {
50915  _v = PyCallable_Check(argv[1]);
50916  }
50917  if (_v) {
50918  {
50919  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
50920  _v = 0;
50921  } else {
50922  const bool is_tuple = PyTuple_Check(argv[2]);
50923  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
50924  size_t i = 0;
50925  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
50926  :PyList_GetItem(argv[2], i))) {
50927  ++i;
50928  }
50929  _v = i == size;
50930  }
50931  }
50932  if (_v) {
50934  }
50935  }
50936  }
50937  }
50938 
50939 fail:
50940  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Pack_AddWeightedSumLessOrEqualConstantDimension'.\n"
50941  " Possible C/C++ prototypes are:\n"
50942  " operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension(std::vector< int64_t > const &,std::vector< int64_t > const &)\n"
50943  " operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension(operations_research::Solver::IndexEvaluator1,std::vector< int64_t > const &)\n"
50944  " operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension(operations_research::Solver::IndexEvaluator2,std::vector< int64_t > const &)\n");
50945  return 0;
50946 }
50947 
50948 
50950  PyObject *resultobj = 0;
50952  std::vector< int64_t > *arg2 = 0 ;
50953  std::vector< operations_research::IntVar * > *arg3 = 0 ;
50954  void *argp1 = 0 ;
50955  int res1 = 0 ;
50956  std::vector< int64_t > temp2 ;
50957  std::vector< operations_research::IntVar * > temp3 ;
50958  PyObject * obj0 = 0 ;
50959  PyObject * obj1 = 0 ;
50960  PyObject * obj2 = 0 ;
50961 
50962  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumEqualVarDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
50963  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
50964  if (!SWIG_IsOK(res1)) {
50965  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumEqualVarDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
50966  }
50967  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
50968  {
50969  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
50970  if (!PyErr_Occurred())
50971  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
50972  return NULL;
50973  }
50974  arg2 = &temp2;
50975  }
50976  {
50977  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
50978  if (!PyErr_Occurred())
50979  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
50980  return NULL;
50981  }
50982  arg3 = &temp3;
50983  }
50984  {
50985  try {
50986  (arg1)->AddWeightedSumEqualVarDimension((std::vector< int64_t > const &)*arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
50987  }
50988  catch (Swig::DirectorException &e) {
50989  SWIG_fail;
50990  }
50991  }
50992  resultobj = SWIG_Py_Void();
50993  return resultobj;
50994 fail:
50995  return NULL;
50996 }
50997 
50998 
51000  PyObject *resultobj = 0;
51003  std::vector< operations_research::IntVar * > *arg3 = 0 ;
51004  void *argp1 = 0 ;
51005  int res1 = 0 ;
51006  std::vector< operations_research::IntVar * > temp3 ;
51007  PyObject * obj0 = 0 ;
51008  PyObject * obj1 = 0 ;
51009  PyObject * obj2 = 0 ;
51010 
51011  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumEqualVarDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51012  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51013  if (!SWIG_IsOK(res1)) {
51014  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumEqualVarDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
51015  }
51016  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51017  {
51018  SharedPyPtr input(obj1);
51019  arg2 = [input](int64_t i, int64_t j) {
51020  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
51021  };
51022  }
51023  {
51024  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
51025  if (!PyErr_Occurred())
51026  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
51027  return NULL;
51028  }
51029  arg3 = &temp3;
51030  }
51031  {
51032  try {
51033  (arg1)->AddWeightedSumEqualVarDimension(arg2,(std::vector< operations_research::IntVar * > const &)*arg3);
51034  }
51035  catch (Swig::DirectorException &e) {
51036  SWIG_fail;
51037  }
51038  }
51039  resultobj = SWIG_Py_Void();
51040  return resultobj;
51041 fail:
51042  return NULL;
51043 }
51044 
51045 
51046 SWIGINTERN PyObject *_wrap_Pack_AddWeightedSumEqualVarDimension(PyObject *self, PyObject *args) {
51047  Py_ssize_t argc;
51048  PyObject *argv[4] = {
51049  0
51050  };
51051  Py_ssize_t ii;
51052 
51053  if (!PyTuple_Check(args)) SWIG_fail;
51054  argc = PyObject_Length(args);
51055  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
51056  argv[ii] = PyTuple_GET_ITEM(args,ii);
51057  }
51058  if (argc == 3) {
51059  int _v;
51060  void *vptr = 0;
51061  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Pack, 0);
51062  _v = SWIG_CheckState(res);
51063  if (_v) {
51064  {
51065  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
51066  _v = 0;
51067  } else {
51068  const bool is_tuple = PyTuple_Check(argv[1]);
51069  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
51070  size_t i = 0;
51071  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
51072  :PyList_GetItem(argv[1], i))) {
51073  ++i;
51074  }
51075  _v = i == size;
51076  }
51077  }
51078  if (_v) {
51079  {
51080  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
51081  _v = 0;
51082  } else {
51083  const bool is_tuple = PyTuple_Check(argv[2]);
51084  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
51085  size_t i = 0;
51086  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
51087  :PyList_GetItem(argv[2], i))) {
51088  ++i;
51089  }
51090  _v = i == size;
51091  }
51092  }
51093  if (_v) {
51095  }
51096  }
51097  }
51098  }
51099  if (argc == 3) {
51100  int _v;
51101  void *vptr = 0;
51102  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__Pack, 0);
51103  _v = SWIG_CheckState(res);
51104  if (_v) {
51105  {
51106  _v = PyCallable_Check(argv[1]);
51107  }
51108  if (_v) {
51109  {
51110  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
51111  _v = 0;
51112  } else {
51113  const bool is_tuple = PyTuple_Check(argv[2]);
51114  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
51115  size_t i = 0;
51116  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[2], i)
51117  :PyList_GetItem(argv[2], i))) {
51118  ++i;
51119  }
51120  _v = i == size;
51121  }
51122  }
51123  if (_v) {
51125  }
51126  }
51127  }
51128  }
51129 
51130 fail:
51131  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Pack_AddWeightedSumEqualVarDimension'.\n"
51132  " Possible C/C++ prototypes are:\n"
51133  " operations_research::Pack::AddWeightedSumEqualVarDimension(std::vector< int64_t > const &,std::vector< operations_research::IntVar * > const &)\n"
51134  " operations_research::Pack::AddWeightedSumEqualVarDimension(operations_research::Solver::IndexEvaluator2,std::vector< operations_research::IntVar * > const &)\n");
51135  return 0;
51136 }
51137 
51138 
51140  PyObject *resultobj = 0;
51142  std::vector< operations_research::IntVar * > *arg2 = 0 ;
51143  std::vector< int64_t > *arg3 = 0 ;
51144  void *argp1 = 0 ;
51145  int res1 = 0 ;
51146  std::vector< operations_research::IntVar * > temp2 ;
51147  std::vector< int64_t > temp3 ;
51148  PyObject * obj0 = 0 ;
51149  PyObject * obj1 = 0 ;
51150  PyObject * obj2 = 0 ;
51151 
51152  if (!PyArg_UnpackTuple(args, "Pack_AddSumVariableWeightsLessOrEqualConstantDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51153  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51154  if (!SWIG_IsOK(res1)) {
51155  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddSumVariableWeightsLessOrEqualConstantDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
51156  }
51157  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51158  {
51159  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
51160  if (!PyErr_Occurred())
51161  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
51162  return NULL;
51163  }
51164  arg2 = &temp2;
51165  }
51166  {
51167  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
51168  if (!PyErr_Occurred())
51169  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
51170  return NULL;
51171  }
51172  arg3 = &temp3;
51173  }
51174  {
51175  try {
51176  (arg1)->AddSumVariableWeightsLessOrEqualConstantDimension((std::vector< operations_research::IntVar * > const &)*arg2,(std::vector< int64_t > const &)*arg3);
51177  }
51178  catch (Swig::DirectorException &e) {
51179  SWIG_fail;
51180  }
51181  }
51182  resultobj = SWIG_Py_Void();
51183  return resultobj;
51184 fail:
51185  return NULL;
51186 }
51187 
51188 
51189 SWIGINTERN PyObject *_wrap_Pack_AddWeightedSumOfAssignedDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51190  PyObject *resultobj = 0;
51192  std::vector< int64_t > *arg2 = 0 ;
51194  void *argp1 = 0 ;
51195  int res1 = 0 ;
51196  std::vector< int64_t > temp2 ;
51197  PyObject * obj0 = 0 ;
51198  PyObject * obj1 = 0 ;
51199  PyObject * obj2 = 0 ;
51200 
51201  if (!PyArg_UnpackTuple(args, "Pack_AddWeightedSumOfAssignedDimension", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51202  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51203  if (!SWIG_IsOK(res1)) {
51204  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddWeightedSumOfAssignedDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
51205  }
51206  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51207  {
51208  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
51209  if (!PyErr_Occurred())
51210  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
51211  return NULL;
51212  }
51213  arg2 = &temp2;
51214  }
51215  {
51216  if (!PyObjAs(obj2, &arg3)) SWIG_fail;
51217  }
51218  {
51219  try {
51220  (arg1)->AddWeightedSumOfAssignedDimension((std::vector< int64_t > const &)*arg2,arg3);
51221  }
51222  catch (Swig::DirectorException &e) {
51223  SWIG_fail;
51224  }
51225  }
51226  resultobj = SWIG_Py_Void();
51227  return resultobj;
51228 fail:
51229  return NULL;
51230 }
51231 
51232 
51233 SWIGINTERN PyObject *_wrap_Pack_AddCountUsedBinDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51234  PyObject *resultobj = 0;
51237  void *argp1 = 0 ;
51238  int res1 = 0 ;
51239  PyObject * obj0 = 0 ;
51240  PyObject * obj1 = 0 ;
51241 
51242  if (!PyArg_UnpackTuple(args, "Pack_AddCountUsedBinDimension", 2, 2, &obj0, &obj1)) SWIG_fail;
51243  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51244  if (!SWIG_IsOK(res1)) {
51245  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddCountUsedBinDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
51246  }
51247  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51248  {
51249  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
51250  }
51251  {
51252  try {
51253  (arg1)->AddCountUsedBinDimension(arg2);
51254  }
51255  catch (Swig::DirectorException &e) {
51256  SWIG_fail;
51257  }
51258  }
51259  resultobj = SWIG_Py_Void();
51260  return resultobj;
51261 fail:
51262  return NULL;
51263 }
51264 
51265 
51266 SWIGINTERN PyObject *_wrap_Pack_AddCountAssignedItemsDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51267  PyObject *resultobj = 0;
51270  void *argp1 = 0 ;
51271  int res1 = 0 ;
51272  PyObject * obj0 = 0 ;
51273  PyObject * obj1 = 0 ;
51274 
51275  if (!PyArg_UnpackTuple(args, "Pack_AddCountAssignedItemsDimension", 2, 2, &obj0, &obj1)) SWIG_fail;
51276  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51277  if (!SWIG_IsOK(res1)) {
51278  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_AddCountAssignedItemsDimension" "', argument " "1"" of type '" "operations_research::Pack *""'");
51279  }
51280  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51281  {
51282  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
51283  }
51284  {
51285  try {
51286  (arg1)->AddCountAssignedItemsDimension(arg2);
51287  }
51288  catch (Swig::DirectorException &e) {
51289  SWIG_fail;
51290  }
51291  }
51292  resultobj = SWIG_Py_Void();
51293  return resultobj;
51294 fail:
51295  return NULL;
51296 }
51297 
51298 
51299 SWIGINTERN PyObject *_wrap_Pack_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51300  PyObject *resultobj = 0;
51302  void *argp1 = 0 ;
51303  int res1 = 0 ;
51304  PyObject * obj0 = 0 ;
51305 
51306  if (!PyArg_UnpackTuple(args, "Pack_Post", 1, 1, &obj0)) SWIG_fail;
51307  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51308  if (!SWIG_IsOK(res1)) {
51309  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_Post" "', argument " "1"" of type '" "operations_research::Pack *""'");
51310  }
51311  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51312  {
51313  try {
51314  (arg1)->Post();
51315  }
51316  catch (Swig::DirectorException &e) {
51317  SWIG_fail;
51318  }
51319  }
51320  resultobj = SWIG_Py_Void();
51321  return resultobj;
51322 fail:
51323  return NULL;
51324 }
51325 
51326 
51327 SWIGINTERN PyObject *_wrap_Pack_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51328  PyObject *resultobj = 0;
51330  void *argp1 = 0 ;
51331  int res1 = 0 ;
51332  PyObject * obj0 = 0 ;
51333 
51334  if (!PyArg_UnpackTuple(args, "Pack_InitialPropagateWrapper", 1, 1, &obj0)) SWIG_fail;
51335  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51336  if (!SWIG_IsOK(res1)) {
51337  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_InitialPropagateWrapper" "', argument " "1"" of type '" "operations_research::Pack *""'");
51338  }
51339  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51340  {
51341  try {
51342  (arg1)->InitialPropagate();
51343  }
51344  catch (Swig::DirectorException &e) {
51345  SWIG_fail;
51346  }
51347  }
51348  resultobj = SWIG_Py_Void();
51349  return resultobj;
51350 fail:
51351  return NULL;
51352 }
51353 
51354 
51355 SWIGINTERN PyObject *_wrap_Pack_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51356  PyObject *resultobj = 0;
51358  void *argp1 = 0 ;
51359  int res1 = 0 ;
51360  PyObject * obj0 = 0 ;
51361  std::string result;
51362 
51363  if (!PyArg_UnpackTuple(args, "Pack_DebugString", 1, 1, &obj0)) SWIG_fail;
51364  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Pack, 0 | 0 );
51365  if (!SWIG_IsOK(res1)) {
51366  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pack_DebugString" "', argument " "1"" of type '" "operations_research::Pack const *""'");
51367  }
51368  arg1 = reinterpret_cast< operations_research::Pack * >(argp1);
51369  {
51370  try {
51371  result = ((operations_research::Pack const *)arg1)->DebugString();
51372  }
51373  catch (Swig::DirectorException &e) {
51374  SWIG_fail;
51375  }
51376  }
51377  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
51378  return resultobj;
51379 fail:
51380  return NULL;
51381 }
51382 
51383 
51384 SWIGINTERN PyObject *Pack_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51385  PyObject *obj;
51386  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
51388  return SWIG_Py_Void();
51389 }
51390 
51391 SWIGINTERN PyObject *_wrap_DisjunctiveConstraint_SequenceVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51392  PyObject *resultobj = 0;
51394  void *argp1 = 0 ;
51395  int res1 = 0 ;
51396  PyObject * obj0 = 0 ;
51397  operations_research::SequenceVar *result = 0 ;
51398 
51399  if (!PyArg_UnpackTuple(args, "DisjunctiveConstraint_SequenceVar", 1, 1, &obj0)) SWIG_fail;
51401  if (!SWIG_IsOK(res1)) {
51402  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DisjunctiveConstraint_SequenceVar" "', argument " "1"" of type '" "operations_research::DisjunctiveConstraint *""'");
51403  }
51404  arg1 = reinterpret_cast< operations_research::DisjunctiveConstraint * >(argp1);
51405  {
51406  try {
51407  result = (operations_research::SequenceVar *)(arg1)->MakeSequenceVar();
51408  }
51409  catch (Swig::DirectorException &e) {
51410  SWIG_fail;
51411  }
51412  }
51414  return resultobj;
51415 fail:
51416  return NULL;
51417 }
51418 
51419 
51421  PyObject *resultobj = 0;
51424  void *argp1 = 0 ;
51425  int res1 = 0 ;
51426  PyObject * obj0 = 0 ;
51427  PyObject * obj1 = 0 ;
51428 
51429  if (!PyArg_UnpackTuple(args, "DisjunctiveConstraint_SetTransitionTime", 2, 2, &obj0, &obj1)) SWIG_fail;
51431  if (!SWIG_IsOK(res1)) {
51432  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DisjunctiveConstraint_SetTransitionTime" "', argument " "1"" of type '" "operations_research::DisjunctiveConstraint *""'");
51433  }
51434  arg1 = reinterpret_cast< operations_research::DisjunctiveConstraint * >(argp1);
51435  {
51436  SharedPyPtr input(obj1);
51437  arg2 = [input](int64_t i, int64_t j) {
51438  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
51439  };
51440  }
51441  {
51442  try {
51443  (arg1)->SetTransitionTime(arg2);
51444  }
51445  catch (Swig::DirectorException &e) {
51446  SWIG_fail;
51447  }
51448  }
51449  resultobj = SWIG_Py_Void();
51450  return resultobj;
51451 fail:
51452  return NULL;
51453 }
51454 
51455 
51456 SWIGINTERN PyObject *_wrap_DisjunctiveConstraint_TransitionTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51457  PyObject *resultobj = 0;
51459  int arg2 ;
51460  int arg3 ;
51461  void *argp1 = 0 ;
51462  int res1 = 0 ;
51463  int val2 ;
51464  int ecode2 = 0 ;
51465  int val3 ;
51466  int ecode3 = 0 ;
51467  PyObject * obj0 = 0 ;
51468  PyObject * obj1 = 0 ;
51469  PyObject * obj2 = 0 ;
51470  int64_t result;
51471 
51472  if (!PyArg_UnpackTuple(args, "DisjunctiveConstraint_TransitionTime", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51474  if (!SWIG_IsOK(res1)) {
51475  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DisjunctiveConstraint_TransitionTime" "', argument " "1"" of type '" "operations_research::DisjunctiveConstraint *""'");
51476  }
51477  arg1 = reinterpret_cast< operations_research::DisjunctiveConstraint * >(argp1);
51478  ecode2 = SWIG_AsVal_int(obj1, &val2);
51479  if (!SWIG_IsOK(ecode2)) {
51480  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DisjunctiveConstraint_TransitionTime" "', argument " "2"" of type '" "int""'");
51481  }
51482  arg2 = static_cast< int >(val2);
51483  ecode3 = SWIG_AsVal_int(obj2, &val3);
51484  if (!SWIG_IsOK(ecode3)) {
51485  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DisjunctiveConstraint_TransitionTime" "', argument " "3"" of type '" "int""'");
51486  }
51487  arg3 = static_cast< int >(val3);
51488  {
51489  try {
51490  result = (int64_t)(arg1)->TransitionTime(arg2,arg3);
51491  }
51492  catch (Swig::DirectorException &e) {
51493  SWIG_fail;
51494  }
51495  }
51496  resultobj = SWIG_From_long(static_cast< long >(result));
51497  return resultobj;
51498 fail:
51499  return NULL;
51500 }
51501 
51502 
51503 SWIGINTERN PyObject *DisjunctiveConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51504  PyObject *obj;
51505  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
51507  return SWIG_Py_Void();
51508 }
51509 
51510 SWIGINTERN PyObject *_wrap_new_RevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51511  PyObject *resultobj = 0;
51512  long *arg1 = 0 ;
51513  long temp1 ;
51514  long val1 ;
51515  int ecode1 = 0 ;
51516  PyObject * obj0 = 0 ;
51518 
51519  if (!PyArg_UnpackTuple(args, "new_RevInteger", 1, 1, &obj0)) SWIG_fail;
51520  ecode1 = SWIG_AsVal_long(obj0, &val1);
51521  if (!SWIG_IsOK(ecode1)) {
51522  SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_RevInteger" "', argument " "1"" of type '" "long""'");
51523  }
51524  temp1 = static_cast< long >(val1);
51525  arg1 = &temp1;
51526  {
51527  try {
51528  result = (operations_research::Rev< int64_t > *)new operations_research::Rev< int64_t >((long const &)*arg1);
51529  }
51530  catch (Swig::DirectorException &e) {
51531  SWIG_fail;
51532  }
51533  }
51535  return resultobj;
51536 fail:
51537  return NULL;
51538 }
51539 
51540 
51541 SWIGINTERN PyObject *_wrap_RevInteger_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51542  PyObject *resultobj = 0;
51544  void *argp1 = 0 ;
51545  int res1 = 0 ;
51546  PyObject * obj0 = 0 ;
51547  long *result = 0 ;
51548 
51549  if (!PyArg_UnpackTuple(args, "RevInteger_Value", 1, 1, &obj0)) SWIG_fail;
51550  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__RevT_long_t, 0 | 0 );
51551  if (!SWIG_IsOK(res1)) {
51552  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RevInteger_Value" "', argument " "1"" of type '" "operations_research::Rev< int64_t > const *""'");
51553  }
51554  arg1 = reinterpret_cast< operations_research::Rev< int64_t > * >(argp1);
51555  {
51556  try {
51557  result = (long *) &((operations_research::Rev< int64_t > const *)arg1)->Value();
51558  }
51559  catch (Swig::DirectorException &e) {
51560  SWIG_fail;
51561  }
51562  }
51563  resultobj = SWIG_From_long(static_cast< long >(*result));
51564  return resultobj;
51565 fail:
51566  return NULL;
51567 }
51568 
51569 
51570 SWIGINTERN PyObject *_wrap_RevInteger_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51571  PyObject *resultobj = 0;
51574  long *arg3 = 0 ;
51575  void *argp1 = 0 ;
51576  int res1 = 0 ;
51577  void *argp2 = 0 ;
51578  int res2 = 0 ;
51579  long temp3 ;
51580  long val3 ;
51581  int ecode3 = 0 ;
51582  PyObject * obj0 = 0 ;
51583  PyObject * obj1 = 0 ;
51584  PyObject * obj2 = 0 ;
51585 
51586  if (!PyArg_UnpackTuple(args, "RevInteger_SetValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51587  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__RevT_long_t, 0 | 0 );
51588  if (!SWIG_IsOK(res1)) {
51589  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RevInteger_SetValue" "', argument " "1"" of type '" "operations_research::Rev< int64_t > *""'");
51590  }
51591  arg1 = reinterpret_cast< operations_research::Rev< int64_t > * >(argp1);
51592  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
51593  if (!SWIG_IsOK(res2)) {
51594  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RevInteger_SetValue" "', argument " "2"" of type '" "operations_research::Solver *const""'");
51595  }
51596  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
51597  ecode3 = SWIG_AsVal_long(obj2, &val3);
51598  if (!SWIG_IsOK(ecode3)) {
51599  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RevInteger_SetValue" "', argument " "3"" of type '" "long""'");
51600  }
51601  temp3 = static_cast< long >(val3);
51602  arg3 = &temp3;
51603  {
51604  try {
51605  (arg1)->SetValue(arg2,(long const &)*arg3);
51606  }
51607  catch (Swig::DirectorException &e) {
51608  SWIG_fail;
51609  }
51610  }
51611  resultobj = SWIG_Py_Void();
51612  return resultobj;
51613 fail:
51614  return NULL;
51615 }
51616 
51617 
51618 SWIGINTERN PyObject *_wrap_delete_RevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51619  PyObject *resultobj = 0;
51621  void *argp1 = 0 ;
51622  int res1 = 0 ;
51623  PyObject * obj0 = 0 ;
51624 
51625  if (!PyArg_UnpackTuple(args, "delete_RevInteger", 1, 1, &obj0)) SWIG_fail;
51627  if (!SWIG_IsOK(res1)) {
51628  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RevInteger" "', argument " "1"" of type '" "operations_research::Rev< int64_t > *""'");
51629  }
51630  arg1 = reinterpret_cast< operations_research::Rev< int64_t > * >(argp1);
51631  {
51632  try {
51633  delete arg1;
51634  }
51635  catch (Swig::DirectorException &e) {
51636  SWIG_fail;
51637  }
51638  }
51639  resultobj = SWIG_Py_Void();
51640  return resultobj;
51641 fail:
51642  return NULL;
51643 }
51644 
51645 
51646 SWIGINTERN PyObject *RevInteger_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51647  PyObject *obj;
51648  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
51650  return SWIG_Py_Void();
51651 }
51652 
51653 SWIGINTERN PyObject *RevInteger_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51654  return SWIG_Python_InitShadowInstance(args);
51655 }
51656 
51657 SWIGINTERN PyObject *_wrap_new_NumericalRevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51658  PyObject *resultobj = 0;
51659  long *arg1 = 0 ;
51660  long temp1 ;
51661  long val1 ;
51662  int ecode1 = 0 ;
51663  PyObject * obj0 = 0 ;
51665 
51666  if (!PyArg_UnpackTuple(args, "new_NumericalRevInteger", 1, 1, &obj0)) SWIG_fail;
51667  ecode1 = SWIG_AsVal_long(obj0, &val1);
51668  if (!SWIG_IsOK(ecode1)) {
51669  SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_NumericalRevInteger" "', argument " "1"" of type '" "long""'");
51670  }
51671  temp1 = static_cast< long >(val1);
51672  arg1 = &temp1;
51673  {
51674  try {
51676  }
51677  catch (Swig::DirectorException &e) {
51678  SWIG_fail;
51679  }
51680  }
51682  return resultobj;
51683 fail:
51684  return NULL;
51685 }
51686 
51687 
51688 SWIGINTERN PyObject *_wrap_NumericalRevInteger_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51689  PyObject *resultobj = 0;
51692  long *arg3 = 0 ;
51693  void *argp1 = 0 ;
51694  int res1 = 0 ;
51695  void *argp2 = 0 ;
51696  int res2 = 0 ;
51697  long temp3 ;
51698  long val3 ;
51699  int ecode3 = 0 ;
51700  PyObject * obj0 = 0 ;
51701  PyObject * obj1 = 0 ;
51702  PyObject * obj2 = 0 ;
51703 
51704  if (!PyArg_UnpackTuple(args, "NumericalRevInteger_Add", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51706  if (!SWIG_IsOK(res1)) {
51707  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "NumericalRevInteger_Add" "', argument " "1"" of type '" "operations_research::NumericalRev< int64_t > *""'");
51708  }
51709  arg1 = reinterpret_cast< operations_research::NumericalRev< int64_t > * >(argp1);
51710  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
51711  if (!SWIG_IsOK(res2)) {
51712  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "NumericalRevInteger_Add" "', argument " "2"" of type '" "operations_research::Solver *const""'");
51713  }
51714  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
51715  ecode3 = SWIG_AsVal_long(obj2, &val3);
51716  if (!SWIG_IsOK(ecode3)) {
51717  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "NumericalRevInteger_Add" "', argument " "3"" of type '" "long""'");
51718  }
51719  temp3 = static_cast< long >(val3);
51720  arg3 = &temp3;
51721  {
51722  try {
51723  (arg1)->Add(arg2,(long const &)*arg3);
51724  }
51725  catch (Swig::DirectorException &e) {
51726  SWIG_fail;
51727  }
51728  }
51729  resultobj = SWIG_Py_Void();
51730  return resultobj;
51731 fail:
51732  return NULL;
51733 }
51734 
51735 
51736 SWIGINTERN PyObject *_wrap_NumericalRevInteger_Incr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51737  PyObject *resultobj = 0;
51740  void *argp1 = 0 ;
51741  int res1 = 0 ;
51742  void *argp2 = 0 ;
51743  int res2 = 0 ;
51744  PyObject * obj0 = 0 ;
51745  PyObject * obj1 = 0 ;
51746 
51747  if (!PyArg_UnpackTuple(args, "NumericalRevInteger_Incr", 2, 2, &obj0, &obj1)) SWIG_fail;
51749  if (!SWIG_IsOK(res1)) {
51750  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "NumericalRevInteger_Incr" "', argument " "1"" of type '" "operations_research::NumericalRev< int64_t > *""'");
51751  }
51752  arg1 = reinterpret_cast< operations_research::NumericalRev< int64_t > * >(argp1);
51753  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
51754  if (!SWIG_IsOK(res2)) {
51755  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "NumericalRevInteger_Incr" "', argument " "2"" of type '" "operations_research::Solver *const""'");
51756  }
51757  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
51758  {
51759  try {
51760  (arg1)->Incr(arg2);
51761  }
51762  catch (Swig::DirectorException &e) {
51763  SWIG_fail;
51764  }
51765  }
51766  resultobj = SWIG_Py_Void();
51767  return resultobj;
51768 fail:
51769  return NULL;
51770 }
51771 
51772 
51773 SWIGINTERN PyObject *_wrap_NumericalRevInteger_Decr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51774  PyObject *resultobj = 0;
51777  void *argp1 = 0 ;
51778  int res1 = 0 ;
51779  void *argp2 = 0 ;
51780  int res2 = 0 ;
51781  PyObject * obj0 = 0 ;
51782  PyObject * obj1 = 0 ;
51783 
51784  if (!PyArg_UnpackTuple(args, "NumericalRevInteger_Decr", 2, 2, &obj0, &obj1)) SWIG_fail;
51786  if (!SWIG_IsOK(res1)) {
51787  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "NumericalRevInteger_Decr" "', argument " "1"" of type '" "operations_research::NumericalRev< int64_t > *""'");
51788  }
51789  arg1 = reinterpret_cast< operations_research::NumericalRev< int64_t > * >(argp1);
51790  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
51791  if (!SWIG_IsOK(res2)) {
51792  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "NumericalRevInteger_Decr" "', argument " "2"" of type '" "operations_research::Solver *const""'");
51793  }
51794  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
51795  {
51796  try {
51797  (arg1)->Decr(arg2);
51798  }
51799  catch (Swig::DirectorException &e) {
51800  SWIG_fail;
51801  }
51802  }
51803  resultobj = SWIG_Py_Void();
51804  return resultobj;
51805 fail:
51806  return NULL;
51807 }
51808 
51809 
51810 SWIGINTERN PyObject *_wrap_delete_NumericalRevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51811  PyObject *resultobj = 0;
51813  void *argp1 = 0 ;
51814  int res1 = 0 ;
51815  PyObject * obj0 = 0 ;
51816 
51817  if (!PyArg_UnpackTuple(args, "delete_NumericalRevInteger", 1, 1, &obj0)) SWIG_fail;
51819  if (!SWIG_IsOK(res1)) {
51820  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_NumericalRevInteger" "', argument " "1"" of type '" "operations_research::NumericalRev< int64_t > *""'");
51821  }
51822  arg1 = reinterpret_cast< operations_research::NumericalRev< int64_t > * >(argp1);
51823  {
51824  try {
51825  delete arg1;
51826  }
51827  catch (Swig::DirectorException &e) {
51828  SWIG_fail;
51829  }
51830  }
51831  resultobj = SWIG_Py_Void();
51832  return resultobj;
51833 fail:
51834  return NULL;
51835 }
51836 
51837 
51838 SWIGINTERN PyObject *NumericalRevInteger_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51839  PyObject *obj;
51840  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
51842  return SWIG_Py_Void();
51843 }
51844 
51845 SWIGINTERN PyObject *NumericalRevInteger_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51846  return SWIG_Python_InitShadowInstance(args);
51847 }
51848 
51849 SWIGINTERN PyObject *_wrap_new_RevBool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51850  PyObject *resultobj = 0;
51851  bool *arg1 = 0 ;
51852  bool temp1 ;
51853  bool val1 ;
51854  int ecode1 = 0 ;
51855  PyObject * obj0 = 0 ;
51856  operations_research::Rev< bool > *result = 0 ;
51857 
51858  if (!PyArg_UnpackTuple(args, "new_RevBool", 1, 1, &obj0)) SWIG_fail;
51859  ecode1 = SWIG_AsVal_bool(obj0, &val1);
51860  if (!SWIG_IsOK(ecode1)) {
51861  SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_RevBool" "', argument " "1"" of type '" "bool""'");
51862  }
51863  temp1 = static_cast< bool >(val1);
51864  arg1 = &temp1;
51865  {
51866  try {
51867  result = (operations_research::Rev< bool > *)new operations_research::Rev< bool >((bool const &)*arg1);
51868  }
51869  catch (Swig::DirectorException &e) {
51870  SWIG_fail;
51871  }
51872  }
51874  return resultobj;
51875 fail:
51876  return NULL;
51877 }
51878 
51879 
51880 SWIGINTERN PyObject *_wrap_RevBool_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51881  PyObject *resultobj = 0;
51883  void *argp1 = 0 ;
51884  int res1 = 0 ;
51885  PyObject * obj0 = 0 ;
51886  bool *result = 0 ;
51887 
51888  if (!PyArg_UnpackTuple(args, "RevBool_Value", 1, 1, &obj0)) SWIG_fail;
51889  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__RevT_bool_t, 0 | 0 );
51890  if (!SWIG_IsOK(res1)) {
51891  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RevBool_Value" "', argument " "1"" of type '" "operations_research::Rev< bool > const *""'");
51892  }
51893  arg1 = reinterpret_cast< operations_research::Rev< bool > * >(argp1);
51894  {
51895  try {
51896  result = (bool *) &((operations_research::Rev< bool > const *)arg1)->Value();
51897  }
51898  catch (Swig::DirectorException &e) {
51899  SWIG_fail;
51900  }
51901  }
51902  resultobj = SWIG_From_bool(static_cast< bool >(*result));
51903  return resultobj;
51904 fail:
51905  return NULL;
51906 }
51907 
51908 
51909 SWIGINTERN PyObject *_wrap_RevBool_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51910  PyObject *resultobj = 0;
51913  bool *arg3 = 0 ;
51914  void *argp1 = 0 ;
51915  int res1 = 0 ;
51916  void *argp2 = 0 ;
51917  int res2 = 0 ;
51918  bool temp3 ;
51919  bool val3 ;
51920  int ecode3 = 0 ;
51921  PyObject * obj0 = 0 ;
51922  PyObject * obj1 = 0 ;
51923  PyObject * obj2 = 0 ;
51924 
51925  if (!PyArg_UnpackTuple(args, "RevBool_SetValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
51926  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__RevT_bool_t, 0 | 0 );
51927  if (!SWIG_IsOK(res1)) {
51928  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RevBool_SetValue" "', argument " "1"" of type '" "operations_research::Rev< bool > *""'");
51929  }
51930  arg1 = reinterpret_cast< operations_research::Rev< bool > * >(argp1);
51931  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
51932  if (!SWIG_IsOK(res2)) {
51933  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RevBool_SetValue" "', argument " "2"" of type '" "operations_research::Solver *const""'");
51934  }
51935  arg2 = reinterpret_cast< operations_research::Solver * >(argp2);
51936  ecode3 = SWIG_AsVal_bool(obj2, &val3);
51937  if (!SWIG_IsOK(ecode3)) {
51938  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RevBool_SetValue" "', argument " "3"" of type '" "bool""'");
51939  }
51940  temp3 = static_cast< bool >(val3);
51941  arg3 = &temp3;
51942  {
51943  try {
51944  (arg1)->SetValue(arg2,(bool const &)*arg3);
51945  }
51946  catch (Swig::DirectorException &e) {
51947  SWIG_fail;
51948  }
51949  }
51950  resultobj = SWIG_Py_Void();
51951  return resultobj;
51952 fail:
51953  return NULL;
51954 }
51955 
51956 
51957 SWIGINTERN PyObject *_wrap_delete_RevBool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51958  PyObject *resultobj = 0;
51960  void *argp1 = 0 ;
51961  int res1 = 0 ;
51962  PyObject * obj0 = 0 ;
51963 
51964  if (!PyArg_UnpackTuple(args, "delete_RevBool", 1, 1, &obj0)) SWIG_fail;
51966  if (!SWIG_IsOK(res1)) {
51967  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RevBool" "', argument " "1"" of type '" "operations_research::Rev< bool > *""'");
51968  }
51969  arg1 = reinterpret_cast< operations_research::Rev< bool > * >(argp1);
51970  {
51971  try {
51972  delete arg1;
51973  }
51974  catch (Swig::DirectorException &e) {
51975  SWIG_fail;
51976  }
51977  }
51978  resultobj = SWIG_Py_Void();
51979  return resultobj;
51980 fail:
51981  return NULL;
51982 }
51983 
51984 
51985 SWIGINTERN PyObject *RevBool_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51986  PyObject *obj;
51987  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
51989  return SWIG_Py_Void();
51990 }
51991 
51992 SWIGINTERN PyObject *RevBool_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51993  return SWIG_Python_InitShadowInstance(args);
51994 }
51995 
51996 SWIGINTERN PyObject *_wrap_IntVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
51997  PyObject *resultobj = 0;
52000  void *argp1 = 0 ;
52001  int res1 = 0 ;
52002  PyObject * obj0 = 0 ;
52003  PyObject * obj1 = 0 ;
52004  bool result;
52005 
52006  if (!PyArg_UnpackTuple(args, "IntVarContainer_Contains", 2, 2, &obj0, &obj1)) SWIG_fail;
52008  if (!SWIG_IsOK(res1)) {
52009  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer_Contains" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const *""'");
52010  }
52012  {
52013  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
52014  }
52015  {
52016  try {
52018  }
52019  catch (Swig::DirectorException &e) {
52020  SWIG_fail;
52021  }
52022  }
52023  resultobj = SWIG_From_bool(static_cast< bool >(result));
52024  return resultobj;
52025 fail:
52026  return NULL;
52027 }
52028 
52029 
52030 SWIGINTERN PyObject *_wrap_IntVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52031  PyObject *resultobj = 0;
52033  int arg2 ;
52034  void *argp1 = 0 ;
52035  int res1 = 0 ;
52036  int val2 ;
52037  int ecode2 = 0 ;
52038  PyObject * obj0 = 0 ;
52039  PyObject * obj1 = 0 ;
52041 
52042  if (!PyArg_UnpackTuple(args, "IntVarContainer_Element", 2, 2, &obj0, &obj1)) SWIG_fail;
52044  if (!SWIG_IsOK(res1)) {
52045  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer_Element" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > *""'");
52046  }
52048  ecode2 = SWIG_AsVal_int(obj1, &val2);
52049  if (!SWIG_IsOK(ecode2)) {
52050  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarContainer_Element" "', argument " "2"" of type '" "int""'");
52051  }
52052  arg2 = static_cast< int >(val2);
52053  {
52054  try {
52055  result = (operations_research::IntVarElement *)(arg1)->MutableElement(arg2);
52056  }
52057  catch (Swig::DirectorException &e) {
52058  SWIG_fail;
52059  }
52060  }
52062  return resultobj;
52063 fail:
52064  return NULL;
52065 }
52066 
52067 
52068 SWIGINTERN PyObject *_wrap_IntVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52069  PyObject *resultobj = 0;
52071  void *argp1 = 0 ;
52072  int res1 = 0 ;
52073  PyObject * obj0 = 0 ;
52074  int result;
52075 
52076  if (!PyArg_UnpackTuple(args, "IntVarContainer_Size", 1, 1, &obj0)) SWIG_fail;
52078  if (!SWIG_IsOK(res1)) {
52079  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer_Size" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const *""'");
52080  }
52082  {
52083  try {
52085  }
52086  catch (Swig::DirectorException &e) {
52087  SWIG_fail;
52088  }
52089  }
52090  resultobj = SWIG_From_int(static_cast< int >(result));
52091  return resultobj;
52092 fail:
52093  return NULL;
52094 }
52095 
52096 
52097 SWIGINTERN PyObject *_wrap_IntVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52098  PyObject *resultobj = 0;
52100  void *argp1 = 0 ;
52101  int res1 = 0 ;
52102  PyObject * obj0 = 0 ;
52103 
52104  if (!PyArg_UnpackTuple(args, "IntVarContainer_Store", 1, 1, &obj0)) SWIG_fail;
52106  if (!SWIG_IsOK(res1)) {
52107  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer_Store" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > *""'");
52108  }
52110  {
52111  try {
52112  (arg1)->Store();
52113  }
52114  catch (Swig::DirectorException &e) {
52115  SWIG_fail;
52116  }
52117  }
52118  resultobj = SWIG_Py_Void();
52119  return resultobj;
52120 fail:
52121  return NULL;
52122 }
52123 
52124 
52125 SWIGINTERN PyObject *_wrap_IntVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52126  PyObject *resultobj = 0;
52128  void *argp1 = 0 ;
52129  int res1 = 0 ;
52130  PyObject * obj0 = 0 ;
52131 
52132  if (!PyArg_UnpackTuple(args, "IntVarContainer_Restore", 1, 1, &obj0)) SWIG_fail;
52134  if (!SWIG_IsOK(res1)) {
52135  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer_Restore" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > *""'");
52136  }
52138  {
52139  try {
52140  (arg1)->Restore();
52141  }
52142  catch (Swig::DirectorException &e) {
52143  SWIG_fail;
52144  }
52145  }
52146  resultobj = SWIG_Py_Void();
52147  return resultobj;
52148 fail:
52149  return NULL;
52150 }
52151 
52152 
52153 SWIGINTERN PyObject *_wrap_IntVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52154  PyObject *resultobj = 0;
52157  void *argp1 = 0 ;
52158  int res1 = 0 ;
52159  void *argp2 = 0 ;
52160  int res2 = 0 ;
52161  PyObject * obj0 = 0 ;
52162  PyObject * obj1 = 0 ;
52163  bool result;
52164 
52165  if (!PyArg_UnpackTuple(args, "IntVarContainer___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
52167  if (!SWIG_IsOK(res1)) {
52168  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer___eq__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const *""'");
52169  }
52172  if (!SWIG_IsOK(res2)) {
52173  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const &""'");
52174  }
52175  if (!argp2) {
52176  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const &""'");
52177  }
52179  {
52180  try {
52182  }
52183  catch (Swig::DirectorException &e) {
52184  SWIG_fail;
52185  }
52186  }
52187  resultobj = SWIG_From_bool(static_cast< bool >(result));
52188  return resultobj;
52189 fail:
52190  PyErr_Clear();
52191  Py_INCREF(Py_NotImplemented);
52192  return Py_NotImplemented;
52193 }
52194 
52195 
52196 SWIGINTERN PyObject *_wrap_IntVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52197  PyObject *resultobj = 0;
52200  void *argp1 = 0 ;
52201  int res1 = 0 ;
52202  void *argp2 = 0 ;
52203  int res2 = 0 ;
52204  PyObject * obj0 = 0 ;
52205  PyObject * obj1 = 0 ;
52206  bool result;
52207 
52208  if (!PyArg_UnpackTuple(args, "IntVarContainer___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
52210  if (!SWIG_IsOK(res1)) {
52211  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarContainer___ne__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const *""'");
52212  }
52215  if (!SWIG_IsOK(res2)) {
52216  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const &""'");
52217  }
52218  if (!argp2) {
52219  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > const &""'");
52220  }
52222  {
52223  try {
52225  }
52226  catch (Swig::DirectorException &e) {
52227  SWIG_fail;
52228  }
52229  }
52230  resultobj = SWIG_From_bool(static_cast< bool >(result));
52231  return resultobj;
52232 fail:
52233  PyErr_Clear();
52234  Py_INCREF(Py_NotImplemented);
52235  return Py_NotImplemented;
52236 }
52237 
52238 
52239 SWIGINTERN PyObject *_wrap_delete_IntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52240  PyObject *resultobj = 0;
52242  void *argp1 = 0 ;
52243  int res1 = 0 ;
52244  PyObject * obj0 = 0 ;
52245 
52246  if (!PyArg_UnpackTuple(args, "delete_IntVarContainer", 1, 1, &obj0)) SWIG_fail;
52248  if (!SWIG_IsOK(res1)) {
52249  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntVarContainer" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > *""'");
52250  }
52252  {
52253  try {
52254  delete arg1;
52255  }
52256  catch (Swig::DirectorException &e) {
52257  SWIG_fail;
52258  }
52259  }
52260  resultobj = SWIG_Py_Void();
52261  return resultobj;
52262 fail:
52263  return NULL;
52264 }
52265 
52266 
52267 SWIGINTERN PyObject *IntVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52268  PyObject *obj;
52269  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
52271  return SWIG_Py_Void();
52272 }
52273 
52274 SWIGINTERN PyObject *_wrap_IntervalVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52275  PyObject *resultobj = 0;
52278  void *argp1 = 0 ;
52279  int res1 = 0 ;
52280  PyObject * obj0 = 0 ;
52281  PyObject * obj1 = 0 ;
52282  bool result;
52283 
52284  if (!PyArg_UnpackTuple(args, "IntervalVarContainer_Contains", 2, 2, &obj0, &obj1)) SWIG_fail;
52286  if (!SWIG_IsOK(res1)) {
52287  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer_Contains" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const *""'");
52288  }
52290  {
52291  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
52292  }
52293  {
52294  try {
52296  }
52297  catch (Swig::DirectorException &e) {
52298  SWIG_fail;
52299  }
52300  }
52301  resultobj = SWIG_From_bool(static_cast< bool >(result));
52302  return resultobj;
52303 fail:
52304  return NULL;
52305 }
52306 
52307 
52308 SWIGINTERN PyObject *_wrap_IntervalVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52309  PyObject *resultobj = 0;
52311  int arg2 ;
52312  void *argp1 = 0 ;
52313  int res1 = 0 ;
52314  int val2 ;
52315  int ecode2 = 0 ;
52316  PyObject * obj0 = 0 ;
52317  PyObject * obj1 = 0 ;
52319 
52320  if (!PyArg_UnpackTuple(args, "IntervalVarContainer_Element", 2, 2, &obj0, &obj1)) SWIG_fail;
52322  if (!SWIG_IsOK(res1)) {
52323  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer_Element" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > *""'");
52324  }
52326  ecode2 = SWIG_AsVal_int(obj1, &val2);
52327  if (!SWIG_IsOK(ecode2)) {
52328  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntervalVarContainer_Element" "', argument " "2"" of type '" "int""'");
52329  }
52330  arg2 = static_cast< int >(val2);
52331  {
52332  try {
52333  result = (operations_research::IntervalVarElement *)(arg1)->MutableElement(arg2);
52334  }
52335  catch (Swig::DirectorException &e) {
52336  SWIG_fail;
52337  }
52338  }
52340  return resultobj;
52341 fail:
52342  return NULL;
52343 }
52344 
52345 
52346 SWIGINTERN PyObject *_wrap_IntervalVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52347  PyObject *resultobj = 0;
52349  void *argp1 = 0 ;
52350  int res1 = 0 ;
52351  PyObject * obj0 = 0 ;
52352  int result;
52353 
52354  if (!PyArg_UnpackTuple(args, "IntervalVarContainer_Size", 1, 1, &obj0)) SWIG_fail;
52356  if (!SWIG_IsOK(res1)) {
52357  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer_Size" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const *""'");
52358  }
52360  {
52361  try {
52363  }
52364  catch (Swig::DirectorException &e) {
52365  SWIG_fail;
52366  }
52367  }
52368  resultobj = SWIG_From_int(static_cast< int >(result));
52369  return resultobj;
52370 fail:
52371  return NULL;
52372 }
52373 
52374 
52375 SWIGINTERN PyObject *_wrap_IntervalVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52376  PyObject *resultobj = 0;
52378  void *argp1 = 0 ;
52379  int res1 = 0 ;
52380  PyObject * obj0 = 0 ;
52381 
52382  if (!PyArg_UnpackTuple(args, "IntervalVarContainer_Store", 1, 1, &obj0)) SWIG_fail;
52384  if (!SWIG_IsOK(res1)) {
52385  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer_Store" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > *""'");
52386  }
52388  {
52389  try {
52390  (arg1)->Store();
52391  }
52392  catch (Swig::DirectorException &e) {
52393  SWIG_fail;
52394  }
52395  }
52396  resultobj = SWIG_Py_Void();
52397  return resultobj;
52398 fail:
52399  return NULL;
52400 }
52401 
52402 
52403 SWIGINTERN PyObject *_wrap_IntervalVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52404  PyObject *resultobj = 0;
52406  void *argp1 = 0 ;
52407  int res1 = 0 ;
52408  PyObject * obj0 = 0 ;
52409 
52410  if (!PyArg_UnpackTuple(args, "IntervalVarContainer_Restore", 1, 1, &obj0)) SWIG_fail;
52412  if (!SWIG_IsOK(res1)) {
52413  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer_Restore" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > *""'");
52414  }
52416  {
52417  try {
52418  (arg1)->Restore();
52419  }
52420  catch (Swig::DirectorException &e) {
52421  SWIG_fail;
52422  }
52423  }
52424  resultobj = SWIG_Py_Void();
52425  return resultobj;
52426 fail:
52427  return NULL;
52428 }
52429 
52430 
52431 SWIGINTERN PyObject *_wrap_IntervalVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52432  PyObject *resultobj = 0;
52435  void *argp1 = 0 ;
52436  int res1 = 0 ;
52437  void *argp2 = 0 ;
52438  int res2 = 0 ;
52439  PyObject * obj0 = 0 ;
52440  PyObject * obj1 = 0 ;
52441  bool result;
52442 
52443  if (!PyArg_UnpackTuple(args, "IntervalVarContainer___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
52445  if (!SWIG_IsOK(res1)) {
52446  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer___eq__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const *""'");
52447  }
52450  if (!SWIG_IsOK(res2)) {
52451  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const &""'");
52452  }
52453  if (!argp2) {
52454  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntervalVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const &""'");
52455  }
52457  {
52458  try {
52460  }
52461  catch (Swig::DirectorException &e) {
52462  SWIG_fail;
52463  }
52464  }
52465  resultobj = SWIG_From_bool(static_cast< bool >(result));
52466  return resultobj;
52467 fail:
52468  PyErr_Clear();
52469  Py_INCREF(Py_NotImplemented);
52470  return Py_NotImplemented;
52471 }
52472 
52473 
52474 SWIGINTERN PyObject *_wrap_IntervalVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52475  PyObject *resultobj = 0;
52478  void *argp1 = 0 ;
52479  int res1 = 0 ;
52480  void *argp2 = 0 ;
52481  int res2 = 0 ;
52482  PyObject * obj0 = 0 ;
52483  PyObject * obj1 = 0 ;
52484  bool result;
52485 
52486  if (!PyArg_UnpackTuple(args, "IntervalVarContainer___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
52488  if (!SWIG_IsOK(res1)) {
52489  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntervalVarContainer___ne__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const *""'");
52490  }
52493  if (!SWIG_IsOK(res2)) {
52494  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntervalVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const &""'");
52495  }
52496  if (!argp2) {
52497  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IntervalVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > const &""'");
52498  }
52500  {
52501  try {
52503  }
52504  catch (Swig::DirectorException &e) {
52505  SWIG_fail;
52506  }
52507  }
52508  resultobj = SWIG_From_bool(static_cast< bool >(result));
52509  return resultobj;
52510 fail:
52511  PyErr_Clear();
52512  Py_INCREF(Py_NotImplemented);
52513  return Py_NotImplemented;
52514 }
52515 
52516 
52517 SWIGINTERN PyObject *_wrap_delete_IntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52518  PyObject *resultobj = 0;
52520  void *argp1 = 0 ;
52521  int res1 = 0 ;
52522  PyObject * obj0 = 0 ;
52523 
52524  if (!PyArg_UnpackTuple(args, "delete_IntervalVarContainer", 1, 1, &obj0)) SWIG_fail;
52526  if (!SWIG_IsOK(res1)) {
52527  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntervalVarContainer" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > *""'");
52528  }
52530  {
52531  try {
52532  delete arg1;
52533  }
52534  catch (Swig::DirectorException &e) {
52535  SWIG_fail;
52536  }
52537  }
52538  resultobj = SWIG_Py_Void();
52539  return resultobj;
52540 fail:
52541  return NULL;
52542 }
52543 
52544 
52545 SWIGINTERN PyObject *IntervalVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52546  PyObject *obj;
52547  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
52549  return SWIG_Py_Void();
52550 }
52551 
52552 SWIGINTERN PyObject *_wrap_SequenceVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52553  PyObject *resultobj = 0;
52556  void *argp1 = 0 ;
52557  int res1 = 0 ;
52558  PyObject * obj0 = 0 ;
52559  PyObject * obj1 = 0 ;
52560  bool result;
52561 
52562  if (!PyArg_UnpackTuple(args, "SequenceVarContainer_Contains", 2, 2, &obj0, &obj1)) SWIG_fail;
52564  if (!SWIG_IsOK(res1)) {
52565  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer_Contains" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const *""'");
52566  }
52568  {
52569  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
52570  }
52571  {
52572  try {
52574  }
52575  catch (Swig::DirectorException &e) {
52576  SWIG_fail;
52577  }
52578  }
52579  resultobj = SWIG_From_bool(static_cast< bool >(result));
52580  return resultobj;
52581 fail:
52582  return NULL;
52583 }
52584 
52585 
52586 SWIGINTERN PyObject *_wrap_SequenceVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52587  PyObject *resultobj = 0;
52589  int arg2 ;
52590  void *argp1 = 0 ;
52591  int res1 = 0 ;
52592  int val2 ;
52593  int ecode2 = 0 ;
52594  PyObject * obj0 = 0 ;
52595  PyObject * obj1 = 0 ;
52597 
52598  if (!PyArg_UnpackTuple(args, "SequenceVarContainer_Element", 2, 2, &obj0, &obj1)) SWIG_fail;
52600  if (!SWIG_IsOK(res1)) {
52601  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer_Element" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > *""'");
52602  }
52604  ecode2 = SWIG_AsVal_int(obj1, &val2);
52605  if (!SWIG_IsOK(ecode2)) {
52606  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVarContainer_Element" "', argument " "2"" of type '" "int""'");
52607  }
52608  arg2 = static_cast< int >(val2);
52609  {
52610  try {
52611  result = (operations_research::SequenceVarElement *)(arg1)->MutableElement(arg2);
52612  }
52613  catch (Swig::DirectorException &e) {
52614  SWIG_fail;
52615  }
52616  }
52618  return resultobj;
52619 fail:
52620  return NULL;
52621 }
52622 
52623 
52624 SWIGINTERN PyObject *_wrap_SequenceVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52625  PyObject *resultobj = 0;
52627  void *argp1 = 0 ;
52628  int res1 = 0 ;
52629  PyObject * obj0 = 0 ;
52630  int result;
52631 
52632  if (!PyArg_UnpackTuple(args, "SequenceVarContainer_Size", 1, 1, &obj0)) SWIG_fail;
52634  if (!SWIG_IsOK(res1)) {
52635  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer_Size" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const *""'");
52636  }
52638  {
52639  try {
52641  }
52642  catch (Swig::DirectorException &e) {
52643  SWIG_fail;
52644  }
52645  }
52646  resultobj = SWIG_From_int(static_cast< int >(result));
52647  return resultobj;
52648 fail:
52649  return NULL;
52650 }
52651 
52652 
52653 SWIGINTERN PyObject *_wrap_SequenceVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52654  PyObject *resultobj = 0;
52656  void *argp1 = 0 ;
52657  int res1 = 0 ;
52658  PyObject * obj0 = 0 ;
52659 
52660  if (!PyArg_UnpackTuple(args, "SequenceVarContainer_Store", 1, 1, &obj0)) SWIG_fail;
52662  if (!SWIG_IsOK(res1)) {
52663  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer_Store" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > *""'");
52664  }
52666  {
52667  try {
52668  (arg1)->Store();
52669  }
52670  catch (Swig::DirectorException &e) {
52671  SWIG_fail;
52672  }
52673  }
52674  resultobj = SWIG_Py_Void();
52675  return resultobj;
52676 fail:
52677  return NULL;
52678 }
52679 
52680 
52681 SWIGINTERN PyObject *_wrap_SequenceVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52682  PyObject *resultobj = 0;
52684  void *argp1 = 0 ;
52685  int res1 = 0 ;
52686  PyObject * obj0 = 0 ;
52687 
52688  if (!PyArg_UnpackTuple(args, "SequenceVarContainer_Restore", 1, 1, &obj0)) SWIG_fail;
52690  if (!SWIG_IsOK(res1)) {
52691  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer_Restore" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > *""'");
52692  }
52694  {
52695  try {
52696  (arg1)->Restore();
52697  }
52698  catch (Swig::DirectorException &e) {
52699  SWIG_fail;
52700  }
52701  }
52702  resultobj = SWIG_Py_Void();
52703  return resultobj;
52704 fail:
52705  return NULL;
52706 }
52707 
52708 
52709 SWIGINTERN PyObject *_wrap_SequenceVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52710  PyObject *resultobj = 0;
52713  void *argp1 = 0 ;
52714  int res1 = 0 ;
52715  void *argp2 = 0 ;
52716  int res2 = 0 ;
52717  PyObject * obj0 = 0 ;
52718  PyObject * obj1 = 0 ;
52719  bool result;
52720 
52721  if (!PyArg_UnpackTuple(args, "SequenceVarContainer___eq__", 2, 2, &obj0, &obj1)) SWIG_fail;
52723  if (!SWIG_IsOK(res1)) {
52724  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer___eq__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const *""'");
52725  }
52728  if (!SWIG_IsOK(res2)) {
52729  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SequenceVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const &""'");
52730  }
52731  if (!argp2) {
52732  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SequenceVarContainer___eq__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const &""'");
52733  }
52735  {
52736  try {
52738  }
52739  catch (Swig::DirectorException &e) {
52740  SWIG_fail;
52741  }
52742  }
52743  resultobj = SWIG_From_bool(static_cast< bool >(result));
52744  return resultobj;
52745 fail:
52746  PyErr_Clear();
52747  Py_INCREF(Py_NotImplemented);
52748  return Py_NotImplemented;
52749 }
52750 
52751 
52752 SWIGINTERN PyObject *_wrap_SequenceVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52753  PyObject *resultobj = 0;
52756  void *argp1 = 0 ;
52757  int res1 = 0 ;
52758  void *argp2 = 0 ;
52759  int res2 = 0 ;
52760  PyObject * obj0 = 0 ;
52761  PyObject * obj1 = 0 ;
52762  bool result;
52763 
52764  if (!PyArg_UnpackTuple(args, "SequenceVarContainer___ne__", 2, 2, &obj0, &obj1)) SWIG_fail;
52766  if (!SWIG_IsOK(res1)) {
52767  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarContainer___ne__" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const *""'");
52768  }
52771  if (!SWIG_IsOK(res2)) {
52772  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SequenceVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const &""'");
52773  }
52774  if (!argp2) {
52775  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SequenceVarContainer___ne__" "', argument " "2"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > const &""'");
52776  }
52778  {
52779  try {
52781  }
52782  catch (Swig::DirectorException &e) {
52783  SWIG_fail;
52784  }
52785  }
52786  resultobj = SWIG_From_bool(static_cast< bool >(result));
52787  return resultobj;
52788 fail:
52789  PyErr_Clear();
52790  Py_INCREF(Py_NotImplemented);
52791  return Py_NotImplemented;
52792 }
52793 
52794 
52795 SWIGINTERN PyObject *_wrap_delete_SequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52796  PyObject *resultobj = 0;
52798  void *argp1 = 0 ;
52799  int res1 = 0 ;
52800  PyObject * obj0 = 0 ;
52801 
52802  if (!PyArg_UnpackTuple(args, "delete_SequenceVarContainer", 1, 1, &obj0)) SWIG_fail;
52804  if (!SWIG_IsOK(res1)) {
52805  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SequenceVarContainer" "', argument " "1"" of type '" "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > *""'");
52806  }
52808  {
52809  try {
52810  delete arg1;
52811  }
52812  catch (Swig::DirectorException &e) {
52813  SWIG_fail;
52814  }
52815  }
52816  resultobj = SWIG_Py_Void();
52817  return resultobj;
52818 fail:
52819  return NULL;
52820 }
52821 
52822 
52823 SWIGINTERN PyObject *SequenceVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52824  PyObject *obj;
52825  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
52827  return SWIG_Py_Void();
52828 }
52829 
52830 SWIGINTERN PyObject *_wrap_LocalSearchOperator_NextNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52831  PyObject *resultobj = 0;
52835  void *argp1 = 0 ;
52836  int res1 = 0 ;
52837  void *argp2 = 0 ;
52838  int res2 = 0 ;
52839  void *argp3 = 0 ;
52840  int res3 = 0 ;
52841  PyObject * obj0 = 0 ;
52842  PyObject * obj1 = 0 ;
52843  PyObject * obj2 = 0 ;
52844  Swig::Director *director = 0;
52845  bool upcall = false;
52846  bool result;
52847 
52848  if (!PyArg_UnpackTuple(args, "LocalSearchOperator_NextNeighbor", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
52850  if (!SWIG_IsOK(res1)) {
52851  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchOperator_NextNeighbor" "', argument " "1"" of type '" "operations_research::LocalSearchOperator *""'");
52852  }
52853  arg1 = reinterpret_cast< operations_research::LocalSearchOperator * >(argp1);
52854  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
52855  if (!SWIG_IsOK(res2)) {
52856  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchOperator_NextNeighbor" "', argument " "2"" of type '" "operations_research::Assignment *""'");
52857  }
52858  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
52859  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
52860  if (!SWIG_IsOK(res3)) {
52861  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "LocalSearchOperator_NextNeighbor" "', argument " "3"" of type '" "operations_research::Assignment *""'");
52862  }
52863  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
52864  director = SWIG_DIRECTOR_CAST(arg1);
52865  upcall = (director && (director->swig_get_self()==obj0));
52866  try {
52867  {
52868  try {
52869  if (upcall) {
52870  Swig::DirectorPureVirtualException::raise("operations_research::LocalSearchOperator::MakeNextNeighbor");
52871  } else {
52872  result = (bool)(arg1)->MakeNextNeighbor(arg2,arg3);
52873  }
52874  }
52875  catch (Swig::DirectorException &e) {
52876  SWIG_fail;
52877  }
52878  }
52879  } catch (Swig::DirectorException&) {
52880  SWIG_fail;
52881  }
52882  resultobj = SWIG_From_bool(static_cast< bool >(result));
52883  return resultobj;
52884 fail:
52885  return NULL;
52886 }
52887 
52888 
52889 SWIGINTERN PyObject *_wrap_LocalSearchOperator_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52890  PyObject *resultobj = 0;
52893  void *argp1 = 0 ;
52894  int res1 = 0 ;
52895  void *argp2 = 0 ;
52896  int res2 = 0 ;
52897  PyObject * obj0 = 0 ;
52898  PyObject * obj1 = 0 ;
52899  Swig::Director *director = 0;
52900  bool upcall = false;
52901 
52902  if (!PyArg_UnpackTuple(args, "LocalSearchOperator_Start", 2, 2, &obj0, &obj1)) SWIG_fail;
52904  if (!SWIG_IsOK(res1)) {
52905  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchOperator_Start" "', argument " "1"" of type '" "operations_research::LocalSearchOperator *""'");
52906  }
52907  arg1 = reinterpret_cast< operations_research::LocalSearchOperator * >(argp1);
52908  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
52909  if (!SWIG_IsOK(res2)) {
52910  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchOperator_Start" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
52911  }
52912  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
52913  director = SWIG_DIRECTOR_CAST(arg1);
52914  upcall = (director && (director->swig_get_self()==obj0));
52915  try {
52916  {
52917  try {
52918  if (upcall) {
52919  Swig::DirectorPureVirtualException::raise("operations_research::LocalSearchOperator::Start");
52920  } else {
52921  (arg1)->Start((operations_research::Assignment const *)arg2);
52922  }
52923  }
52924  catch (Swig::DirectorException &e) {
52925  SWIG_fail;
52926  }
52927  }
52928  } catch (Swig::DirectorException&) {
52929  SWIG_fail;
52930  }
52931  resultobj = SWIG_Py_Void();
52932  return resultobj;
52933 fail:
52934  return NULL;
52935 }
52936 
52937 
52938 SWIGINTERN PyObject *_wrap_disown_LocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52939  PyObject *resultobj = 0;
52941  void *argp1 = 0 ;
52942  int res1 = 0 ;
52943  PyObject * obj0 = 0 ;
52944 
52945  if (!PyArg_UnpackTuple(args, "disown_LocalSearchOperator", 1, 1, &obj0)) SWIG_fail;
52947  if (!SWIG_IsOK(res1)) {
52948  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_LocalSearchOperator" "', argument " "1"" of type '" "operations_research::LocalSearchOperator *""'");
52949  }
52950  arg1 = reinterpret_cast< operations_research::LocalSearchOperator * >(argp1);
52951  {
52952  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
52953  if (director) director->swig_disown();
52954  }
52955 
52956  resultobj = SWIG_Py_Void();
52957  return resultobj;
52958 fail:
52959  return NULL;
52960 }
52961 
52962 
52963 SWIGINTERN PyObject *LocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
52964  PyObject *obj;
52965  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
52967  return SWIG_Py_Void();
52968 }
52969 
52971  PyObject *resultobj = 0;
52974  void *argp1 = 0 ;
52975  int res1 = 0 ;
52976  void *argp2 = 0 ;
52977  int res2 = 0 ;
52978  PyObject * obj0 = 0 ;
52979  PyObject * obj1 = 0 ;
52980 
52981  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_Start", 2, 2, &obj0, &obj1)) SWIG_fail;
52983  if (!SWIG_IsOK(res1)) {
52984  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_Start" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > *""'");
52985  }
52987  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
52988  if (!SWIG_IsOK(res2)) {
52989  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarLocalSearchOperatorTemplate_Start" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
52990  }
52991  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
52992  {
52993  try {
52994  (arg1)->Start((operations_research::Assignment const *)arg2);
52995  }
52996  catch (Swig::DirectorException &e) {
52997  SWIG_fail;
52998  }
52999  }
53000  resultobj = SWIG_Py_Void();
53001  return resultobj;
53002 fail:
53003  return NULL;
53004 }
53005 
53006 
53008  PyObject *resultobj = 0;
53010  void *argp1 = 0 ;
53011  int res1 = 0 ;
53012  PyObject * obj0 = 0 ;
53013  Swig::Director *director = 0;
53014  bool upcall = false;
53015  bool result;
53016 
53017  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_IsIncremental", 1, 1, &obj0)) SWIG_fail;
53019  if (!SWIG_IsOK(res1)) {
53020  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_IsIncremental" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > const *""'");
53021  }
53023  director = SWIG_DIRECTOR_CAST(arg1);
53024  upcall = (director && (director->swig_get_self()==obj0));
53025  try {
53026  {
53027  try {
53028  if (upcall) {
53030  } else {
53032  }
53033  }
53034  catch (Swig::DirectorException &e) {
53035  SWIG_fail;
53036  }
53037  }
53038  } catch (Swig::DirectorException&) {
53039  SWIG_fail;
53040  }
53041  resultobj = SWIG_From_bool(static_cast< bool >(result));
53042  return resultobj;
53043 fail:
53044  return NULL;
53045 }
53046 
53047 
53048 SWIGINTERN PyObject *_wrap_IntVarLocalSearchOperatorTemplate_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53049  PyObject *resultobj = 0;
53051  void *argp1 = 0 ;
53052  int res1 = 0 ;
53053  PyObject * obj0 = 0 ;
53054  int result;
53055 
53056  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_Size", 1, 1, &obj0)) SWIG_fail;
53058  if (!SWIG_IsOK(res1)) {
53059  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_Size" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > const *""'");
53060  }
53062  {
53063  try {
53065  }
53066  catch (Swig::DirectorException &e) {
53067  SWIG_fail;
53068  }
53069  }
53070  resultobj = SWIG_From_int(static_cast< int >(result));
53071  return resultobj;
53072 fail:
53073  return NULL;
53074 }
53075 
53076 
53078  PyObject *resultobj = 0;
53080  int64_t arg2 ;
53081  void *argp1 = 0 ;
53082  int res1 = 0 ;
53083  long val2 ;
53084  int ecode2 = 0 ;
53085  PyObject * obj0 = 0 ;
53086  PyObject * obj1 = 0 ;
53087  long *result = 0 ;
53088 
53089  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_Value", 2, 2, &obj0, &obj1)) SWIG_fail;
53091  if (!SWIG_IsOK(res1)) {
53092  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_Value" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > const *""'");
53093  }
53095  ecode2 = SWIG_AsVal_long(obj1, &val2);
53096  if (!SWIG_IsOK(ecode2)) {
53097  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarLocalSearchOperatorTemplate_Value" "', argument " "2"" of type '" "int64_t""'");
53098  }
53099  arg2 = static_cast< int64_t >(val2);
53100  {
53101  try {
53103  }
53104  catch (Swig::DirectorException &e) {
53105  SWIG_fail;
53106  }
53107  }
53108  resultobj = SWIG_From_long(static_cast< long >(*result));
53109  return resultobj;
53110 fail:
53111  return NULL;
53112 }
53113 
53114 
53116  PyObject *resultobj = 0;
53118  int64_t arg2 ;
53119  void *argp1 = 0 ;
53120  int res1 = 0 ;
53121  long val2 ;
53122  int ecode2 = 0 ;
53123  PyObject * obj0 = 0 ;
53124  PyObject * obj1 = 0 ;
53125  long *result = 0 ;
53126 
53127  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_OldValue", 2, 2, &obj0, &obj1)) SWIG_fail;
53129  if (!SWIG_IsOK(res1)) {
53130  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_OldValue" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > const *""'");
53131  }
53133  ecode2 = SWIG_AsVal_long(obj1, &val2);
53134  if (!SWIG_IsOK(ecode2)) {
53135  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarLocalSearchOperatorTemplate_OldValue" "', argument " "2"" of type '" "int64_t""'");
53136  }
53137  arg2 = static_cast< int64_t >(val2);
53138  {
53139  try {
53141  }
53142  catch (Swig::DirectorException &e) {
53143  SWIG_fail;
53144  }
53145  }
53146  resultobj = SWIG_From_long(static_cast< long >(*result));
53147  return resultobj;
53148 fail:
53149  return NULL;
53150 }
53151 
53152 
53154  PyObject *resultobj = 0;
53156  int64_t arg2 ;
53157  long *arg3 = 0 ;
53158  void *argp1 = 0 ;
53159  int res1 = 0 ;
53160  long val2 ;
53161  int ecode2 = 0 ;
53162  long temp3 ;
53163  long val3 ;
53164  int ecode3 = 0 ;
53165  PyObject * obj0 = 0 ;
53166  PyObject * obj1 = 0 ;
53167  PyObject * obj2 = 0 ;
53168 
53169  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_SetValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
53171  if (!SWIG_IsOK(res1)) {
53172  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_SetValue" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > *""'");
53173  }
53175  ecode2 = SWIG_AsVal_long(obj1, &val2);
53176  if (!SWIG_IsOK(ecode2)) {
53177  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarLocalSearchOperatorTemplate_SetValue" "', argument " "2"" of type '" "int64_t""'");
53178  }
53179  arg2 = static_cast< int64_t >(val2);
53180  ecode3 = SWIG_AsVal_long(obj2, &val3);
53181  if (!SWIG_IsOK(ecode3)) {
53182  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IntVarLocalSearchOperatorTemplate_SetValue" "', argument " "3"" of type '" "long""'");
53183  }
53184  temp3 = static_cast< long >(val3);
53185  arg3 = &temp3;
53186  {
53187  try {
53188  (arg1)->SetValue(arg2,(long const &)*arg3);
53189  }
53190  catch (Swig::DirectorException &e) {
53191  SWIG_fail;
53192  }
53193  }
53194  resultobj = SWIG_Py_Void();
53195  return resultobj;
53196 fail:
53197  return NULL;
53198 }
53199 
53200 
53202  PyObject *resultobj = 0;
53204  void *argp1 = 0 ;
53205  int res1 = 0 ;
53206  PyObject * obj0 = 0 ;
53207  Swig::Director *director = 0;
53208  bool upcall = false;
53209 
53210  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperatorTemplate_OnStart", 1, 1, &obj0)) SWIG_fail;
53212  if (!SWIG_IsOK(res1)) {
53213  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperatorTemplate_OnStart" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > *""'");
53214  }
53216  director = SWIG_DIRECTOR_CAST(arg1);
53217  upcall = (director && (director->swig_get_self()==obj0));
53218  try {
53219  {
53220  try {
53221  if (upcall) {
53223  } else {
53224  (arg1)->OnStart();
53225  }
53226  }
53227  catch (Swig::DirectorException &e) {
53228  SWIG_fail;
53229  }
53230  }
53231  } catch (Swig::DirectorException&) {
53232  SWIG_fail;
53233  }
53234  resultobj = SWIG_Py_Void();
53235  return resultobj;
53236 fail:
53237  return NULL;
53238 }
53239 
53240 
53242  PyObject *obj;
53243  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
53245  return SWIG_Py_Void();
53246 }
53247 
53248 SWIGINTERN PyObject *_wrap_new_IntVarLocalSearchOperator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53249  PyObject *resultobj = 0;
53250  PyObject *arg1 = (PyObject *) 0 ;
53251  PyObject * obj0 = 0 ;
53253 
53254  if (!PyArg_UnpackTuple(args, "new_IntVarLocalSearchOperator", 1, 1, &obj0)) SWIG_fail;
53255  arg1 = obj0;
53256  {
53257  try {
53258  if ( arg1 != Py_None ) {
53259  /* subclassed */
53261  } else {
53263  }
53264  }
53265  catch (Swig::DirectorException &e) {
53266  SWIG_fail;
53267  }
53268  }
53270  return resultobj;
53271 fail:
53272  return NULL;
53273 }
53274 
53275 
53276 SWIGINTERN PyObject *_wrap_new_IntVarLocalSearchOperator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53277  PyObject *resultobj = 0;
53278  PyObject *arg1 = (PyObject *) 0 ;
53279  std::vector< operations_research::IntVar * > *arg2 = 0 ;
53280  bool arg3 ;
53281  std::vector< operations_research::IntVar * > temp2 ;
53282  bool val3 ;
53283  int ecode3 = 0 ;
53284  PyObject * obj0 = 0 ;
53285  PyObject * obj1 = 0 ;
53286  PyObject * obj2 = 0 ;
53288 
53289  if (!PyArg_UnpackTuple(args, "new_IntVarLocalSearchOperator", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
53290  arg1 = obj0;
53291  {
53292  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
53293  if (!PyErr_Occurred())
53294  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
53295  return NULL;
53296  }
53297  arg2 = &temp2;
53298  }
53299  ecode3 = SWIG_AsVal_bool(obj2, &val3);
53300  if (!SWIG_IsOK(ecode3)) {
53301  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_IntVarLocalSearchOperator" "', argument " "3"" of type '" "bool""'");
53302  }
53303  arg3 = static_cast< bool >(val3);
53304  {
53305  try {
53306  if ( arg1 != Py_None ) {
53307  /* subclassed */
53308  result = (operations_research::IntVarLocalSearchOperator *)new SwigDirector_IntVarLocalSearchOperator(arg1,(std::vector< operations_research::IntVar * > const &)*arg2,arg3);
53309  } else {
53310  result = (operations_research::IntVarLocalSearchOperator *)new operations_research::IntVarLocalSearchOperator((std::vector< operations_research::IntVar * > const &)*arg2,arg3);
53311  }
53312  }
53313  catch (Swig::DirectorException &e) {
53314  SWIG_fail;
53315  }
53316  }
53318  return resultobj;
53319 fail:
53320  return NULL;
53321 }
53322 
53323 
53324 SWIGINTERN PyObject *_wrap_new_IntVarLocalSearchOperator__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53325  PyObject *resultobj = 0;
53326  PyObject *arg1 = (PyObject *) 0 ;
53327  std::vector< operations_research::IntVar * > *arg2 = 0 ;
53328  std::vector< operations_research::IntVar * > temp2 ;
53329  PyObject * obj0 = 0 ;
53330  PyObject * obj1 = 0 ;
53332 
53333  if (!PyArg_UnpackTuple(args, "new_IntVarLocalSearchOperator", 2, 2, &obj0, &obj1)) SWIG_fail;
53334  arg1 = obj0;
53335  {
53336  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
53337  if (!PyErr_Occurred())
53338  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
53339  return NULL;
53340  }
53341  arg2 = &temp2;
53342  }
53343  {
53344  try {
53345  if ( arg1 != Py_None ) {
53346  /* subclassed */
53347  result = (operations_research::IntVarLocalSearchOperator *)new SwigDirector_IntVarLocalSearchOperator(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
53348  } else {
53349  result = (operations_research::IntVarLocalSearchOperator *)new operations_research::IntVarLocalSearchOperator((std::vector< operations_research::IntVar * > const &)*arg2);
53350  }
53351  }
53352  catch (Swig::DirectorException &e) {
53353  SWIG_fail;
53354  }
53355  }
53357  return resultobj;
53358 fail:
53359  return NULL;
53360 }
53361 
53362 
53363 SWIGINTERN PyObject *_wrap_new_IntVarLocalSearchOperator(PyObject *self, PyObject *args) {
53364  Py_ssize_t argc;
53365  PyObject *argv[4] = {
53366  0
53367  };
53368  Py_ssize_t ii;
53369 
53370  if (!PyTuple_Check(args)) SWIG_fail;
53371  argc = PyObject_Length(args);
53372  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
53373  argv[ii] = PyTuple_GET_ITEM(args,ii);
53374  }
53375  if (argc == 1) {
53376  int _v;
53377  _v = (argv[0] != 0);
53378  if (_v) {
53380  }
53381  }
53382  if (argc == 2) {
53383  int _v;
53384  _v = (argv[0] != 0);
53385  if (_v) {
53386  {
53387  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
53388  _v = 0;
53389  } else {
53390  const bool is_tuple = PyTuple_Check(argv[1]);
53391  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
53392  size_t i = 0;
53393  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
53394  :PyList_GetItem(argv[1], i))) {
53395  ++i;
53396  }
53397  _v = i == size;
53398  }
53399  }
53400  if (_v) {
53402  }
53403  }
53404  }
53405  if (argc == 3) {
53406  int _v;
53407  _v = (argv[0] != 0);
53408  if (_v) {
53409  {
53410  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
53411  _v = 0;
53412  } else {
53413  const bool is_tuple = PyTuple_Check(argv[1]);
53414  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
53415  size_t i = 0;
53416  while (i < size && CanConvertToIntVar(is_tuple ? PyTuple_GetItem(argv[1], i)
53417  :PyList_GetItem(argv[1], i))) {
53418  ++i;
53419  }
53420  _v = i == size;
53421  }
53422  }
53423  if (_v) {
53424  {
53425  int res = SWIG_AsVal_bool(argv[2], NULL);
53426  _v = SWIG_CheckState(res);
53427  }
53428  if (_v) {
53430  }
53431  }
53432  }
53433  }
53434 
53435 fail:
53436  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_IntVarLocalSearchOperator'.\n"
53437  " Possible C/C++ prototypes are:\n"
53438  " operations_research::IntVarLocalSearchOperator::IntVarLocalSearchOperator()\n"
53439  " operations_research::IntVarLocalSearchOperator::IntVarLocalSearchOperator(std::vector< operations_research::IntVar * > const &,bool)\n"
53440  " operations_research::IntVarLocalSearchOperator::IntVarLocalSearchOperator(PyObject *,std::vector< operations_research::IntVar * > const &)\n");
53441  return 0;
53442 }
53443 
53444 
53445 SWIGINTERN PyObject *_wrap_delete_IntVarLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53446  PyObject *resultobj = 0;
53448  void *argp1 = 0 ;
53449  int res1 = 0 ;
53450  PyObject * obj0 = 0 ;
53451 
53452  if (!PyArg_UnpackTuple(args, "delete_IntVarLocalSearchOperator", 1, 1, &obj0)) SWIG_fail;
53454  if (!SWIG_IsOK(res1)) {
53455  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntVarLocalSearchOperator" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchOperator *""'");
53456  }
53457  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchOperator * >(argp1);
53458  {
53459  try {
53460  delete arg1;
53461  }
53462  catch (Swig::DirectorException &e) {
53463  SWIG_fail;
53464  }
53465  }
53466  resultobj = SWIG_Py_Void();
53467  return resultobj;
53468 fail:
53469  return NULL;
53470 }
53471 
53472 
53473 SWIGINTERN PyObject *_wrap_IntVarLocalSearchOperator_NextNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53474  PyObject *resultobj = 0;
53478  void *argp1 = 0 ;
53479  int res1 = 0 ;
53480  void *argp2 = 0 ;
53481  int res2 = 0 ;
53482  void *argp3 = 0 ;
53483  int res3 = 0 ;
53484  PyObject * obj0 = 0 ;
53485  PyObject * obj1 = 0 ;
53486  PyObject * obj2 = 0 ;
53487  Swig::Director *director = 0;
53488  bool upcall = false;
53489  bool result;
53490 
53491  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperator_NextNeighbor", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
53493  if (!SWIG_IsOK(res1)) {
53494  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperator_NextNeighbor" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchOperator *""'");
53495  }
53496  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchOperator * >(argp1);
53497  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
53498  if (!SWIG_IsOK(res2)) {
53499  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarLocalSearchOperator_NextNeighbor" "', argument " "2"" of type '" "operations_research::Assignment *""'");
53500  }
53501  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
53502  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
53503  if (!SWIG_IsOK(res3)) {
53504  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IntVarLocalSearchOperator_NextNeighbor" "', argument " "3"" of type '" "operations_research::Assignment *""'");
53505  }
53506  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
53507  director = SWIG_DIRECTOR_CAST(arg1);
53508  upcall = (director && (director->swig_get_self()==obj0));
53509  try {
53510  {
53511  try {
53512  if (upcall) {
53513  result = (bool)(arg1)->operations_research::IntVarLocalSearchOperator::MakeNextNeighbor(arg2,arg3);
53514  } else {
53515  result = (bool)(arg1)->MakeNextNeighbor(arg2,arg3);
53516  }
53517  }
53518  catch (Swig::DirectorException &e) {
53519  SWIG_fail;
53520  }
53521  }
53522  } catch (Swig::DirectorException&) {
53523  SWIG_fail;
53524  }
53525  resultobj = SWIG_From_bool(static_cast< bool >(result));
53526  return resultobj;
53527 fail:
53528  return NULL;
53529 }
53530 
53531 
53532 SWIGINTERN PyObject *_wrap_IntVarLocalSearchOperator_OneNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53533  PyObject *resultobj = 0;
53535  void *argp1 = 0 ;
53536  int res1 = 0 ;
53537  PyObject * obj0 = 0 ;
53538  Swig::Director *director = 0;
53539  bool upcall = false;
53541  bool result;
53542 
53543  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchOperator_OneNeighbor", 1, 1, &obj0)) SWIG_fail;
53545  if (!SWIG_IsOK(res1)) {
53546  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchOperator_OneNeighbor" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchOperator *""'");
53547  }
53548  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchOperator * >(argp1);
53549  director = SWIG_DIRECTOR_CAST(arg1);
53550  if (!director || !(director->swig_get_inner("MakeOneNeighbor"))) {
53551  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing protected member MakeOneNeighbor");
53552  SWIG_fail;
53553  }
53554  upcall = (director && (director->swig_get_self()==obj0));
53555  try {
53556  darg = dynamic_cast<SwigDirector_IntVarLocalSearchOperator *>(arg1);
53557  {
53558  try {
53559  if (upcall) {
53560  result = (bool)(darg)->MakeOneNeighborSwigPublic();
53561  } else {
53562  result = (bool)(darg)->MakeOneNeighbor();
53563  }
53564  }
53565  catch (Swig::DirectorException &e) {
53566  SWIG_fail;
53567  }
53568  }
53569  } catch (Swig::DirectorException&) {
53570  SWIG_fail;
53571  }
53572  resultobj = SWIG_From_bool(static_cast< bool >(result));
53573  return resultobj;
53574 fail:
53575  return NULL;
53576 }
53577 
53578 
53579 SWIGINTERN PyObject *_wrap_disown_IntVarLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53580  PyObject *resultobj = 0;
53582  void *argp1 = 0 ;
53583  int res1 = 0 ;
53584  PyObject * obj0 = 0 ;
53585 
53586  if (!PyArg_UnpackTuple(args, "disown_IntVarLocalSearchOperator", 1, 1, &obj0)) SWIG_fail;
53588  if (!SWIG_IsOK(res1)) {
53589  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_IntVarLocalSearchOperator" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchOperator *""'");
53590  }
53591  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchOperator * >(argp1);
53592  {
53593  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
53594  if (director) director->swig_disown();
53595  }
53596 
53597  resultobj = SWIG_Py_Void();
53598  return resultobj;
53599 fail:
53600  return NULL;
53601 }
53602 
53603 
53604 SWIGINTERN PyObject *IntVarLocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53605  PyObject *obj;
53606  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
53608  return SWIG_Py_Void();
53609 }
53610 
53611 SWIGINTERN PyObject *IntVarLocalSearchOperator_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53612  return SWIG_Python_InitShadowInstance(args);
53613 }
53614 
53616  PyObject *resultobj = 0;
53619  void *argp1 = 0 ;
53620  int res1 = 0 ;
53621  void *argp2 = 0 ;
53622  int res2 = 0 ;
53623  PyObject * obj0 = 0 ;
53624  PyObject * obj1 = 0 ;
53625 
53626  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_Start", 2, 2, &obj0, &obj1)) SWIG_fail;
53628  if (!SWIG_IsOK(res1)) {
53629  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_Start" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > *""'");
53630  }
53632  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
53633  if (!SWIG_IsOK(res2)) {
53634  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SequenceVarLocalSearchOperatorTemplate_Start" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
53635  }
53636  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
53637  {
53638  try {
53639  (arg1)->Start((operations_research::Assignment const *)arg2);
53640  }
53641  catch (Swig::DirectorException &e) {
53642  SWIG_fail;
53643  }
53644  }
53645  resultobj = SWIG_Py_Void();
53646  return resultobj;
53647 fail:
53648  return NULL;
53649 }
53650 
53651 
53653  PyObject *resultobj = 0;
53655  void *argp1 = 0 ;
53656  int res1 = 0 ;
53657  PyObject * obj0 = 0 ;
53658  bool result;
53659 
53660  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_IsIncremental", 1, 1, &obj0)) SWIG_fail;
53662  if (!SWIG_IsOK(res1)) {
53663  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_IsIncremental" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *""'");
53664  }
53666  {
53667  try {
53669  }
53670  catch (Swig::DirectorException &e) {
53671  SWIG_fail;
53672  }
53673  }
53674  resultobj = SWIG_From_bool(static_cast< bool >(result));
53675  return resultobj;
53676 fail:
53677  return NULL;
53678 }
53679 
53680 
53682  PyObject *resultobj = 0;
53684  void *argp1 = 0 ;
53685  int res1 = 0 ;
53686  PyObject * obj0 = 0 ;
53687  int result;
53688 
53689  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_Size", 1, 1, &obj0)) SWIG_fail;
53691  if (!SWIG_IsOK(res1)) {
53692  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_Size" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *""'");
53693  }
53695  {
53696  try {
53698  }
53699  catch (Swig::DirectorException &e) {
53700  SWIG_fail;
53701  }
53702  }
53703  resultobj = SWIG_From_int(static_cast< int >(result));
53704  return resultobj;
53705 fail:
53706  return NULL;
53707 }
53708 
53709 
53711  PyObject *resultobj = 0;
53713  int64_t arg2 ;
53714  void *argp1 = 0 ;
53715  int res1 = 0 ;
53716  long val2 ;
53717  int ecode2 = 0 ;
53718  PyObject * obj0 = 0 ;
53719  PyObject * obj1 = 0 ;
53720  std::vector< int > *result = 0 ;
53721 
53722  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_Value", 2, 2, &obj0, &obj1)) SWIG_fail;
53724  if (!SWIG_IsOK(res1)) {
53725  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_Value" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *""'");
53726  }
53728  ecode2 = SWIG_AsVal_long(obj1, &val2);
53729  if (!SWIG_IsOK(ecode2)) {
53730  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVarLocalSearchOperatorTemplate_Value" "', argument " "2"" of type '" "int64_t""'");
53731  }
53732  arg2 = static_cast< int64_t >(val2);
53733  {
53734  try {
53735  result = (std::vector< int > *) &((operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *)arg1)->Value(arg2);
53736  }
53737  catch (Swig::DirectorException &e) {
53738  SWIG_fail;
53739  }
53740  }
53741  {
53742  resultobj = vector_output_helper(result, &PyInt_FromLong);
53743  }
53744  return resultobj;
53745 fail:
53746  return NULL;
53747 }
53748 
53749 
53751  PyObject *resultobj = 0;
53753  int64_t arg2 ;
53754  void *argp1 = 0 ;
53755  int res1 = 0 ;
53756  long val2 ;
53757  int ecode2 = 0 ;
53758  PyObject * obj0 = 0 ;
53759  PyObject * obj1 = 0 ;
53760  std::vector< int > *result = 0 ;
53761 
53762  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_OldValue", 2, 2, &obj0, &obj1)) SWIG_fail;
53764  if (!SWIG_IsOK(res1)) {
53765  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_OldValue" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *""'");
53766  }
53768  ecode2 = SWIG_AsVal_long(obj1, &val2);
53769  if (!SWIG_IsOK(ecode2)) {
53770  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVarLocalSearchOperatorTemplate_OldValue" "', argument " "2"" of type '" "int64_t""'");
53771  }
53772  arg2 = static_cast< int64_t >(val2);
53773  {
53774  try {
53775  result = (std::vector< int > *) &((operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > const *)arg1)->OldValue(arg2);
53776  }
53777  catch (Swig::DirectorException &e) {
53778  SWIG_fail;
53779  }
53780  }
53781  {
53782  resultobj = vector_output_helper(result, &PyInt_FromLong);
53783  }
53784  return resultobj;
53785 fail:
53786  return NULL;
53787 }
53788 
53789 
53791  PyObject *resultobj = 0;
53793  int64_t arg2 ;
53794  std::vector< int > *arg3 = 0 ;
53795  void *argp1 = 0 ;
53796  int res1 = 0 ;
53797  long val2 ;
53798  int ecode2 = 0 ;
53799  std::vector< int > temp3 ;
53800  PyObject * obj0 = 0 ;
53801  PyObject * obj1 = 0 ;
53802  PyObject * obj2 = 0 ;
53803 
53804  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_SetValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
53806  if (!SWIG_IsOK(res1)) {
53807  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_SetValue" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > *""'");
53808  }
53810  ecode2 = SWIG_AsVal_long(obj1, &val2);
53811  if (!SWIG_IsOK(ecode2)) {
53812  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SequenceVarLocalSearchOperatorTemplate_SetValue" "', argument " "2"" of type '" "int64_t""'");
53813  }
53814  arg2 = static_cast< int64_t >(val2);
53815  {
53816  if (!vector_input_helper(obj2, &temp3, PyObjAs<int>)) {
53817  if (!PyErr_Occurred())
53818  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
53819  return NULL;
53820  }
53821  arg3 = &temp3;
53822  }
53823  {
53824  try {
53825  (arg1)->SetValue(arg2,(std::vector< int > const &)*arg3);
53826  }
53827  catch (Swig::DirectorException &e) {
53828  SWIG_fail;
53829  }
53830  }
53831  resultobj = SWIG_Py_Void();
53832  return resultobj;
53833 fail:
53834  return NULL;
53835 }
53836 
53837 
53839  PyObject *resultobj = 0;
53841  void *argp1 = 0 ;
53842  int res1 = 0 ;
53843  PyObject * obj0 = 0 ;
53844 
53845  if (!PyArg_UnpackTuple(args, "SequenceVarLocalSearchOperatorTemplate_OnStart", 1, 1, &obj0)) SWIG_fail;
53847  if (!SWIG_IsOK(res1)) {
53848  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SequenceVarLocalSearchOperatorTemplate_OnStart" "', argument " "1"" of type '" "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > *""'");
53849  }
53851  {
53852  try {
53853  (arg1)->OnStart();
53854  }
53855  catch (Swig::DirectorException &e) {
53856  SWIG_fail;
53857  }
53858  }
53859  resultobj = SWIG_Py_Void();
53860  return resultobj;
53861 fail:
53862  return NULL;
53863 }
53864 
53865 
53867  PyObject *obj;
53868  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
53870  return SWIG_Py_Void();
53871 }
53872 
53873 SWIGINTERN PyObject *SequenceVarLocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53874  PyObject *obj;
53875  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
53877  return SWIG_Py_Void();
53878 }
53879 
53880 SWIGINTERN PyObject *_wrap_new_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53881  PyObject *resultobj = 0;
53882  PyObject *arg1 = (PyObject *) 0 ;
53883  std::vector< operations_research::IntVar * > *arg2 = 0 ;
53884  std::vector< operations_research::IntVar * > temp2 ;
53885  PyObject * obj0 = 0 ;
53886  PyObject * obj1 = 0 ;
53887  operations_research::BaseLns *result = 0 ;
53888 
53889  if (!PyArg_UnpackTuple(args, "new_BaseLns", 2, 2, &obj0, &obj1)) SWIG_fail;
53890  arg1 = obj0;
53891  {
53892  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
53893  if (!PyErr_Occurred())
53894  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
53895  return NULL;
53896  }
53897  arg2 = &temp2;
53898  }
53899  {
53900  try {
53901  if ( arg1 != Py_None ) {
53902  /* subclassed */
53903  result = (operations_research::BaseLns *)new SwigDirector_BaseLns(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
53904  } else {
53905  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
53906  SWIG_fail;
53907  }
53908  }
53909  catch (Swig::DirectorException &e) {
53910  SWIG_fail;
53911  }
53912  }
53914  return resultobj;
53915 fail:
53916  return NULL;
53917 }
53918 
53919 
53920 SWIGINTERN PyObject *_wrap_delete_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53921  PyObject *resultobj = 0;
53923  void *argp1 = 0 ;
53924  int res1 = 0 ;
53925  PyObject * obj0 = 0 ;
53926 
53927  if (!PyArg_UnpackTuple(args, "delete_BaseLns", 1, 1, &obj0)) SWIG_fail;
53929  if (!SWIG_IsOK(res1)) {
53930  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_BaseLns" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
53931  }
53932  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
53933  {
53934  try {
53935  delete arg1;
53936  }
53937  catch (Swig::DirectorException &e) {
53938  SWIG_fail;
53939  }
53940  }
53941  resultobj = SWIG_Py_Void();
53942  return resultobj;
53943 fail:
53944  return NULL;
53945 }
53946 
53947 
53948 SWIGINTERN PyObject *_wrap_BaseLns_InitFragments(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53949  PyObject *resultobj = 0;
53951  void *argp1 = 0 ;
53952  int res1 = 0 ;
53953  PyObject * obj0 = 0 ;
53954  Swig::Director *director = 0;
53955  bool upcall = false;
53956 
53957  if (!PyArg_UnpackTuple(args, "BaseLns_InitFragments", 1, 1, &obj0)) SWIG_fail;
53958  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
53959  if (!SWIG_IsOK(res1)) {
53960  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns_InitFragments" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
53961  }
53962  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
53963  director = SWIG_DIRECTOR_CAST(arg1);
53964  upcall = (director && (director->swig_get_self()==obj0));
53965  try {
53966  {
53967  try {
53968  if (upcall) {
53970  } else {
53971  (arg1)->InitFragments();
53972  }
53973  }
53974  catch (Swig::DirectorException &e) {
53975  SWIG_fail;
53976  }
53977  }
53978  } catch (Swig::DirectorException&) {
53979  SWIG_fail;
53980  }
53981  resultobj = SWIG_Py_Void();
53982  return resultobj;
53983 fail:
53984  return NULL;
53985 }
53986 
53987 
53988 SWIGINTERN PyObject *_wrap_BaseLns_NextFragment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
53989  PyObject *resultobj = 0;
53991  void *argp1 = 0 ;
53992  int res1 = 0 ;
53993  PyObject * obj0 = 0 ;
53994  Swig::Director *director = 0;
53995  bool upcall = false;
53996  bool result;
53997 
53998  if (!PyArg_UnpackTuple(args, "BaseLns_NextFragment", 1, 1, &obj0)) SWIG_fail;
53999  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54000  if (!SWIG_IsOK(res1)) {
54001  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns_NextFragment" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
54002  }
54003  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54004  director = SWIG_DIRECTOR_CAST(arg1);
54005  upcall = (director && (director->swig_get_self()==obj0));
54006  try {
54007  {
54008  try {
54009  if (upcall) {
54010  Swig::DirectorPureVirtualException::raise("operations_research::BaseLns::NextFragment");
54011  } else {
54012  result = (bool)(arg1)->NextFragment();
54013  }
54014  }
54015  catch (Swig::DirectorException &e) {
54016  SWIG_fail;
54017  }
54018  }
54019  } catch (Swig::DirectorException&) {
54020  SWIG_fail;
54021  }
54022  resultobj = SWIG_From_bool(static_cast< bool >(result));
54023  return resultobj;
54024 fail:
54025  return NULL;
54026 }
54027 
54028 
54029 SWIGINTERN PyObject *_wrap_BaseLns_AppendToFragment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54030  PyObject *resultobj = 0;
54032  int arg2 ;
54033  void *argp1 = 0 ;
54034  int res1 = 0 ;
54035  int val2 ;
54036  int ecode2 = 0 ;
54037  PyObject * obj0 = 0 ;
54038  PyObject * obj1 = 0 ;
54039 
54040  if (!PyArg_UnpackTuple(args, "BaseLns_AppendToFragment", 2, 2, &obj0, &obj1)) SWIG_fail;
54041  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54042  if (!SWIG_IsOK(res1)) {
54043  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns_AppendToFragment" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
54044  }
54045  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54046  ecode2 = SWIG_AsVal_int(obj1, &val2);
54047  if (!SWIG_IsOK(ecode2)) {
54048  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BaseLns_AppendToFragment" "', argument " "2"" of type '" "int""'");
54049  }
54050  arg2 = static_cast< int >(val2);
54051  {
54052  try {
54053  (arg1)->AppendToFragment(arg2);
54054  }
54055  catch (Swig::DirectorException &e) {
54056  SWIG_fail;
54057  }
54058  }
54059  resultobj = SWIG_Py_Void();
54060  return resultobj;
54061 fail:
54062  return NULL;
54063 }
54064 
54065 
54066 SWIGINTERN PyObject *_wrap_BaseLns_FragmentSize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54067  PyObject *resultobj = 0;
54069  void *argp1 = 0 ;
54070  int res1 = 0 ;
54071  PyObject * obj0 = 0 ;
54072  int result;
54073 
54074  if (!PyArg_UnpackTuple(args, "BaseLns_FragmentSize", 1, 1, &obj0)) SWIG_fail;
54075  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54076  if (!SWIG_IsOK(res1)) {
54077  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns_FragmentSize" "', argument " "1"" of type '" "operations_research::BaseLns const *""'");
54078  }
54079  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54080  {
54081  try {
54082  result = (int)((operations_research::BaseLns const *)arg1)->FragmentSize();
54083  }
54084  catch (Swig::DirectorException &e) {
54085  SWIG_fail;
54086  }
54087  }
54088  resultobj = SWIG_From_int(static_cast< int >(result));
54089  return resultobj;
54090 fail:
54091  return NULL;
54092 }
54093 
54094 
54095 SWIGINTERN PyObject *_wrap_BaseLns___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54096  PyObject *resultobj = 0;
54098  int arg2 ;
54099  void *argp1 = 0 ;
54100  int res1 = 0 ;
54101  int val2 ;
54102  int ecode2 = 0 ;
54103  PyObject * obj0 = 0 ;
54104  PyObject * obj1 = 0 ;
54105  int64_t result;
54106 
54107  if (!PyArg_UnpackTuple(args, "BaseLns___getitem__", 2, 2, &obj0, &obj1)) SWIG_fail;
54108  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54109  if (!SWIG_IsOK(res1)) {
54110  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns___getitem__" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
54111  }
54112  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54113  ecode2 = SWIG_AsVal_int(obj1, &val2);
54114  if (!SWIG_IsOK(ecode2)) {
54115  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BaseLns___getitem__" "', argument " "2"" of type '" "int""'");
54116  }
54117  arg2 = static_cast< int >(val2);
54118  {
54119  try {
54120  result = (int64_t)operations_research_BaseLns___getitem__(arg1,arg2);
54121  }
54122  catch (Swig::DirectorException &e) {
54123  SWIG_fail;
54124  }
54125  }
54126  resultobj = SWIG_From_long(static_cast< long >(result));
54127  return resultobj;
54128 fail:
54129  return NULL;
54130 }
54131 
54132 
54133 SWIGINTERN PyObject *_wrap_BaseLns___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54134  PyObject *resultobj = 0;
54136  void *argp1 = 0 ;
54137  int res1 = 0 ;
54138  PyObject * obj0 = 0 ;
54139  int result;
54140 
54141  if (!PyArg_UnpackTuple(args, "BaseLns___len__", 1, 1, &obj0)) SWIG_fail;
54142  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54143  if (!SWIG_IsOK(res1)) {
54144  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BaseLns___len__" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
54145  }
54146  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54147  {
54148  try {
54149  result = (int)operations_research_BaseLns___len__(arg1);
54150  }
54151  catch (Swig::DirectorException &e) {
54152  SWIG_fail;
54153  }
54154  }
54155  resultobj = SWIG_From_int(static_cast< int >(result));
54156  return resultobj;
54157 fail:
54158  return NULL;
54159 }
54160 
54161 
54162 SWIGINTERN PyObject *_wrap_disown_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54163  PyObject *resultobj = 0;
54165  void *argp1 = 0 ;
54166  int res1 = 0 ;
54167  PyObject * obj0 = 0 ;
54168 
54169  if (!PyArg_UnpackTuple(args, "disown_BaseLns", 1, 1, &obj0)) SWIG_fail;
54170  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BaseLns, 0 | 0 );
54171  if (!SWIG_IsOK(res1)) {
54172  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_BaseLns" "', argument " "1"" of type '" "operations_research::BaseLns *""'");
54173  }
54174  arg1 = reinterpret_cast< operations_research::BaseLns * >(argp1);
54175  {
54176  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
54177  if (director) director->swig_disown();
54178  }
54179 
54180  resultobj = SWIG_Py_Void();
54181  return resultobj;
54182 fail:
54183  return NULL;
54184 }
54185 
54186 
54187 SWIGINTERN PyObject *BaseLns_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54188  PyObject *obj;
54189  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
54191  return SWIG_Py_Void();
54192 }
54193 
54194 SWIGINTERN PyObject *BaseLns_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54195  return SWIG_Python_InitShadowInstance(args);
54196 }
54197 
54198 SWIGINTERN PyObject *_wrap_new_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54199  PyObject *resultobj = 0;
54200  PyObject *arg1 = (PyObject *) 0 ;
54201  std::vector< operations_research::IntVar * > *arg2 = 0 ;
54202  std::vector< operations_research::IntVar * > temp2 ;
54203  PyObject * obj0 = 0 ;
54204  PyObject * obj1 = 0 ;
54205  operations_research::ChangeValue *result = 0 ;
54206 
54207  if (!PyArg_UnpackTuple(args, "new_ChangeValue", 2, 2, &obj0, &obj1)) SWIG_fail;
54208  arg1 = obj0;
54209  {
54210  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
54211  if (!PyErr_Occurred())
54212  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
54213  return NULL;
54214  }
54215  arg2 = &temp2;
54216  }
54217  {
54218  try {
54219  if ( arg1 != Py_None ) {
54220  /* subclassed */
54221  result = (operations_research::ChangeValue *)new SwigDirector_ChangeValue(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
54222  } else {
54223  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
54224  SWIG_fail;
54225  }
54226  }
54227  catch (Swig::DirectorException &e) {
54228  SWIG_fail;
54229  }
54230  }
54232  return resultobj;
54233 fail:
54234  return NULL;
54235 }
54236 
54237 
54238 SWIGINTERN PyObject *_wrap_delete_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54239  PyObject *resultobj = 0;
54241  void *argp1 = 0 ;
54242  int res1 = 0 ;
54243  PyObject * obj0 = 0 ;
54244 
54245  if (!PyArg_UnpackTuple(args, "delete_ChangeValue", 1, 1, &obj0)) SWIG_fail;
54247  if (!SWIG_IsOK(res1)) {
54248  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_ChangeValue" "', argument " "1"" of type '" "operations_research::ChangeValue *""'");
54249  }
54250  arg1 = reinterpret_cast< operations_research::ChangeValue * >(argp1);
54251  {
54252  try {
54253  delete arg1;
54254  }
54255  catch (Swig::DirectorException &e) {
54256  SWIG_fail;
54257  }
54258  }
54259  resultobj = SWIG_Py_Void();
54260  return resultobj;
54261 fail:
54262  return NULL;
54263 }
54264 
54265 
54266 SWIGINTERN PyObject *_wrap_ChangeValue_ModifyValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54267  PyObject *resultobj = 0;
54269  int64_t arg2 ;
54270  int64_t arg3 ;
54271  void *argp1 = 0 ;
54272  int res1 = 0 ;
54273  long val2 ;
54274  int ecode2 = 0 ;
54275  long val3 ;
54276  int ecode3 = 0 ;
54277  PyObject * obj0 = 0 ;
54278  PyObject * obj1 = 0 ;
54279  PyObject * obj2 = 0 ;
54280  Swig::Director *director = 0;
54281  bool upcall = false;
54282  int64_t result;
54283 
54284  if (!PyArg_UnpackTuple(args, "ChangeValue_ModifyValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
54285  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__ChangeValue, 0 | 0 );
54286  if (!SWIG_IsOK(res1)) {
54287  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ChangeValue_ModifyValue" "', argument " "1"" of type '" "operations_research::ChangeValue *""'");
54288  }
54289  arg1 = reinterpret_cast< operations_research::ChangeValue * >(argp1);
54290  ecode2 = SWIG_AsVal_long(obj1, &val2);
54291  if (!SWIG_IsOK(ecode2)) {
54292  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ChangeValue_ModifyValue" "', argument " "2"" of type '" "int64_t""'");
54293  }
54294  arg2 = static_cast< int64_t >(val2);
54295  ecode3 = SWIG_AsVal_long(obj2, &val3);
54296  if (!SWIG_IsOK(ecode3)) {
54297  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "ChangeValue_ModifyValue" "', argument " "3"" of type '" "int64_t""'");
54298  }
54299  arg3 = static_cast< int64_t >(val3);
54300  director = SWIG_DIRECTOR_CAST(arg1);
54301  upcall = (director && (director->swig_get_self()==obj0));
54302  try {
54303  {
54304  try {
54305  if (upcall) {
54306  Swig::DirectorPureVirtualException::raise("operations_research::ChangeValue::ModifyValue");
54307  } else {
54308  result = (int64_t)(arg1)->ModifyValue(arg2,arg3);
54309  }
54310  }
54311  catch (Swig::DirectorException &e) {
54312  SWIG_fail;
54313  }
54314  }
54315  } catch (Swig::DirectorException&) {
54316  SWIG_fail;
54317  }
54318  resultobj = SWIG_From_long(static_cast< long >(result));
54319  return resultobj;
54320 fail:
54321  return NULL;
54322 }
54323 
54324 
54325 SWIGINTERN PyObject *_wrap_ChangeValue_OneNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54326  PyObject *resultobj = 0;
54328  void *argp1 = 0 ;
54329  int res1 = 0 ;
54330  PyObject * obj0 = 0 ;
54331  Swig::Director *director = 0;
54332  bool upcall = false;
54333  SwigDirector_ChangeValue *darg = 0;
54334  bool result;
54335 
54336  if (!PyArg_UnpackTuple(args, "ChangeValue_OneNeighbor", 1, 1, &obj0)) SWIG_fail;
54337  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__ChangeValue, 0 | 0 );
54338  if (!SWIG_IsOK(res1)) {
54339  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ChangeValue_OneNeighbor" "', argument " "1"" of type '" "operations_research::ChangeValue *""'");
54340  }
54341  arg1 = reinterpret_cast< operations_research::ChangeValue * >(argp1);
54342  director = SWIG_DIRECTOR_CAST(arg1);
54343  if (!director || !(director->swig_get_inner("MakeOneNeighbor"))) {
54344  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing protected member MakeOneNeighbor");
54345  SWIG_fail;
54346  }
54347  upcall = (director && (director->swig_get_self()==obj0));
54348  try {
54349  darg = dynamic_cast<SwigDirector_ChangeValue *>(arg1);
54350  {
54351  try {
54352  if (upcall) {
54353  result = (bool)(darg)->MakeOneNeighborSwigPublic();
54354  } else {
54355  result = (bool)(darg)->MakeOneNeighbor();
54356  }
54357  }
54358  catch (Swig::DirectorException &e) {
54359  SWIG_fail;
54360  }
54361  }
54362  } catch (Swig::DirectorException&) {
54363  SWIG_fail;
54364  }
54365  resultobj = SWIG_From_bool(static_cast< bool >(result));
54366  return resultobj;
54367 fail:
54368  return NULL;
54369 }
54370 
54371 
54372 SWIGINTERN PyObject *_wrap_disown_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54373  PyObject *resultobj = 0;
54375  void *argp1 = 0 ;
54376  int res1 = 0 ;
54377  PyObject * obj0 = 0 ;
54378 
54379  if (!PyArg_UnpackTuple(args, "disown_ChangeValue", 1, 1, &obj0)) SWIG_fail;
54380  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__ChangeValue, 0 | 0 );
54381  if (!SWIG_IsOK(res1)) {
54382  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_ChangeValue" "', argument " "1"" of type '" "operations_research::ChangeValue *""'");
54383  }
54384  arg1 = reinterpret_cast< operations_research::ChangeValue * >(argp1);
54385  {
54386  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
54387  if (director) director->swig_disown();
54388  }
54389 
54390  resultobj = SWIG_Py_Void();
54391  return resultobj;
54392 fail:
54393  return NULL;
54394 }
54395 
54396 
54397 SWIGINTERN PyObject *ChangeValue_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54398  PyObject *obj;
54399  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
54401  return SWIG_Py_Void();
54402 }
54403 
54404 SWIGINTERN PyObject *ChangeValue_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54405  return SWIG_Python_InitShadowInstance(args);
54406 }
54407 
54408 SWIGINTERN PyObject *_wrap_PathOperator_Neighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54409  PyObject *resultobj = 0;
54411  void *argp1 = 0 ;
54412  int res1 = 0 ;
54413  PyObject * obj0 = 0 ;
54414  bool result;
54415 
54416  if (!PyArg_UnpackTuple(args, "PathOperator_Neighbor", 1, 1, &obj0)) SWIG_fail;
54418  if (!SWIG_IsOK(res1)) {
54419  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PathOperator_Neighbor" "', argument " "1"" of type '" "operations_research::PathOperator *""'");
54420  }
54421  arg1 = reinterpret_cast< operations_research::PathOperator * >(argp1);
54422  {
54423  try {
54424  result = (bool)(arg1)->MakeNeighbor();
54425  }
54426  catch (Swig::DirectorException &e) {
54427  SWIG_fail;
54428  }
54429  }
54430  resultobj = SWIG_From_bool(static_cast< bool >(result));
54431  return resultobj;
54432 fail:
54433  return NULL;
54434 }
54435 
54436 
54437 SWIGINTERN PyObject *PathOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54438  PyObject *obj;
54439  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
54441  return SWIG_Py_Void();
54442 }
54443 
54444 SWIGINTERN PyObject *_wrap_LocalSearchFilter_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54445  PyObject *resultobj = 0;
54449  int64_t arg4 ;
54450  int64_t arg5 ;
54451  void *argp1 = 0 ;
54452  int res1 = 0 ;
54453  void *argp2 = 0 ;
54454  int res2 = 0 ;
54455  void *argp3 = 0 ;
54456  int res3 = 0 ;
54457  long val4 ;
54458  int ecode4 = 0 ;
54459  long val5 ;
54460  int ecode5 = 0 ;
54461  PyObject * obj0 = 0 ;
54462  PyObject * obj1 = 0 ;
54463  PyObject * obj2 = 0 ;
54464  PyObject * obj3 = 0 ;
54465  PyObject * obj4 = 0 ;
54466  bool result;
54467 
54468  if (!PyArg_UnpackTuple(args, "LocalSearchFilter_Accept", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
54470  if (!SWIG_IsOK(res1)) {
54471  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilter_Accept" "', argument " "1"" of type '" "operations_research::LocalSearchFilter *""'");
54472  }
54473  arg1 = reinterpret_cast< operations_research::LocalSearchFilter * >(argp1);
54474  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54475  if (!SWIG_IsOK(res2)) {
54476  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchFilter_Accept" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
54477  }
54478  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
54479  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54480  if (!SWIG_IsOK(res3)) {
54481  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "LocalSearchFilter_Accept" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
54482  }
54483  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
54484  ecode4 = SWIG_AsVal_long(obj3, &val4);
54485  if (!SWIG_IsOK(ecode4)) {
54486  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "LocalSearchFilter_Accept" "', argument " "4"" of type '" "int64_t""'");
54487  }
54488  arg4 = static_cast< int64_t >(val4);
54489  ecode5 = SWIG_AsVal_long(obj4, &val5);
54490  if (!SWIG_IsOK(ecode5)) {
54491  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "LocalSearchFilter_Accept" "', argument " "5"" of type '" "int64_t""'");
54492  }
54493  arg5 = static_cast< int64_t >(val5);
54494  {
54495  try {
54496  result = (bool)(arg1)->Accept((operations_research::Assignment const *)arg2,(operations_research::Assignment const *)arg3,arg4,arg5);
54497  }
54498  catch (Swig::DirectorException &e) {
54499  SWIG_fail;
54500  }
54501  }
54502  resultobj = SWIG_From_bool(static_cast< bool >(result));
54503  return resultobj;
54504 fail:
54505  return NULL;
54506 }
54507 
54508 
54509 SWIGINTERN PyObject *_wrap_LocalSearchFilter_IsIncremental(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54510  PyObject *resultobj = 0;
54512  void *argp1 = 0 ;
54513  int res1 = 0 ;
54514  PyObject * obj0 = 0 ;
54515  bool result;
54516 
54517  if (!PyArg_UnpackTuple(args, "LocalSearchFilter_IsIncremental", 1, 1, &obj0)) SWIG_fail;
54519  if (!SWIG_IsOK(res1)) {
54520  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilter_IsIncremental" "', argument " "1"" of type '" "operations_research::LocalSearchFilter const *""'");
54521  }
54522  arg1 = reinterpret_cast< operations_research::LocalSearchFilter * >(argp1);
54523  {
54524  try {
54525  result = (bool)((operations_research::LocalSearchFilter const *)arg1)->IsIncremental();
54526  }
54527  catch (Swig::DirectorException &e) {
54528  SWIG_fail;
54529  }
54530  }
54531  resultobj = SWIG_From_bool(static_cast< bool >(result));
54532  return resultobj;
54533 fail:
54534  return NULL;
54535 }
54536 
54537 
54538 SWIGINTERN PyObject *_wrap_LocalSearchFilter_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54539  PyObject *resultobj = 0;
54543  void *argp1 = 0 ;
54544  int res1 = 0 ;
54545  void *argp2 = 0 ;
54546  int res2 = 0 ;
54547  void *argp3 = 0 ;
54548  int res3 = 0 ;
54549  PyObject * obj0 = 0 ;
54550  PyObject * obj1 = 0 ;
54551  PyObject * obj2 = 0 ;
54552 
54553  if (!PyArg_UnpackTuple(args, "LocalSearchFilter_Synchronize", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
54555  if (!SWIG_IsOK(res1)) {
54556  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilter_Synchronize" "', argument " "1"" of type '" "operations_research::LocalSearchFilter *""'");
54557  }
54558  arg1 = reinterpret_cast< operations_research::LocalSearchFilter * >(argp1);
54559  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54560  if (!SWIG_IsOK(res2)) {
54561  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchFilter_Synchronize" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
54562  }
54563  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
54564  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54565  if (!SWIG_IsOK(res3)) {
54566  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "LocalSearchFilter_Synchronize" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
54567  }
54568  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
54569  {
54570  try {
54571  (arg1)->Synchronize((operations_research::Assignment const *)arg2,(operations_research::Assignment const *)arg3);
54572  }
54573  catch (Swig::DirectorException &e) {
54574  SWIG_fail;
54575  }
54576  }
54577  resultobj = SWIG_Py_Void();
54578  return resultobj;
54579 fail:
54580  return NULL;
54581 }
54582 
54583 
54584 SWIGINTERN PyObject *_wrap_delete_LocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54585  PyObject *resultobj = 0;
54587  void *argp1 = 0 ;
54588  int res1 = 0 ;
54589  PyObject * obj0 = 0 ;
54590 
54591  if (!PyArg_UnpackTuple(args, "delete_LocalSearchFilter", 1, 1, &obj0)) SWIG_fail;
54593  if (!SWIG_IsOK(res1)) {
54594  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_LocalSearchFilter" "', argument " "1"" of type '" "operations_research::LocalSearchFilter *""'");
54595  }
54596  arg1 = reinterpret_cast< operations_research::LocalSearchFilter * >(argp1);
54597  {
54598  try {
54599  delete arg1;
54600  }
54601  catch (Swig::DirectorException &e) {
54602  SWIG_fail;
54603  }
54604  }
54605  resultobj = SWIG_Py_Void();
54606  return resultobj;
54607 fail:
54608  return NULL;
54609 }
54610 
54611 
54612 SWIGINTERN PyObject *LocalSearchFilter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54613  PyObject *obj;
54614  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
54616  return SWIG_Py_Void();
54617 }
54618 
54619 SWIGINTERN PyObject *_wrap_LocalSearchFilterManager_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54620  PyObject *resultobj = 0;
54622  void *argp1 = 0 ;
54623  int res1 = 0 ;
54624  PyObject * obj0 = 0 ;
54625  std::string result;
54626 
54627  if (!PyArg_UnpackTuple(args, "LocalSearchFilterManager_DebugString", 1, 1, &obj0)) SWIG_fail;
54629  if (!SWIG_IsOK(res1)) {
54630  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilterManager_DebugString" "', argument " "1"" of type '" "operations_research::LocalSearchFilterManager const *""'");
54631  }
54632  arg1 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp1);
54633  {
54634  try {
54635  result = ((operations_research::LocalSearchFilterManager const *)arg1)->DebugString();
54636  }
54637  catch (Swig::DirectorException &e) {
54638  SWIG_fail;
54639  }
54640  }
54641  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
54642  return resultobj;
54643 fail:
54644  return NULL;
54645 }
54646 
54647 
54648 SWIGINTERN PyObject *_wrap_new_LocalSearchFilterManager__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54649  PyObject *resultobj = 0;
54650  SwigValueWrapper< std::vector< operations_research::LocalSearchFilterManager::FilterEvent > > arg1 ;
54651  void *argp1 ;
54652  int res1 = 0 ;
54653  PyObject * obj0 = 0 ;
54655 
54656  if (!PyArg_UnpackTuple(args, "new_LocalSearchFilterManager", 1, 1, &obj0)) SWIG_fail;
54657  {
54659  if (!SWIG_IsOK(res1)) {
54660  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_LocalSearchFilterManager" "', argument " "1"" of type '" "std::vector< operations_research::LocalSearchFilterManager::FilterEvent >""'");
54661  }
54662  if (!argp1) {
54663  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_LocalSearchFilterManager" "', argument " "1"" of type '" "std::vector< operations_research::LocalSearchFilterManager::FilterEvent >""'");
54664  } else {
54665  std::vector< operations_research::LocalSearchFilterManager::FilterEvent > * temp = reinterpret_cast< std::vector< operations_research::LocalSearchFilterManager::FilterEvent > * >(argp1);
54666  arg1 = *temp;
54667  if (SWIG_IsNewObj(res1)) delete temp;
54668  }
54669  }
54670  {
54671  try {
54673  }
54674  catch (Swig::DirectorException &e) {
54675  SWIG_fail;
54676  }
54677  }
54679  return resultobj;
54680 fail:
54681  return NULL;
54682 }
54683 
54684 
54685 SWIGINTERN PyObject *_wrap_new_LocalSearchFilterManager__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54686  PyObject *resultobj = 0;
54687  SwigValueWrapper< std::vector< operations_research::LocalSearchFilter * > > arg1 ;
54688  std::vector< operations_research::LocalSearchFilter * > temp1 ;
54689  PyObject * obj0 = 0 ;
54691 
54692  if (!PyArg_UnpackTuple(args, "new_LocalSearchFilterManager", 1, 1, &obj0)) SWIG_fail;
54693  {
54694  if (!vector_input_helper(obj0, &temp1, PyObjAs<operations_research::LocalSearchFilter*>)) {
54695  if (!PyErr_Occurred())
54696  SWIG_Error(SWIG_TypeError, "sequence(operations_research::LocalSearchFilter*) expected");
54697  return NULL;
54698  }
54699  arg1 = std::move(temp1);
54700  }
54701  {
54702  try {
54704  }
54705  catch (Swig::DirectorException &e) {
54706  SWIG_fail;
54707  }
54708  }
54710  return resultobj;
54711 fail:
54712  return NULL;
54713 }
54714 
54715 
54716 SWIGINTERN PyObject *_wrap_new_LocalSearchFilterManager(PyObject *self, PyObject *args) {
54717  Py_ssize_t argc;
54718  PyObject *argv[2] = {
54719  0
54720  };
54721  Py_ssize_t ii;
54722 
54723  if (!PyTuple_Check(args)) SWIG_fail;
54724  argc = PyObject_Length(args);
54725  for (ii = 0; (ii < 1) && (ii < argc); ii++) {
54726  argv[ii] = PyTuple_GET_ITEM(args,ii);
54727  }
54728  if (argc == 1) {
54729  int _v;
54731  _v = SWIG_CheckState(res);
54732  if (_v) {
54733  return _wrap_new_LocalSearchFilterManager__SWIG_0(self, args);
54734  }
54735  }
54736  if (argc == 1) {
54737  int _v;
54738  {
54739  if (!PyTuple_Check(argv[0]) && !PyList_Check(argv[0])) {
54740  _v = 0;
54741  } else {
54742  const bool is_tuple = PyTuple_Check(argv[0]);
54743  const size_t size = is_tuple ? PyTuple_Size(argv[0]) : PyList_Size(argv[0]);
54744  size_t i = 0;
54745  while (i < size && CanConvertToLocalSearchFilter(is_tuple ? PyTuple_GetItem(argv[0], i)
54746  :PyList_GetItem(argv[0], i))) {
54747  ++i;
54748  }
54749  _v = i == size;
54750  }
54751  }
54752  if (_v) {
54753  return _wrap_new_LocalSearchFilterManager__SWIG_1(self, args);
54754  }
54755  }
54756 
54757 fail:
54758  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_LocalSearchFilterManager'.\n"
54759  " Possible C/C++ prototypes are:\n"
54760  " operations_research::LocalSearchFilterManager::LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilterManager::FilterEvent >)\n"
54761  " operations_research::LocalSearchFilterManager::LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilter * >)\n");
54762  return 0;
54763 }
54764 
54765 
54766 SWIGINTERN PyObject *_wrap_LocalSearchFilterManager_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54767  PyObject *resultobj = 0;
54772  int64_t arg5 ;
54773  int64_t arg6 ;
54774  void *argp1 = 0 ;
54775  int res1 = 0 ;
54776  void *argp2 = 0 ;
54777  int res2 = 0 ;
54778  void *argp3 = 0 ;
54779  int res3 = 0 ;
54780  void *argp4 = 0 ;
54781  int res4 = 0 ;
54782  long val5 ;
54783  int ecode5 = 0 ;
54784  long val6 ;
54785  int ecode6 = 0 ;
54786  PyObject * obj0 = 0 ;
54787  PyObject * obj1 = 0 ;
54788  PyObject * obj2 = 0 ;
54789  PyObject * obj3 = 0 ;
54790  PyObject * obj4 = 0 ;
54791  PyObject * obj5 = 0 ;
54792  bool result;
54793 
54794  if (!PyArg_UnpackTuple(args, "LocalSearchFilterManager_Accept", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
54796  if (!SWIG_IsOK(res1)) {
54797  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilterManager_Accept" "', argument " "1"" of type '" "operations_research::LocalSearchFilterManager *""'");
54798  }
54799  arg1 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp1);
54801  if (!SWIG_IsOK(res2)) {
54802  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchFilterManager_Accept" "', argument " "2"" of type '" "operations_research::LocalSearchMonitor *const""'");
54803  }
54804  arg2 = reinterpret_cast< operations_research::LocalSearchMonitor * >(argp2);
54805  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54806  if (!SWIG_IsOK(res3)) {
54807  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "LocalSearchFilterManager_Accept" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
54808  }
54809  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
54810  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54811  if (!SWIG_IsOK(res4)) {
54812  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "LocalSearchFilterManager_Accept" "', argument " "4"" of type '" "operations_research::Assignment const *""'");
54813  }
54814  arg4 = reinterpret_cast< operations_research::Assignment * >(argp4);
54815  ecode5 = SWIG_AsVal_long(obj4, &val5);
54816  if (!SWIG_IsOK(ecode5)) {
54817  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "LocalSearchFilterManager_Accept" "', argument " "5"" of type '" "int64_t""'");
54818  }
54819  arg5 = static_cast< int64_t >(val5);
54820  ecode6 = SWIG_AsVal_long(obj5, &val6);
54821  if (!SWIG_IsOK(ecode6)) {
54822  SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "LocalSearchFilterManager_Accept" "', argument " "6"" of type '" "int64_t""'");
54823  }
54824  arg6 = static_cast< int64_t >(val6);
54825  {
54826  try {
54827  result = (bool)(arg1)->Accept(arg2,(operations_research::Assignment const *)arg3,(operations_research::Assignment const *)arg4,arg5,arg6);
54828  }
54829  catch (Swig::DirectorException &e) {
54830  SWIG_fail;
54831  }
54832  }
54833  resultobj = SWIG_From_bool(static_cast< bool >(result));
54834  return resultobj;
54835 fail:
54836  return NULL;
54837 }
54838 
54839 
54840 SWIGINTERN PyObject *_wrap_LocalSearchFilterManager_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54841  PyObject *resultobj = 0;
54845  void *argp1 = 0 ;
54846  int res1 = 0 ;
54847  void *argp2 = 0 ;
54848  int res2 = 0 ;
54849  void *argp3 = 0 ;
54850  int res3 = 0 ;
54851  PyObject * obj0 = 0 ;
54852  PyObject * obj1 = 0 ;
54853  PyObject * obj2 = 0 ;
54854 
54855  if (!PyArg_UnpackTuple(args, "LocalSearchFilterManager_Synchronize", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
54857  if (!SWIG_IsOK(res1)) {
54858  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LocalSearchFilterManager_Synchronize" "', argument " "1"" of type '" "operations_research::LocalSearchFilterManager *""'");
54859  }
54860  arg1 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp1);
54861  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54862  if (!SWIG_IsOK(res2)) {
54863  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LocalSearchFilterManager_Synchronize" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
54864  }
54865  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
54866  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
54867  if (!SWIG_IsOK(res3)) {
54868  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "LocalSearchFilterManager_Synchronize" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
54869  }
54870  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
54871  {
54872  try {
54873  (arg1)->Synchronize((operations_research::Assignment const *)arg2,(operations_research::Assignment const *)arg3);
54874  }
54875  catch (Swig::DirectorException &e) {
54876  SWIG_fail;
54877  }
54878  }
54879  resultobj = SWIG_Py_Void();
54880  return resultobj;
54881 fail:
54882  return NULL;
54883 }
54884 
54885 
54886 SWIGINTERN PyObject *_wrap_delete_LocalSearchFilterManager(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54887  PyObject *resultobj = 0;
54889  void *argp1 = 0 ;
54890  int res1 = 0 ;
54891  PyObject * obj0 = 0 ;
54892 
54893  if (!PyArg_UnpackTuple(args, "delete_LocalSearchFilterManager", 1, 1, &obj0)) SWIG_fail;
54895  if (!SWIG_IsOK(res1)) {
54896  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_LocalSearchFilterManager" "', argument " "1"" of type '" "operations_research::LocalSearchFilterManager *""'");
54897  }
54898  arg1 = reinterpret_cast< operations_research::LocalSearchFilterManager * >(argp1);
54899  {
54900  try {
54901  delete arg1;
54902  }
54903  catch (Swig::DirectorException &e) {
54904  SWIG_fail;
54905  }
54906  }
54907  resultobj = SWIG_Py_Void();
54908  return resultobj;
54909 fail:
54910  return NULL;
54911 }
54912 
54913 
54914 SWIGINTERN PyObject *LocalSearchFilterManager_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54915  PyObject *obj;
54916  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
54918  return SWIG_Py_Void();
54919 }
54920 
54921 SWIGINTERN PyObject *LocalSearchFilterManager_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54922  return SWIG_Python_InitShadowInstance(args);
54923 }
54924 
54925 SWIGINTERN PyObject *_wrap_new_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54926  PyObject *resultobj = 0;
54927  PyObject *arg1 = (PyObject *) 0 ;
54928  std::vector< operations_research::IntVar * > *arg2 = 0 ;
54929  std::vector< operations_research::IntVar * > temp2 ;
54930  PyObject * obj0 = 0 ;
54931  PyObject * obj1 = 0 ;
54933 
54934  if (!PyArg_UnpackTuple(args, "new_IntVarLocalSearchFilter", 2, 2, &obj0, &obj1)) SWIG_fail;
54935  arg1 = obj0;
54936  {
54937  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
54938  if (!PyErr_Occurred())
54939  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
54940  return NULL;
54941  }
54942  arg2 = &temp2;
54943  }
54944  {
54945  try {
54946  if ( arg1 != Py_None ) {
54947  /* subclassed */
54948  result = (operations_research::IntVarLocalSearchFilter *)new SwigDirector_IntVarLocalSearchFilter(arg1,(std::vector< operations_research::IntVar * > const &)*arg2);
54949  } else {
54950  SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor");
54951  SWIG_fail;
54952  }
54953  }
54954  catch (Swig::DirectorException &e) {
54955  SWIG_fail;
54956  }
54957  }
54959  return resultobj;
54960 fail:
54961  return NULL;
54962 }
54963 
54964 
54965 SWIGINTERN PyObject *_wrap_delete_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54966  PyObject *resultobj = 0;
54968  void *argp1 = 0 ;
54969  int res1 = 0 ;
54970  PyObject * obj0 = 0 ;
54971 
54972  if (!PyArg_UnpackTuple(args, "delete_IntVarLocalSearchFilter", 1, 1, &obj0)) SWIG_fail;
54974  if (!SWIG_IsOK(res1)) {
54975  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IntVarLocalSearchFilter" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter *""'");
54976  }
54977  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
54978  {
54979  try {
54980  delete arg1;
54981  }
54982  catch (Swig::DirectorException &e) {
54983  SWIG_fail;
54984  }
54985  }
54986  resultobj = SWIG_Py_Void();
54987  return resultobj;
54988 fail:
54989  return NULL;
54990 }
54991 
54992 
54993 SWIGINTERN PyObject *_wrap_IntVarLocalSearchFilter_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
54994  PyObject *resultobj = 0;
54998  void *argp1 = 0 ;
54999  int res1 = 0 ;
55000  void *argp2 = 0 ;
55001  int res2 = 0 ;
55002  void *argp3 = 0 ;
55003  int res3 = 0 ;
55004  PyObject * obj0 = 0 ;
55005  PyObject * obj1 = 0 ;
55006  PyObject * obj2 = 0 ;
55007  Swig::Director *director = 0;
55008  bool upcall = false;
55009 
55010  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchFilter_Synchronize", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
55012  if (!SWIG_IsOK(res1)) {
55013  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchFilter_Synchronize" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter *""'");
55014  }
55015  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
55016  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
55017  if (!SWIG_IsOK(res2)) {
55018  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntVarLocalSearchFilter_Synchronize" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
55019  }
55020  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
55021  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
55022  if (!SWIG_IsOK(res3)) {
55023  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IntVarLocalSearchFilter_Synchronize" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
55024  }
55025  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
55026  director = SWIG_DIRECTOR_CAST(arg1);
55027  upcall = (director && (director->swig_get_self()==obj0));
55028  try {
55029  {
55030  try {
55031  if (upcall) {
55033  } else {
55034  (arg1)->Synchronize((operations_research::Assignment const *)arg2,(operations_research::Assignment const *)arg3);
55035  }
55036  }
55037  catch (Swig::DirectorException &e) {
55038  SWIG_fail;
55039  }
55040  }
55041  } catch (Swig::DirectorException&) {
55042  SWIG_fail;
55043  }
55044  resultobj = SWIG_Py_Void();
55045  return resultobj;
55046 fail:
55047  return NULL;
55048 }
55049 
55050 
55051 SWIGINTERN PyObject *_wrap_IntVarLocalSearchFilter_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55052  PyObject *resultobj = 0;
55054  void *argp1 = 0 ;
55055  int res1 = 0 ;
55056  PyObject * obj0 = 0 ;
55057  int result;
55058 
55059  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchFilter_Size", 1, 1, &obj0)) SWIG_fail;
55061  if (!SWIG_IsOK(res1)) {
55062  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchFilter_Size" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter const *""'");
55063  }
55064  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
55065  {
55066  try {
55067  result = (int)((operations_research::IntVarLocalSearchFilter const *)arg1)->Size();
55068  }
55069  catch (Swig::DirectorException &e) {
55070  SWIG_fail;
55071  }
55072  }
55073  resultobj = SWIG_From_int(static_cast< int >(result));
55074  return resultobj;
55075 fail:
55076  return NULL;
55077 }
55078 
55079 
55080 SWIGINTERN PyObject *_wrap_IntVarLocalSearchFilter_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55081  PyObject *resultobj = 0;
55083  int arg2 ;
55084  void *argp1 = 0 ;
55085  int res1 = 0 ;
55086  int val2 ;
55087  int ecode2 = 0 ;
55088  PyObject * obj0 = 0 ;
55089  PyObject * obj1 = 0 ;
55090  int64_t result;
55091 
55092  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchFilter_Value", 2, 2, &obj0, &obj1)) SWIG_fail;
55094  if (!SWIG_IsOK(res1)) {
55095  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchFilter_Value" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter const *""'");
55096  }
55097  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
55098  ecode2 = SWIG_AsVal_int(obj1, &val2);
55099  if (!SWIG_IsOK(ecode2)) {
55100  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IntVarLocalSearchFilter_Value" "', argument " "2"" of type '" "int""'");
55101  }
55102  arg2 = static_cast< int >(val2);
55103  {
55104  try {
55105  result = (int64_t)((operations_research::IntVarLocalSearchFilter const *)arg1)->Value(arg2);
55106  }
55107  catch (Swig::DirectorException &e) {
55108  SWIG_fail;
55109  }
55110  }
55111  resultobj = SWIG_From_long(static_cast< long >(result));
55112  return resultobj;
55113 fail:
55114  return NULL;
55115 }
55116 
55117 
55118 SWIGINTERN PyObject *_wrap_IntVarLocalSearchFilter_IndexFromVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55119  PyObject *resultobj = 0;
55122  void *argp1 = 0 ;
55123  int res1 = 0 ;
55124  PyObject * obj0 = 0 ;
55125  PyObject * obj1 = 0 ;
55126  int64_t result;
55127 
55128  if (!PyArg_UnpackTuple(args, "IntVarLocalSearchFilter_IndexFromVar", 2, 2, &obj0, &obj1)) SWIG_fail;
55130  if (!SWIG_IsOK(res1)) {
55131  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IntVarLocalSearchFilter_IndexFromVar" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter const *""'");
55132  }
55133  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
55134  {
55135  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
55136  }
55137  {
55138  try {
55140  }
55141  catch (Swig::DirectorException &e) {
55142  SWIG_fail;
55143  }
55144  }
55145  resultobj = SWIG_From_long(static_cast< long >(result));
55146  return resultobj;
55147 fail:
55148  return NULL;
55149 }
55150 
55151 
55152 SWIGINTERN PyObject *_wrap_disown_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55153  PyObject *resultobj = 0;
55155  void *argp1 = 0 ;
55156  int res1 = 0 ;
55157  PyObject * obj0 = 0 ;
55158 
55159  if (!PyArg_UnpackTuple(args, "disown_IntVarLocalSearchFilter", 1, 1, &obj0)) SWIG_fail;
55161  if (!SWIG_IsOK(res1)) {
55162  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_IntVarLocalSearchFilter" "', argument " "1"" of type '" "operations_research::IntVarLocalSearchFilter *""'");
55163  }
55164  arg1 = reinterpret_cast< operations_research::IntVarLocalSearchFilter * >(argp1);
55165  {
55166  Swig::Director *director = SWIG_DIRECTOR_CAST(arg1);
55167  if (director) director->swig_disown();
55168  }
55169 
55170  resultobj = SWIG_Py_Void();
55171  return resultobj;
55172 fail:
55173  return NULL;
55174 }
55175 
55176 
55177 SWIGINTERN PyObject *IntVarLocalSearchFilter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55178  PyObject *obj;
55179  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
55181  return SWIG_Py_Void();
55182 }
55183 
55184 SWIGINTERN PyObject *IntVarLocalSearchFilter_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55185  return SWIG_Python_InitShadowInstance(args);
55186 }
55187 
55188 SWIGINTERN PyObject *_wrap_BooleanVar_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55189  PyObject *resultobj = 0;
55191  void *argp1 = 0 ;
55192  int res1 = 0 ;
55193  PyObject * obj0 = 0 ;
55194  int64_t result;
55195 
55196  if (!PyArg_UnpackTuple(args, "BooleanVar_Min", 1, 1, &obj0)) SWIG_fail;
55197  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55198  if (!SWIG_IsOK(res1)) {
55199  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Min" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55200  }
55201  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55202  {
55203  try {
55204  result = (int64_t)((operations_research::BooleanVar const *)arg1)->Min();
55205  }
55206  catch (Swig::DirectorException &e) {
55207  SWIG_fail;
55208  }
55209  }
55210  resultobj = SWIG_From_long(static_cast< long >(result));
55211  return resultobj;
55212 fail:
55213  return NULL;
55214 }
55215 
55216 
55217 SWIGINTERN PyObject *_wrap_BooleanVar_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55218  PyObject *resultobj = 0;
55220  int64_t arg2 ;
55221  void *argp1 = 0 ;
55222  int res1 = 0 ;
55223  long val2 ;
55224  int ecode2 = 0 ;
55225  PyObject * obj0 = 0 ;
55226  PyObject * obj1 = 0 ;
55227 
55228  if (!PyArg_UnpackTuple(args, "BooleanVar_SetMin", 2, 2, &obj0, &obj1)) SWIG_fail;
55229  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55230  if (!SWIG_IsOK(res1)) {
55231  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_SetMin" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55232  }
55233  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55234  ecode2 = SWIG_AsVal_long(obj1, &val2);
55235  if (!SWIG_IsOK(ecode2)) {
55236  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_SetMin" "', argument " "2"" of type '" "int64_t""'");
55237  }
55238  arg2 = static_cast< int64_t >(val2);
55239  {
55240  operations_research::Solver* const solver = arg1->solver();
55241  FailureProtect protect;
55242  solver->set_fail_intercept([&protect]() {
55243  protect.JumpBack();
55244  });
55245  if (setjmp(protect.exception_buffer) == 0) {
55246  (arg1)->SetMin(arg2);
55247  solver->clear_fail_intercept();
55248  } else {
55249  solver->clear_fail_intercept();
55250  // IMPORTANT: the type and message of the exception raised matter,
55251  // because they are caught by the python overrides of some CP classes.
55252  // See the occurrences of the "PyExc_Exception" string below.
55253  PyErr_SetString(PyExc_Exception, "CP Solver fail");
55254  SWIG_fail;
55255  }
55256  }
55257  resultobj = SWIG_Py_Void();
55258  return resultobj;
55259 fail:
55260  return NULL;
55261 }
55262 
55263 
55264 SWIGINTERN PyObject *_wrap_BooleanVar_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55265  PyObject *resultobj = 0;
55267  void *argp1 = 0 ;
55268  int res1 = 0 ;
55269  PyObject * obj0 = 0 ;
55270  int64_t result;
55271 
55272  if (!PyArg_UnpackTuple(args, "BooleanVar_Max", 1, 1, &obj0)) SWIG_fail;
55273  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55274  if (!SWIG_IsOK(res1)) {
55275  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Max" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55276  }
55277  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55278  {
55279  try {
55280  result = (int64_t)((operations_research::BooleanVar const *)arg1)->Max();
55281  }
55282  catch (Swig::DirectorException &e) {
55283  SWIG_fail;
55284  }
55285  }
55286  resultobj = SWIG_From_long(static_cast< long >(result));
55287  return resultobj;
55288 fail:
55289  return NULL;
55290 }
55291 
55292 
55293 SWIGINTERN PyObject *_wrap_BooleanVar_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55294  PyObject *resultobj = 0;
55296  int64_t arg2 ;
55297  void *argp1 = 0 ;
55298  int res1 = 0 ;
55299  long val2 ;
55300  int ecode2 = 0 ;
55301  PyObject * obj0 = 0 ;
55302  PyObject * obj1 = 0 ;
55303 
55304  if (!PyArg_UnpackTuple(args, "BooleanVar_SetMax", 2, 2, &obj0, &obj1)) SWIG_fail;
55305  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55306  if (!SWIG_IsOK(res1)) {
55307  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_SetMax" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55308  }
55309  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55310  ecode2 = SWIG_AsVal_long(obj1, &val2);
55311  if (!SWIG_IsOK(ecode2)) {
55312  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_SetMax" "', argument " "2"" of type '" "int64_t""'");
55313  }
55314  arg2 = static_cast< int64_t >(val2);
55315  {
55316  operations_research::Solver* const solver = arg1->solver();
55317  FailureProtect protect;
55318  solver->set_fail_intercept([&protect]() {
55319  protect.JumpBack();
55320  });
55321  if (setjmp(protect.exception_buffer) == 0) {
55322  (arg1)->SetMax(arg2);
55323  solver->clear_fail_intercept();
55324  } else {
55325  solver->clear_fail_intercept();
55326  // IMPORTANT: the type and message of the exception raised matter,
55327  // because they are caught by the python overrides of some CP classes.
55328  // See the occurrences of the "PyExc_Exception" string below.
55329  PyErr_SetString(PyExc_Exception, "CP Solver fail");
55330  SWIG_fail;
55331  }
55332  }
55333  resultobj = SWIG_Py_Void();
55334  return resultobj;
55335 fail:
55336  return NULL;
55337 }
55338 
55339 
55340 SWIGINTERN PyObject *_wrap_BooleanVar_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55341  PyObject *resultobj = 0;
55343  int64_t arg2 ;
55344  int64_t arg3 ;
55345  void *argp1 = 0 ;
55346  int res1 = 0 ;
55347  long val2 ;
55348  int ecode2 = 0 ;
55349  long val3 ;
55350  int ecode3 = 0 ;
55351  PyObject * obj0 = 0 ;
55352  PyObject * obj1 = 0 ;
55353  PyObject * obj2 = 0 ;
55354 
55355  if (!PyArg_UnpackTuple(args, "BooleanVar_SetRange", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
55356  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55357  if (!SWIG_IsOK(res1)) {
55358  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_SetRange" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55359  }
55360  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55361  ecode2 = SWIG_AsVal_long(obj1, &val2);
55362  if (!SWIG_IsOK(ecode2)) {
55363  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_SetRange" "', argument " "2"" of type '" "int64_t""'");
55364  }
55365  arg2 = static_cast< int64_t >(val2);
55366  ecode3 = SWIG_AsVal_long(obj2, &val3);
55367  if (!SWIG_IsOK(ecode3)) {
55368  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "BooleanVar_SetRange" "', argument " "3"" of type '" "int64_t""'");
55369  }
55370  arg3 = static_cast< int64_t >(val3);
55371  {
55372  operations_research::Solver* const solver = arg1->solver();
55373  FailureProtect protect;
55374  solver->set_fail_intercept([&protect]() {
55375  protect.JumpBack();
55376  });
55377  if (setjmp(protect.exception_buffer) == 0) {
55378  (arg1)->SetRange(arg2,arg3);
55379  solver->clear_fail_intercept();
55380  } else {
55381  solver->clear_fail_intercept();
55382  // IMPORTANT: the type and message of the exception raised matter,
55383  // because they are caught by the python overrides of some CP classes.
55384  // See the occurrences of the "PyExc_Exception" string below.
55385  PyErr_SetString(PyExc_Exception, "CP Solver fail");
55386  SWIG_fail;
55387  }
55388  }
55389  resultobj = SWIG_Py_Void();
55390  return resultobj;
55391 fail:
55392  return NULL;
55393 }
55394 
55395 
55396 SWIGINTERN PyObject *_wrap_BooleanVar_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55397  PyObject *resultobj = 0;
55399  void *argp1 = 0 ;
55400  int res1 = 0 ;
55401  PyObject * obj0 = 0 ;
55402  bool result;
55403 
55404  if (!PyArg_UnpackTuple(args, "BooleanVar_Bound", 1, 1, &obj0)) SWIG_fail;
55405  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55406  if (!SWIG_IsOK(res1)) {
55407  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Bound" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55408  }
55409  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55410  {
55411  try {
55412  result = (bool)((operations_research::BooleanVar const *)arg1)->Bound();
55413  }
55414  catch (Swig::DirectorException &e) {
55415  SWIG_fail;
55416  }
55417  }
55418  resultobj = SWIG_From_bool(static_cast< bool >(result));
55419  return resultobj;
55420 fail:
55421  return NULL;
55422 }
55423 
55424 
55425 SWIGINTERN PyObject *_wrap_BooleanVar_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55426  PyObject *resultobj = 0;
55428  void *argp1 = 0 ;
55429  int res1 = 0 ;
55430  PyObject * obj0 = 0 ;
55431  int64_t result;
55432 
55433  if (!PyArg_UnpackTuple(args, "BooleanVar_Value", 1, 1, &obj0)) SWIG_fail;
55434  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55435  if (!SWIG_IsOK(res1)) {
55436  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Value" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55437  }
55438  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55439  {
55440  try {
55441  result = (int64_t)((operations_research::BooleanVar const *)arg1)->Value();
55442  }
55443  catch (Swig::DirectorException &e) {
55444  SWIG_fail;
55445  }
55446  }
55447  resultobj = SWIG_From_long(static_cast< long >(result));
55448  return resultobj;
55449 fail:
55450  return NULL;
55451 }
55452 
55453 
55454 SWIGINTERN PyObject *_wrap_BooleanVar_RemoveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55455  PyObject *resultobj = 0;
55457  int64_t arg2 ;
55458  void *argp1 = 0 ;
55459  int res1 = 0 ;
55460  long val2 ;
55461  int ecode2 = 0 ;
55462  PyObject * obj0 = 0 ;
55463  PyObject * obj1 = 0 ;
55464 
55465  if (!PyArg_UnpackTuple(args, "BooleanVar_RemoveValue", 2, 2, &obj0, &obj1)) SWIG_fail;
55466  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55467  if (!SWIG_IsOK(res1)) {
55468  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_RemoveValue" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55469  }
55470  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55471  ecode2 = SWIG_AsVal_long(obj1, &val2);
55472  if (!SWIG_IsOK(ecode2)) {
55473  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_RemoveValue" "', argument " "2"" of type '" "int64_t""'");
55474  }
55475  arg2 = static_cast< int64_t >(val2);
55476  {
55477  operations_research::Solver* const solver = arg1->solver();
55478  FailureProtect protect;
55479  solver->set_fail_intercept([&protect]() {
55480  protect.JumpBack();
55481  });
55482  if (setjmp(protect.exception_buffer) == 0) {
55483  (arg1)->RemoveValue(arg2);
55484  solver->clear_fail_intercept();
55485  } else {
55486  solver->clear_fail_intercept();
55487  // IMPORTANT: the type and message of the exception raised matter,
55488  // because they are caught by the python overrides of some CP classes.
55489  // See the occurrences of the "PyExc_Exception" string below.
55490  PyErr_SetString(PyExc_Exception, "CP Solver fail");
55491  SWIG_fail;
55492  }
55493  }
55494  resultobj = SWIG_Py_Void();
55495  return resultobj;
55496 fail:
55497  return NULL;
55498 }
55499 
55500 
55501 SWIGINTERN PyObject *_wrap_BooleanVar_RemoveInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55502  PyObject *resultobj = 0;
55504  int64_t arg2 ;
55505  int64_t arg3 ;
55506  void *argp1 = 0 ;
55507  int res1 = 0 ;
55508  long val2 ;
55509  int ecode2 = 0 ;
55510  long val3 ;
55511  int ecode3 = 0 ;
55512  PyObject * obj0 = 0 ;
55513  PyObject * obj1 = 0 ;
55514  PyObject * obj2 = 0 ;
55515 
55516  if (!PyArg_UnpackTuple(args, "BooleanVar_RemoveInterval", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
55517  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55518  if (!SWIG_IsOK(res1)) {
55519  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_RemoveInterval" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55520  }
55521  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55522  ecode2 = SWIG_AsVal_long(obj1, &val2);
55523  if (!SWIG_IsOK(ecode2)) {
55524  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_RemoveInterval" "', argument " "2"" of type '" "int64_t""'");
55525  }
55526  arg2 = static_cast< int64_t >(val2);
55527  ecode3 = SWIG_AsVal_long(obj2, &val3);
55528  if (!SWIG_IsOK(ecode3)) {
55529  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "BooleanVar_RemoveInterval" "', argument " "3"" of type '" "int64_t""'");
55530  }
55531  arg3 = static_cast< int64_t >(val3);
55532  {
55533  try {
55534  (arg1)->RemoveInterval(arg2,arg3);
55535  }
55536  catch (Swig::DirectorException &e) {
55537  SWIG_fail;
55538  }
55539  }
55540  resultobj = SWIG_Py_Void();
55541  return resultobj;
55542 fail:
55543  return NULL;
55544 }
55545 
55546 
55547 SWIGINTERN PyObject *_wrap_BooleanVar_WhenBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55548  PyObject *resultobj = 0;
55551  void *argp1 = 0 ;
55552  int res1 = 0 ;
55553  void *argp2 = 0 ;
55554  int res2 = 0 ;
55555  PyObject * obj0 = 0 ;
55556  PyObject * obj1 = 0 ;
55557 
55558  if (!PyArg_UnpackTuple(args, "BooleanVar_WhenBound", 2, 2, &obj0, &obj1)) SWIG_fail;
55559  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55560  if (!SWIG_IsOK(res1)) {
55561  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_WhenBound" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55562  }
55563  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55564  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
55565  if (!SWIG_IsOK(res2)) {
55566  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "BooleanVar_WhenBound" "', argument " "2"" of type '" "operations_research::Demon *""'");
55567  }
55568  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
55569  {
55570  try {
55571  (arg1)->WhenBound(arg2);
55572  }
55573  catch (Swig::DirectorException &e) {
55574  SWIG_fail;
55575  }
55576  }
55577  resultobj = SWIG_Py_Void();
55578  return resultobj;
55579 fail:
55580  return NULL;
55581 }
55582 
55583 
55584 SWIGINTERN PyObject *_wrap_BooleanVar_WhenRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55585  PyObject *resultobj = 0;
55588  void *argp1 = 0 ;
55589  int res1 = 0 ;
55590  void *argp2 = 0 ;
55591  int res2 = 0 ;
55592  PyObject * obj0 = 0 ;
55593  PyObject * obj1 = 0 ;
55594 
55595  if (!PyArg_UnpackTuple(args, "BooleanVar_WhenRange", 2, 2, &obj0, &obj1)) SWIG_fail;
55596  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55597  if (!SWIG_IsOK(res1)) {
55598  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_WhenRange" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55599  }
55600  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55601  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
55602  if (!SWIG_IsOK(res2)) {
55603  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "BooleanVar_WhenRange" "', argument " "2"" of type '" "operations_research::Demon *""'");
55604  }
55605  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
55606  {
55607  try {
55608  (arg1)->WhenRange(arg2);
55609  }
55610  catch (Swig::DirectorException &e) {
55611  SWIG_fail;
55612  }
55613  }
55614  resultobj = SWIG_Py_Void();
55615  return resultobj;
55616 fail:
55617  return NULL;
55618 }
55619 
55620 
55621 SWIGINTERN PyObject *_wrap_BooleanVar_WhenDomain(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55622  PyObject *resultobj = 0;
55625  void *argp1 = 0 ;
55626  int res1 = 0 ;
55627  void *argp2 = 0 ;
55628  int res2 = 0 ;
55629  PyObject * obj0 = 0 ;
55630  PyObject * obj1 = 0 ;
55631 
55632  if (!PyArg_UnpackTuple(args, "BooleanVar_WhenDomain", 2, 2, &obj0, &obj1)) SWIG_fail;
55633  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55634  if (!SWIG_IsOK(res1)) {
55635  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_WhenDomain" "', argument " "1"" of type '" "operations_research::BooleanVar *""'");
55636  }
55637  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55638  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Demon, 0 | 0 );
55639  if (!SWIG_IsOK(res2)) {
55640  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "BooleanVar_WhenDomain" "', argument " "2"" of type '" "operations_research::Demon *""'");
55641  }
55642  arg2 = reinterpret_cast< operations_research::Demon * >(argp2);
55643  {
55644  try {
55645  (arg1)->WhenDomain(arg2);
55646  }
55647  catch (Swig::DirectorException &e) {
55648  SWIG_fail;
55649  }
55650  }
55651  resultobj = SWIG_Py_Void();
55652  return resultobj;
55653 fail:
55654  return NULL;
55655 }
55656 
55657 
55658 SWIGINTERN PyObject *_wrap_BooleanVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55659  PyObject *resultobj = 0;
55661  void *argp1 = 0 ;
55662  int res1 = 0 ;
55663  PyObject * obj0 = 0 ;
55664  uint64_t result;
55665 
55666  if (!PyArg_UnpackTuple(args, "BooleanVar_Size", 1, 1, &obj0)) SWIG_fail;
55667  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55668  if (!SWIG_IsOK(res1)) {
55669  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Size" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55670  }
55671  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55672  {
55673  try {
55674  result = (uint64_t)((operations_research::BooleanVar const *)arg1)->Size();
55675  }
55676  catch (Swig::DirectorException &e) {
55677  SWIG_fail;
55678  }
55679  }
55680  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
55681  return resultobj;
55682 fail:
55683  return NULL;
55684 }
55685 
55686 
55687 SWIGINTERN PyObject *_wrap_BooleanVar_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55688  PyObject *resultobj = 0;
55690  int64_t arg2 ;
55691  void *argp1 = 0 ;
55692  int res1 = 0 ;
55693  long val2 ;
55694  int ecode2 = 0 ;
55695  PyObject * obj0 = 0 ;
55696  PyObject * obj1 = 0 ;
55697  bool result;
55698 
55699  if (!PyArg_UnpackTuple(args, "BooleanVar_Contains", 2, 2, &obj0, &obj1)) SWIG_fail;
55700  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55701  if (!SWIG_IsOK(res1)) {
55702  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_Contains" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55703  }
55704  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55705  ecode2 = SWIG_AsVal_long(obj1, &val2);
55706  if (!SWIG_IsOK(ecode2)) {
55707  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_Contains" "', argument " "2"" of type '" "int64_t""'");
55708  }
55709  arg2 = static_cast< int64_t >(val2);
55710  {
55711  try {
55712  result = (bool)((operations_research::BooleanVar const *)arg1)->Contains(arg2);
55713  }
55714  catch (Swig::DirectorException &e) {
55715  SWIG_fail;
55716  }
55717  }
55718  resultobj = SWIG_From_bool(static_cast< bool >(result));
55719  return resultobj;
55720 fail:
55721  return NULL;
55722 }
55723 
55724 
55725 SWIGINTERN PyObject *_wrap_BooleanVar_HoleIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55726  PyObject *resultobj = 0;
55728  bool arg2 ;
55729  void *argp1 = 0 ;
55730  int res1 = 0 ;
55731  bool val2 ;
55732  int ecode2 = 0 ;
55733  PyObject * obj0 = 0 ;
55734  PyObject * obj1 = 0 ;
55736 
55737  if (!PyArg_UnpackTuple(args, "BooleanVar_HoleIteratorAux", 2, 2, &obj0, &obj1)) SWIG_fail;
55738  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55739  if (!SWIG_IsOK(res1)) {
55740  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_HoleIteratorAux" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55741  }
55742  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55743  ecode2 = SWIG_AsVal_bool(obj1, &val2);
55744  if (!SWIG_IsOK(ecode2)) {
55745  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_HoleIteratorAux" "', argument " "2"" of type '" "bool""'");
55746  }
55747  arg2 = static_cast< bool >(val2);
55748  {
55749  try {
55750  result = (operations_research::IntVarIterator *)((operations_research::BooleanVar const *)arg1)->MakeHoleIterator(arg2);
55751  }
55752  catch (Swig::DirectorException &e) {
55753  SWIG_fail;
55754  }
55755  }
55757  return resultobj;
55758 fail:
55759  return NULL;
55760 }
55761 
55762 
55763 SWIGINTERN PyObject *_wrap_BooleanVar_DomainIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55764  PyObject *resultobj = 0;
55766  bool arg2 ;
55767  void *argp1 = 0 ;
55768  int res1 = 0 ;
55769  bool val2 ;
55770  int ecode2 = 0 ;
55771  PyObject * obj0 = 0 ;
55772  PyObject * obj1 = 0 ;
55774 
55775  if (!PyArg_UnpackTuple(args, "BooleanVar_DomainIteratorAux", 2, 2, &obj0, &obj1)) SWIG_fail;
55776  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55777  if (!SWIG_IsOK(res1)) {
55778  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_DomainIteratorAux" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55779  }
55780  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55781  ecode2 = SWIG_AsVal_bool(obj1, &val2);
55782  if (!SWIG_IsOK(ecode2)) {
55783  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BooleanVar_DomainIteratorAux" "', argument " "2"" of type '" "bool""'");
55784  }
55785  arg2 = static_cast< bool >(val2);
55786  {
55787  try {
55788  result = (operations_research::IntVarIterator *)((operations_research::BooleanVar const *)arg1)->MakeDomainIterator(arg2);
55789  }
55790  catch (Swig::DirectorException &e) {
55791  SWIG_fail;
55792  }
55793  }
55795  return resultobj;
55796 fail:
55797  return NULL;
55798 }
55799 
55800 
55801 SWIGINTERN PyObject *_wrap_BooleanVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55802  PyObject *resultobj = 0;
55804  void *argp1 = 0 ;
55805  int res1 = 0 ;
55806  PyObject * obj0 = 0 ;
55807  std::string result;
55808 
55809  if (!PyArg_UnpackTuple(args, "BooleanVar_DebugString", 1, 1, &obj0)) SWIG_fail;
55810  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__BooleanVar, 0 | 0 );
55811  if (!SWIG_IsOK(res1)) {
55812  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BooleanVar_DebugString" "', argument " "1"" of type '" "operations_research::BooleanVar const *""'");
55813  }
55814  arg1 = reinterpret_cast< operations_research::BooleanVar * >(argp1);
55815  {
55816  try {
55817  result = ((operations_research::BooleanVar const *)arg1)->DebugString();
55818  }
55819  catch (Swig::DirectorException &e) {
55820  SWIG_fail;
55821  }
55822  }
55823  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
55824  return resultobj;
55825 fail:
55826  return NULL;
55827 }
55828 
55829 
55830 SWIGINTERN PyObject *BooleanVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55831  PyObject *obj;
55832  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
55834  return SWIG_Py_Void();
55835 }
55836 
55837 SWIGINTERN PyObject *_wrap_new_RoutingIndexManager__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55838  PyObject *resultobj = 0;
55839  int arg1 ;
55840  int arg2 ;
55842  int val1 ;
55843  int ecode1 = 0 ;
55844  int val2 ;
55845  int ecode2 = 0 ;
55846  PyObject * obj0 = 0 ;
55847  PyObject * obj1 = 0 ;
55848  PyObject * obj2 = 0 ;
55850 
55851  if (!PyArg_UnpackTuple(args, "new_RoutingIndexManager", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
55852  ecode1 = SWIG_AsVal_int(obj0, &val1);
55853  if (!SWIG_IsOK(ecode1)) {
55854  SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_RoutingIndexManager" "', argument " "1"" of type '" "int""'");
55855  }
55856  arg1 = static_cast< int >(val1);
55857  ecode2 = SWIG_AsVal_int(obj1, &val2);
55858  if (!SWIG_IsOK(ecode2)) {
55859  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_RoutingIndexManager" "', argument " "2"" of type '" "int""'");
55860  }
55861  arg2 = static_cast< int >(val2);
55862  {
55863  arg3 = operations_research::RoutingNodeIndex(PyInt_AsLong(obj2));
55864  }
55865  {
55866  try {
55868  }
55869  catch (Swig::DirectorException &e) {
55870  SWIG_fail;
55871  }
55872  }
55874  return resultobj;
55875 fail:
55876  return NULL;
55877 }
55878 
55879 
55880 SWIGINTERN PyObject *_wrap_new_RoutingIndexManager__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
55881  PyObject *resultobj = 0;
55882  int arg1 ;
55883  int arg2 ;
55884  std::vector< operations_research::RoutingIndexManager::NodeIndex > *arg3 = 0 ;
55885  std::vector< operations_research::RoutingIndexManager::NodeIndex > *arg4 = 0 ;
55886  int val1 ;
55887  int ecode1 = 0 ;
55888  int val2 ;
55889  int ecode2 = 0 ;
55890  std::vector< operations_research::RoutingNodeIndex > temp3 ;
55891  std::vector< operations_research::RoutingNodeIndex > temp4 ;
55892  PyObject * obj0 = 0 ;
55893  PyObject * obj1 = 0 ;
55894  PyObject * obj2 = 0 ;
55895  PyObject * obj3 = 0 ;
55897 
55898  if (!PyArg_UnpackTuple(args, "new_RoutingIndexManager", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
55899  ecode1 = SWIG_AsVal_int(obj0, &val1);
55900  if (!SWIG_IsOK(ecode1)) {
55901  SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_RoutingIndexManager" "', argument " "1"" of type '" "int""'");
55902  }
55903  arg1 = static_cast< int >(val1);
55904  ecode2 = SWIG_AsVal_int(obj1, &val2);
55905  if (!SWIG_IsOK(ecode2)) {
55906  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_RoutingIndexManager" "', argument " "2"" of type '" "int""'");
55907  }
55908  arg2 = static_cast< int >(val2);
55909  {
55910  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::RoutingNodeIndex>)) {
55911  if (!PyErr_Occurred())
55912  SWIG_Error(SWIG_TypeError, "sequence(operations_research::RoutingNodeIndex) expected");
55913  return NULL;
55914  }
55915  arg3 = &temp3;
55916  }
55917  {
55918  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::RoutingNodeIndex>)) {
55919  if (!PyErr_Occurred())
55920  SWIG_Error(SWIG_TypeError, "sequence(operations_research::RoutingNodeIndex) expected");
55921  return NULL;
55922  }
55923  arg4 = &temp4;
55924  }
55925  {
55926  try {
55927  result = (operations_research::RoutingIndexManager *)new operations_research::RoutingIndexManager(arg1,arg2,(std::vector< operations_research::RoutingIndexManager::NodeIndex > const &)*arg3,(std::vector< operations_research::RoutingIndexManager::NodeIndex > const &)*arg4);
55928  }
55929  catch (Swig::DirectorException &e) {
55930  SWIG_fail;
55931  }
55932  }
55934  return resultobj;
55935 fail:
55936  return NULL;
55937 }
55938 
55939 
55940 SWIGINTERN PyObject *_wrap_new_RoutingIndexManager(PyObject *self, PyObject *args) {
55941  Py_ssize_t argc;
55942  PyObject *argv[5] = {
55943  0
55944  };
55945  Py_ssize_t ii;
55946 
55947  if (!PyTuple_Check(args)) SWIG_fail;
55948  argc = PyObject_Length(args);
55949  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
55950  argv[ii] = PyTuple_GET_ITEM(args,ii);
55951  }
55952  if (argc == 3) {
55953  int _v;
55954  {
55955  int res = SWIG_AsVal_int(argv[0], NULL);
55956  _v = SWIG_CheckState(res);
55957  }
55958  if (_v) {
55959  {
55960  int res = SWIG_AsVal_int(argv[1], NULL);
55961  _v = SWIG_CheckState(res);
55962  }
55963  if (_v) {
55964  {
55965  int res = SWIG_AsVal_int(argv[2], NULL);
55966  _v = SWIG_CheckState(res);
55967  }
55968  if (_v) {
55969  return _wrap_new_RoutingIndexManager__SWIG_0(self, args);
55970  }
55971  }
55972  }
55973  }
55974  if (argc == 4) {
55975  int _v;
55976  {
55977  int res = SWIG_AsVal_int(argv[0], NULL);
55978  _v = SWIG_CheckState(res);
55979  }
55980  if (_v) {
55981  {
55982  int res = SWIG_AsVal_int(argv[1], NULL);
55983  _v = SWIG_CheckState(res);
55984  }
55985  if (_v) {
55986  {
55987  if (!PyTuple_Check(argv[2]) && !PyList_Check(argv[2])) {
55988  _v = 0;
55989  } else {
55990  const bool is_tuple = PyTuple_Check(argv[2]);
55991  const size_t size = is_tuple ? PyTuple_Size(argv[2]) : PyList_Size(argv[2]);
55992  size_t i = 0;
55993  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[2], i)
55994  :PyList_GetItem(argv[2], i))) {
55995  ++i;
55996  }
55997  _v = i == size;
55998  }
55999  }
56000  if (_v) {
56001  {
56002  if (!PyTuple_Check(argv[3]) && !PyList_Check(argv[3])) {
56003  _v = 0;
56004  } else {
56005  const bool is_tuple = PyTuple_Check(argv[3]);
56006  const size_t size = is_tuple ? PyTuple_Size(argv[3]) : PyList_Size(argv[3]);
56007  size_t i = 0;
56008  while (i < size && PyInt_Check(is_tuple ? PyTuple_GetItem(argv[3], i)
56009  :PyList_GetItem(argv[3], i))) {
56010  ++i;
56011  }
56012  _v = i == size;
56013  }
56014  }
56015  if (_v) {
56016  return _wrap_new_RoutingIndexManager__SWIG_1(self, args);
56017  }
56018  }
56019  }
56020  }
56021  }
56022 
56023 fail:
56024  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_RoutingIndexManager'.\n"
56025  " Possible C/C++ prototypes are:\n"
56026  " operations_research::RoutingIndexManager::RoutingIndexManager(int,int,operations_research::RoutingIndexManager::NodeIndex)\n"
56027  " operations_research::RoutingIndexManager::RoutingIndexManager(int,int,std::vector< operations_research::RoutingIndexManager::NodeIndex > const &,std::vector< operations_research::RoutingIndexManager::NodeIndex > const &)\n");
56028  return 0;
56029 }
56030 
56031 
56032 SWIGINTERN PyObject *_wrap_delete_RoutingIndexManager(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56033  PyObject *resultobj = 0;
56035  void *argp1 = 0 ;
56036  int res1 = 0 ;
56037  PyObject * obj0 = 0 ;
56038 
56039  if (!PyArg_UnpackTuple(args, "delete_RoutingIndexManager", 1, 1, &obj0)) SWIG_fail;
56041  if (!SWIG_IsOK(res1)) {
56042  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RoutingIndexManager" "', argument " "1"" of type '" "operations_research::RoutingIndexManager *""'");
56043  }
56044  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56045  {
56046  try {
56047  delete arg1;
56048  }
56049  catch (Swig::DirectorException &e) {
56050  SWIG_fail;
56051  }
56052  }
56053  resultobj = SWIG_Py_Void();
56054  return resultobj;
56055 fail:
56056  return NULL;
56057 }
56058 
56059 
56060 SWIGINTERN PyObject *_wrap_RoutingIndexManager_GetNumberOfNodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56061  PyObject *resultobj = 0;
56063  void *argp1 = 0 ;
56064  int res1 = 0 ;
56065  PyObject * obj0 = 0 ;
56066  int result;
56067 
56068  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_GetNumberOfNodes", 1, 1, &obj0)) SWIG_fail;
56070  if (!SWIG_IsOK(res1)) {
56071  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_GetNumberOfNodes" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56072  }
56073  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56074  {
56075  try {
56076  result = (int)((operations_research::RoutingIndexManager const *)arg1)->num_nodes();
56077  }
56078  catch (Swig::DirectorException &e) {
56079  SWIG_fail;
56080  }
56081  }
56082  resultobj = SWIG_From_int(static_cast< int >(result));
56083  return resultobj;
56084 fail:
56085  return NULL;
56086 }
56087 
56088 
56090  PyObject *resultobj = 0;
56092  void *argp1 = 0 ;
56093  int res1 = 0 ;
56094  PyObject * obj0 = 0 ;
56095  int result;
56096 
56097  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_GetNumberOfVehicles", 1, 1, &obj0)) SWIG_fail;
56099  if (!SWIG_IsOK(res1)) {
56100  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_GetNumberOfVehicles" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56101  }
56102  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56103  {
56104  try {
56105  result = (int)((operations_research::RoutingIndexManager const *)arg1)->num_vehicles();
56106  }
56107  catch (Swig::DirectorException &e) {
56108  SWIG_fail;
56109  }
56110  }
56111  resultobj = SWIG_From_int(static_cast< int >(result));
56112  return resultobj;
56113 fail:
56114  return NULL;
56115 }
56116 
56117 
56118 SWIGINTERN PyObject *_wrap_RoutingIndexManager_GetNumberOfIndices(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56119  PyObject *resultobj = 0;
56121  void *argp1 = 0 ;
56122  int res1 = 0 ;
56123  PyObject * obj0 = 0 ;
56124  int result;
56125 
56126  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_GetNumberOfIndices", 1, 1, &obj0)) SWIG_fail;
56128  if (!SWIG_IsOK(res1)) {
56129  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_GetNumberOfIndices" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56130  }
56131  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56132  {
56133  try {
56134  result = (int)((operations_research::RoutingIndexManager const *)arg1)->num_indices();
56135  }
56136  catch (Swig::DirectorException &e) {
56137  SWIG_fail;
56138  }
56139  }
56140  resultobj = SWIG_From_int(static_cast< int >(result));
56141  return resultobj;
56142 fail:
56143  return NULL;
56144 }
56145 
56146 
56147 SWIGINTERN PyObject *_wrap_RoutingIndexManager_GetStartIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56148  PyObject *resultobj = 0;
56150  int arg2 ;
56151  void *argp1 = 0 ;
56152  int res1 = 0 ;
56153  int val2 ;
56154  int ecode2 = 0 ;
56155  PyObject * obj0 = 0 ;
56156  PyObject * obj1 = 0 ;
56157  int64_t result;
56158 
56159  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_GetStartIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
56161  if (!SWIG_IsOK(res1)) {
56162  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_GetStartIndex" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56163  }
56164  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56165  ecode2 = SWIG_AsVal_int(obj1, &val2);
56166  if (!SWIG_IsOK(ecode2)) {
56167  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingIndexManager_GetStartIndex" "', argument " "2"" of type '" "int""'");
56168  }
56169  arg2 = static_cast< int >(val2);
56170  {
56171  try {
56172  result = (int64_t)((operations_research::RoutingIndexManager const *)arg1)->GetStartIndex(arg2);
56173  }
56174  catch (Swig::DirectorException &e) {
56175  SWIG_fail;
56176  }
56177  }
56178  resultobj = SWIG_From_long(static_cast< long >(result));
56179  return resultobj;
56180 fail:
56181  return NULL;
56182 }
56183 
56184 
56185 SWIGINTERN PyObject *_wrap_RoutingIndexManager_GetEndIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56186  PyObject *resultobj = 0;
56188  int arg2 ;
56189  void *argp1 = 0 ;
56190  int res1 = 0 ;
56191  int val2 ;
56192  int ecode2 = 0 ;
56193  PyObject * obj0 = 0 ;
56194  PyObject * obj1 = 0 ;
56195  int64_t result;
56196 
56197  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_GetEndIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
56199  if (!SWIG_IsOK(res1)) {
56200  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_GetEndIndex" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56201  }
56202  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56203  ecode2 = SWIG_AsVal_int(obj1, &val2);
56204  if (!SWIG_IsOK(ecode2)) {
56205  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingIndexManager_GetEndIndex" "', argument " "2"" of type '" "int""'");
56206  }
56207  arg2 = static_cast< int >(val2);
56208  {
56209  try {
56210  result = (int64_t)((operations_research::RoutingIndexManager const *)arg1)->GetEndIndex(arg2);
56211  }
56212  catch (Swig::DirectorException &e) {
56213  SWIG_fail;
56214  }
56215  }
56216  resultobj = SWIG_From_long(static_cast< long >(result));
56217  return resultobj;
56218 fail:
56219  return NULL;
56220 }
56221 
56222 
56223 SWIGINTERN PyObject *_wrap_RoutingIndexManager_NodeToIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56224  PyObject *resultobj = 0;
56227  void *argp1 = 0 ;
56228  int res1 = 0 ;
56229  PyObject * obj0 = 0 ;
56230  PyObject * obj1 = 0 ;
56231  int64_t result;
56232 
56233  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_NodeToIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
56235  if (!SWIG_IsOK(res1)) {
56236  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_NodeToIndex" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56237  }
56238  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56239  {
56240  arg2 = operations_research::RoutingNodeIndex(PyInt_AsLong(obj1));
56241  }
56242  {
56243  try {
56244  result = (int64_t)((operations_research::RoutingIndexManager const *)arg1)->NodeToIndex(arg2);
56245  }
56246  catch (Swig::DirectorException &e) {
56247  SWIG_fail;
56248  }
56249  }
56250  resultobj = SWIG_From_long(static_cast< long >(result));
56251  return resultobj;
56252 fail:
56253  return NULL;
56254 }
56255 
56256 
56257 SWIGINTERN PyObject *_wrap_RoutingIndexManager_IndexToNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56258  PyObject *resultobj = 0;
56260  int64_t arg2 ;
56261  void *argp1 = 0 ;
56262  int res1 = 0 ;
56263  long val2 ;
56264  int ecode2 = 0 ;
56265  PyObject * obj0 = 0 ;
56266  PyObject * obj1 = 0 ;
56268 
56269  if (!PyArg_UnpackTuple(args, "RoutingIndexManager_IndexToNode", 2, 2, &obj0, &obj1)) SWIG_fail;
56271  if (!SWIG_IsOK(res1)) {
56272  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingIndexManager_IndexToNode" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const *""'");
56273  }
56274  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56275  ecode2 = SWIG_AsVal_long(obj1, &val2);
56276  if (!SWIG_IsOK(ecode2)) {
56277  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingIndexManager_IndexToNode" "', argument " "2"" of type '" "int64_t""'");
56278  }
56279  arg2 = static_cast< int64_t >(val2);
56280  {
56281  try {
56282  result = ((operations_research::RoutingIndexManager const *)arg1)->IndexToNode(arg2);
56283  }
56284  catch (Swig::DirectorException &e) {
56285  SWIG_fail;
56286  }
56287  }
56288  {
56289  resultobj = PyInt_FromLong((&result)->value());
56290  }
56291  return resultobj;
56292 fail:
56293  return NULL;
56294 }
56295 
56296 
56297 SWIGINTERN PyObject *RoutingIndexManager_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56298  PyObject *obj;
56299  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
56301  return SWIG_Py_Void();
56302 }
56303 
56304 SWIGINTERN PyObject *RoutingIndexManager_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56305  return SWIG_Python_InitShadowInstance(args);
56306 }
56307 
56308 SWIGINTERN PyObject *_wrap_DefaultRoutingModelParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56309  PyObject *resultobj = 0;
56311 
56312  if (!PyArg_UnpackTuple(args, "DefaultRoutingModelParameters", 0, 0)) SWIG_fail;
56313  {
56314  try {
56316  }
56317  catch (Swig::DirectorException &e) {
56318  SWIG_fail;
56319  }
56320  }
56321  {
56322  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
56323  if (module != nullptr) {
56324  PyObject* const dict = PyModule_GetDict(module);
56325  if (dict != nullptr) {
56326  PyObject* const clss = PyDict_GetItemString(dict, "RoutingModelParameters");
56327  if (clss != nullptr) {
56328  std::string encoded_protobuf;
56329  (&result)->SerializeToString(&encoded_protobuf);
56330 
56331  PyObject* const python_encoded_protobuf = PyBytes_FromStringAndSize(
56332  encoded_protobuf.c_str(), encoded_protobuf.size());
56333 
56334 
56335 
56336 
56337  PyObject* const result = PyObject_CallMethod(
56338  clss, const_cast<char*>("FromString"),
56339  const_cast<char*>("(O)"),
56340  python_encoded_protobuf);
56341  Py_DECREF(python_encoded_protobuf);
56342  resultobj = result;
56343  }
56344  }
56345  Py_DECREF(module);
56346  }
56347  }
56348  return resultobj;
56349 fail:
56350  return NULL;
56351 }
56352 
56353 
56354 SWIGINTERN PyObject *_wrap_DefaultRoutingSearchParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56355  PyObject *resultobj = 0;
56357 
56358  if (!PyArg_UnpackTuple(args, "DefaultRoutingSearchParameters", 0, 0)) SWIG_fail;
56359  {
56360  try {
56362  }
56363  catch (Swig::DirectorException &e) {
56364  SWIG_fail;
56365  }
56366  }
56367  {
56368  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
56369  if (module != nullptr) {
56370  PyObject* const dict = PyModule_GetDict(module);
56371  if (dict != nullptr) {
56372  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
56373  if (clss != nullptr) {
56374  std::string encoded_protobuf;
56375  (&result)->SerializeToString(&encoded_protobuf);
56376 
56377  PyObject* const python_encoded_protobuf = PyBytes_FromStringAndSize(
56378  encoded_protobuf.c_str(), encoded_protobuf.size());
56379 
56380 
56381 
56382 
56383  PyObject* const result = PyObject_CallMethod(
56384  clss, const_cast<char*>("FromString"),
56385  const_cast<char*>("(O)"),
56386  python_encoded_protobuf);
56387  Py_DECREF(python_encoded_protobuf);
56388  resultobj = result;
56389  }
56390  }
56391  Py_DECREF(module);
56392  }
56393  }
56394  return resultobj;
56395 fail:
56396  return NULL;
56397 }
56398 
56399 
56400 SWIGINTERN PyObject *_wrap_FindErrorInRoutingSearchParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56401  PyObject *resultobj = 0;
56403  PyObject * obj0 = 0 ;
56404  std::string result;
56405 
56406  if (!PyArg_UnpackTuple(args, "FindErrorInRoutingSearchParameters", 1, 1, &obj0)) SWIG_fail;
56407  {
56409  PyObject* const pyresult = PyObject_CallMethod(
56410  obj0, const_cast<char*>("SerializeToString"), nullptr);
56411  if (pyresult != nullptr) {
56412  char* buffer = nullptr;
56413  Py_ssize_t length = 0;
56414  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
56415  if (buffer != nullptr) {
56416  arg1->ParseFromArray(buffer, length);
56417  }
56418  Py_DECREF(pyresult);
56419  }
56420  }
56421  {
56422  try {
56424  }
56425  catch (Swig::DirectorException &e) {
56426  SWIG_fail;
56427  }
56428  }
56429  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
56430  {
56431  delete arg1;
56432  }
56433  return resultobj;
56434 fail:
56435  {
56436  delete arg1;
56437  }
56438  return NULL;
56439 }
56440 
56441 
56443  SWIG_Error(SWIG_AttributeError,"Variable RoutingModel_kNoPenalty is read-only.");
56444  return 1;
56445 }
56446 
56447 
56449  PyObject *pyobj = 0;
56450 
56451  pyobj = SWIG_From_long(static_cast< long >(operations_research::RoutingModel::kNoPenalty));
56452  return pyobj;
56453 }
56454 
56455 
56457  SWIG_Error(SWIG_AttributeError,"Variable RoutingModel_kNoDisjunction is read-only.");
56458  return 1;
56459 }
56460 
56461 
56463  PyObject *pyobj = 0;
56464 
56466  return pyobj;
56467 }
56468 
56469 
56471  SWIG_Error(SWIG_AttributeError,"Variable RoutingModel_kNoDimension is read-only.");
56472  return 1;
56473 }
56474 
56475 
56477  PyObject *pyobj = 0;
56478 
56480  return pyobj;
56481 }
56482 
56483 
56484 SWIGINTERN PyObject *_wrap_new_RoutingModel__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56485  PyObject *resultobj = 0;
56487  void *argp1 = 0 ;
56488  int res1 = 0 ;
56489  PyObject * obj0 = 0 ;
56490  operations_research::RoutingModel *result = 0 ;
56491 
56492  if (!PyArg_UnpackTuple(args, "new_RoutingModel", 1, 1, &obj0)) SWIG_fail;
56494  if (!SWIG_IsOK(res1)) {
56495  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_RoutingModel" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const &""'");
56496  }
56497  if (!argp1) {
56498  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_RoutingModel" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const &""'");
56499  }
56500  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56501  {
56502  try {
56504  }
56505  catch (Swig::DirectorException &e) {
56506  SWIG_fail;
56507  }
56508  }
56510  return resultobj;
56511 fail:
56512  return NULL;
56513 }
56514 
56515 
56516 SWIGINTERN PyObject *_wrap_new_RoutingModel__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56517  PyObject *resultobj = 0;
56520  void *argp1 = 0 ;
56521  int res1 = 0 ;
56522  PyObject * obj0 = 0 ;
56523  PyObject * obj1 = 0 ;
56524  operations_research::RoutingModel *result = 0 ;
56525 
56526  if (!PyArg_UnpackTuple(args, "new_RoutingModel", 2, 2, &obj0, &obj1)) SWIG_fail;
56528  if (!SWIG_IsOK(res1)) {
56529  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_RoutingModel" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const &""'");
56530  }
56531  if (!argp1) {
56532  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_RoutingModel" "', argument " "1"" of type '" "operations_research::RoutingIndexManager const &""'");
56533  }
56534  arg1 = reinterpret_cast< operations_research::RoutingIndexManager * >(argp1);
56535  {
56537  PyObject* const pyresult = PyObject_CallMethod(
56538  obj1, const_cast<char*>("SerializeToString"), nullptr);
56539  if (pyresult != nullptr) {
56540  char* buffer = nullptr;
56541  Py_ssize_t length = 0;
56542  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
56543  if (buffer != nullptr) {
56544  arg2->ParseFromArray(buffer, length);
56545  }
56546  Py_DECREF(pyresult);
56547  }
56548  }
56549  {
56550  try {
56552  }
56553  catch (Swig::DirectorException &e) {
56554  SWIG_fail;
56555  }
56556  }
56558  {
56559  delete arg2;
56560  }
56561  return resultobj;
56562 fail:
56563  {
56564  delete arg2;
56565  }
56566  return NULL;
56567 }
56568 
56569 
56570 SWIGINTERN PyObject *_wrap_new_RoutingModel(PyObject *self, PyObject *args) {
56571  Py_ssize_t argc;
56572  PyObject *argv[3] = {
56573  0
56574  };
56575  Py_ssize_t ii;
56576 
56577  if (!PyTuple_Check(args)) SWIG_fail;
56578  argc = PyObject_Length(args);
56579  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
56580  argv[ii] = PyTuple_GET_ITEM(args,ii);
56581  }
56582  if (argc == 1) {
56583  int _v;
56585  _v = SWIG_CheckState(res);
56586  if (_v) {
56587  return _wrap_new_RoutingModel__SWIG_0(self, args);
56588  }
56589  }
56590  if (argc == 2) {
56591  int _v;
56593  _v = SWIG_CheckState(res);
56594  if (_v) {
56595  {
56596  bool ok = false;
56597  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
56598  if (module != nullptr) {
56599  PyObject* const dict = PyModule_GetDict(module);
56600  if (dict != nullptr) {
56601  PyObject* const clss = PyDict_GetItemString(dict, "RoutingModelParameters");
56602  if (clss != nullptr) {
56603  if (PyObject_IsInstance(argv[1], clss)) {
56604  ok = true;
56605  }
56606  }
56607  }
56608  Py_DECREF(module);
56609  }
56610  _v = ok ? 1 : 0;
56611  }
56612  if (_v) {
56613  return _wrap_new_RoutingModel__SWIG_1(self, args);
56614  }
56615  }
56616  }
56617 
56618 fail:
56619  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_RoutingModel'.\n"
56620  " Possible C/C++ prototypes are:\n"
56621  " operations_research::RoutingModel::RoutingModel(operations_research::RoutingIndexManager const &)\n"
56622  " operations_research::RoutingModel::RoutingModel(operations_research::RoutingIndexManager const &,operations_research::RoutingModelParameters const &)\n");
56623  return 0;
56624 }
56625 
56626 
56627 SWIGINTERN PyObject *_wrap_delete_RoutingModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56628  PyObject *resultobj = 0;
56630  void *argp1 = 0 ;
56631  int res1 = 0 ;
56632  PyObject * obj0 = 0 ;
56633 
56634  if (!PyArg_UnpackTuple(args, "delete_RoutingModel", 1, 1, &obj0)) SWIG_fail;
56636  if (!SWIG_IsOK(res1)) {
56637  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RoutingModel" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56638  }
56639  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56640  {
56641  try {
56642  delete arg1;
56643  }
56644  catch (Swig::DirectorException &e) {
56645  SWIG_fail;
56646  }
56647  }
56648  resultobj = SWIG_Py_Void();
56649  return resultobj;
56650 fail:
56651  return NULL;
56652 }
56653 
56654 
56656  PyObject *resultobj = 0;
56658  std::vector< int64_t > arg2 ;
56659  void *argp1 = 0 ;
56660  int res1 = 0 ;
56661  std::vector< int64_t > temp2 ;
56662  PyObject * obj0 = 0 ;
56663  PyObject * obj1 = 0 ;
56664  int result;
56665 
56666  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterUnaryTransitVector", 2, 2, &obj0, &obj1)) SWIG_fail;
56668  if (!SWIG_IsOK(res1)) {
56669  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterUnaryTransitVector" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56670  }
56671  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56672  {
56673  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
56674  if (!PyErr_Occurred())
56675  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
56676  return NULL;
56677  }
56678  arg2 = std::move(temp2);
56679  }
56680  {
56681  try {
56682  result = (int)(arg1)->RegisterUnaryTransitVector(arg2);
56683  }
56684  catch (Swig::DirectorException &e) {
56685  SWIG_fail;
56686  }
56687  }
56688  resultobj = SWIG_From_int(static_cast< int >(result));
56689  return resultobj;
56690 fail:
56691  return NULL;
56692 }
56693 
56694 
56696  PyObject *resultobj = 0;
56699  void *argp1 = 0 ;
56700  int res1 = 0 ;
56701  PyObject * obj0 = 0 ;
56702  PyObject * obj1 = 0 ;
56703  int result;
56704 
56705  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterUnaryTransitCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
56707  if (!SWIG_IsOK(res1)) {
56708  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterUnaryTransitCallback" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56709  }
56710  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56711  {
56712  SharedPyPtr input(obj1);
56713  arg2 = [input](int64_t index) {
56714  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
56715  };
56716  }
56717  {
56718  try {
56719  result = (int)(arg1)->RegisterUnaryTransitCallback(arg2);
56720  }
56721  catch (Swig::DirectorException &e) {
56722  SWIG_fail;
56723  }
56724  }
56725  resultobj = SWIG_From_int(static_cast< int >(result));
56726  return resultobj;
56727 fail:
56728  return NULL;
56729 }
56730 
56731 
56733  PyObject *resultobj = 0;
56736  void *argp1 = 0 ;
56737  int res1 = 0 ;
56738  PyObject * obj0 = 0 ;
56739  PyObject * obj1 = 0 ;
56740  int result;
56741 
56742  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterPositiveUnaryTransitCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
56744  if (!SWIG_IsOK(res1)) {
56745  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterPositiveUnaryTransitCallback" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56746  }
56747  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56748  {
56749  SharedPyPtr input(obj1);
56750  arg2 = [input](int64_t index) {
56751  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
56752  };
56753  }
56754  {
56755  try {
56756  result = (int)(arg1)->RegisterPositiveUnaryTransitCallback(arg2);
56757  }
56758  catch (Swig::DirectorException &e) {
56759  SWIG_fail;
56760  }
56761  }
56762  resultobj = SWIG_From_int(static_cast< int >(result));
56763  return resultobj;
56764 fail:
56765  return NULL;
56766 }
56767 
56768 
56769 SWIGINTERN PyObject *_wrap_RoutingModel_RegisterTransitMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56770  PyObject *resultobj = 0;
56772  std::vector< std::vector< int64_t > > arg2 ;
56773  void *argp1 = 0 ;
56774  int res1 = 0 ;
56775  std::vector< std::vector< int64_t > > temp2 ;
56776  PyObject * obj0 = 0 ;
56777  PyObject * obj1 = 0 ;
56778  int result;
56779 
56780  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterTransitMatrix", 2, 2, &obj0, &obj1)) SWIG_fail;
56782  if (!SWIG_IsOK(res1)) {
56783  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterTransitMatrix" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56784  }
56785  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56786  {
56787  if (!PyList_Check(obj1)) {
56788  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
56789  SWIG_fail;
56790  }
56791  int len = PyList_Size(obj1);
56792  int arity = -1;
56793  if (len > 0) {
56794  temp2.resize(len);
56795  for (size_t i = 0; i < len; ++i) {
56796  PyObject *tuple = PyList_GetItem(obj1, i);
56797  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
56798  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
56799  SWIG_fail;
56800  }
56801  bool is_tuple = PyTuple_Check(tuple);
56802  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
56803  temp2[i].resize(arity);
56804  for (size_t j = 0; j < arity; ++j) {
56805  bool success = PyObjAs<int64_t>(
56806  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
56807  &temp2[i][j]);
56808  if (!success) {
56809  SWIG_fail;
56810  }
56811  }
56812  }
56813  }
56814  arg2 = std::move(temp2);
56815  }
56816  {
56817  try {
56818  result = (int)(arg1)->RegisterTransitMatrix(arg2);
56819  }
56820  catch (Swig::DirectorException &e) {
56821  SWIG_fail;
56822  }
56823  }
56824  resultobj = SWIG_From_int(static_cast< int >(result));
56825  return resultobj;
56826 fail:
56827  return NULL;
56828 }
56829 
56830 
56831 SWIGINTERN PyObject *_wrap_RoutingModel_RegisterTransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56832  PyObject *resultobj = 0;
56835  void *argp1 = 0 ;
56836  int res1 = 0 ;
56837  PyObject * obj0 = 0 ;
56838  PyObject * obj1 = 0 ;
56839  int result;
56840 
56841  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterTransitCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
56843  if (!SWIG_IsOK(res1)) {
56844  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterTransitCallback" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56845  }
56846  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56847  {
56848  SharedPyPtr input(obj1);
56849  arg2 = [input](int64_t i, int64_t j) {
56850  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
56851  };
56852  }
56853  {
56854  try {
56855  result = (int)(arg1)->RegisterTransitCallback(arg2);
56856  }
56857  catch (Swig::DirectorException &e) {
56858  SWIG_fail;
56859  }
56860  }
56861  resultobj = SWIG_From_int(static_cast< int >(result));
56862  return resultobj;
56863 fail:
56864  return NULL;
56865 }
56866 
56867 
56869  PyObject *resultobj = 0;
56872  void *argp1 = 0 ;
56873  int res1 = 0 ;
56874  PyObject * obj0 = 0 ;
56875  PyObject * obj1 = 0 ;
56876  int result;
56877 
56878  if (!PyArg_UnpackTuple(args, "RoutingModel_RegisterPositiveTransitCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
56880  if (!SWIG_IsOK(res1)) {
56881  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RegisterPositiveTransitCallback" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
56882  }
56883  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56884  {
56885  SharedPyPtr input(obj1);
56886  arg2 = [input](int64_t i, int64_t j) {
56887  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
56888  };
56889  }
56890  {
56891  try {
56892  result = (int)(arg1)->RegisterPositiveTransitCallback(arg2);
56893  }
56894  catch (Swig::DirectorException &e) {
56895  SWIG_fail;
56896  }
56897  }
56898  resultobj = SWIG_From_int(static_cast< int >(result));
56899  return resultobj;
56900 fail:
56901  return NULL;
56902 }
56903 
56904 
56905 SWIGINTERN PyObject *_wrap_RoutingModel_TransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56906  PyObject *resultobj = 0;
56908  int arg2 ;
56909  void *argp1 = 0 ;
56910  int res1 = 0 ;
56911  int val2 ;
56912  int ecode2 = 0 ;
56913  PyObject * obj0 = 0 ;
56914  PyObject * obj1 = 0 ;
56916 
56917  if (!PyArg_UnpackTuple(args, "RoutingModel_TransitCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
56919  if (!SWIG_IsOK(res1)) {
56920  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_TransitCallback" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
56921  }
56922  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56923  ecode2 = SWIG_AsVal_int(obj1, &val2);
56924  if (!SWIG_IsOK(ecode2)) {
56925  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_TransitCallback" "', argument " "2"" of type '" "int""'");
56926  }
56927  arg2 = static_cast< int >(val2);
56928  {
56929  try {
56930  result = (operations_research::RoutingModel::TransitCallback2 *) &((operations_research::RoutingModel const *)arg1)->TransitCallback(arg2);
56931  }
56932  catch (Swig::DirectorException &e) {
56933  SWIG_fail;
56934  }
56935  }
56937  return resultobj;
56938 fail:
56939  return NULL;
56940 }
56941 
56942 
56944  PyObject *resultobj = 0;
56946  int arg2 ;
56947  void *argp1 = 0 ;
56948  int res1 = 0 ;
56949  int val2 ;
56950  int ecode2 = 0 ;
56951  PyObject * obj0 = 0 ;
56952  PyObject * obj1 = 0 ;
56954 
56955  if (!PyArg_UnpackTuple(args, "RoutingModel_UnaryTransitCallbackOrNull", 2, 2, &obj0, &obj1)) SWIG_fail;
56957  if (!SWIG_IsOK(res1)) {
56958  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_UnaryTransitCallbackOrNull" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
56959  }
56960  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
56961  ecode2 = SWIG_AsVal_int(obj1, &val2);
56962  if (!SWIG_IsOK(ecode2)) {
56963  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_UnaryTransitCallbackOrNull" "', argument " "2"" of type '" "int""'");
56964  }
56965  arg2 = static_cast< int >(val2);
56966  {
56967  try {
56968  result = (operations_research::RoutingModel::TransitCallback1 *) &((operations_research::RoutingModel const *)arg1)->UnaryTransitCallbackOrNull(arg2);
56969  }
56970  catch (Swig::DirectorException &e) {
56971  SWIG_fail;
56972  }
56973  }
56975  return resultobj;
56976 fail:
56977  return NULL;
56978 }
56979 
56980 
56981 SWIGINTERN PyObject *_wrap_RoutingModel_AddDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
56982  PyObject *resultobj = 0;
56984  int arg2 ;
56985  int64_t arg3 ;
56986  int64_t arg4 ;
56987  bool arg5 ;
56988  std::string *arg6 = 0 ;
56989  void *argp1 = 0 ;
56990  int res1 = 0 ;
56991  int val2 ;
56992  int ecode2 = 0 ;
56993  long val3 ;
56994  int ecode3 = 0 ;
56995  long val4 ;
56996  int ecode4 = 0 ;
56997  bool val5 ;
56998  int ecode5 = 0 ;
56999  int res6 = SWIG_OLDOBJ ;
57000  PyObject * obj0 = 0 ;
57001  PyObject * obj1 = 0 ;
57002  PyObject * obj2 = 0 ;
57003  PyObject * obj3 = 0 ;
57004  PyObject * obj4 = 0 ;
57005  PyObject * obj5 = 0 ;
57006  bool result;
57007 
57008  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDimension", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
57010  if (!SWIG_IsOK(res1)) {
57011  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDimension" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57012  }
57013  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57014  ecode2 = SWIG_AsVal_int(obj1, &val2);
57015  if (!SWIG_IsOK(ecode2)) {
57016  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddDimension" "', argument " "2"" of type '" "int""'");
57017  }
57018  arg2 = static_cast< int >(val2);
57019  ecode3 = SWIG_AsVal_long(obj2, &val3);
57020  if (!SWIG_IsOK(ecode3)) {
57021  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDimension" "', argument " "3"" of type '" "int64_t""'");
57022  }
57023  arg3 = static_cast< int64_t >(val3);
57024  ecode4 = SWIG_AsVal_long(obj3, &val4);
57025  if (!SWIG_IsOK(ecode4)) {
57026  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddDimension" "', argument " "4"" of type '" "int64_t""'");
57027  }
57028  arg4 = static_cast< int64_t >(val4);
57029  ecode5 = SWIG_AsVal_bool(obj4, &val5);
57030  if (!SWIG_IsOK(ecode5)) {
57031  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "RoutingModel_AddDimension" "', argument " "5"" of type '" "bool""'");
57032  }
57033  arg5 = static_cast< bool >(val5);
57034  {
57035  std::string *ptr = (std::string *)0;
57036  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
57037  if (!SWIG_IsOK(res6)) {
57038  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "RoutingModel_AddDimension" "', argument " "6"" of type '" "std::string const &""'");
57039  }
57040  if (!ptr) {
57041  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddDimension" "', argument " "6"" of type '" "std::string const &""'");
57042  }
57043  arg6 = ptr;
57044  }
57045  {
57046  try {
57047  result = (bool)(arg1)->AddDimension(arg2,arg3,arg4,arg5,(std::string const &)*arg6);
57048  }
57049  catch (Swig::DirectorException &e) {
57050  SWIG_fail;
57051  }
57052  }
57053  resultobj = SWIG_From_bool(static_cast< bool >(result));
57054  if (SWIG_IsNewObj(res6)) delete arg6;
57055  return resultobj;
57056 fail:
57057  if (SWIG_IsNewObj(res6)) delete arg6;
57058  return NULL;
57059 }
57060 
57061 
57063  PyObject *resultobj = 0;
57065  std::vector< int > *arg2 = 0 ;
57066  int64_t arg3 ;
57067  int64_t arg4 ;
57068  bool arg5 ;
57069  std::string *arg6 = 0 ;
57070  void *argp1 = 0 ;
57071  int res1 = 0 ;
57072  std::vector< int > temp2 ;
57073  long val3 ;
57074  int ecode3 = 0 ;
57075  long val4 ;
57076  int ecode4 = 0 ;
57077  bool val5 ;
57078  int ecode5 = 0 ;
57079  int res6 = SWIG_OLDOBJ ;
57080  PyObject * obj0 = 0 ;
57081  PyObject * obj1 = 0 ;
57082  PyObject * obj2 = 0 ;
57083  PyObject * obj3 = 0 ;
57084  PyObject * obj4 = 0 ;
57085  PyObject * obj5 = 0 ;
57086  bool result;
57087 
57088  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDimensionWithVehicleTransits", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
57090  if (!SWIG_IsOK(res1)) {
57091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57092  }
57093  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57094  {
57095  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
57096  if (!PyErr_Occurred())
57097  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
57098  return NULL;
57099  }
57100  arg2 = &temp2;
57101  }
57102  ecode3 = SWIG_AsVal_long(obj2, &val3);
57103  if (!SWIG_IsOK(ecode3)) {
57104  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "3"" of type '" "int64_t""'");
57105  }
57106  arg3 = static_cast< int64_t >(val3);
57107  ecode4 = SWIG_AsVal_long(obj3, &val4);
57108  if (!SWIG_IsOK(ecode4)) {
57109  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "4"" of type '" "int64_t""'");
57110  }
57111  arg4 = static_cast< int64_t >(val4);
57112  ecode5 = SWIG_AsVal_bool(obj4, &val5);
57113  if (!SWIG_IsOK(ecode5)) {
57114  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "5"" of type '" "bool""'");
57115  }
57116  arg5 = static_cast< bool >(val5);
57117  {
57118  std::string *ptr = (std::string *)0;
57119  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
57120  if (!SWIG_IsOK(res6)) {
57121  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "6"" of type '" "std::string const &""'");
57122  }
57123  if (!ptr) {
57124  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddDimensionWithVehicleTransits" "', argument " "6"" of type '" "std::string const &""'");
57125  }
57126  arg6 = ptr;
57127  }
57128  {
57129  try {
57130  result = (bool)(arg1)->AddDimensionWithVehicleTransits((std::vector< int > const &)*arg2,arg3,arg4,arg5,(std::string const &)*arg6);
57131  }
57132  catch (Swig::DirectorException &e) {
57133  SWIG_fail;
57134  }
57135  }
57136  resultobj = SWIG_From_bool(static_cast< bool >(result));
57137  if (SWIG_IsNewObj(res6)) delete arg6;
57138  return resultobj;
57139 fail:
57140  if (SWIG_IsNewObj(res6)) delete arg6;
57141  return NULL;
57142 }
57143 
57144 
57146  PyObject *resultobj = 0;
57148  int arg2 ;
57149  int64_t arg3 ;
57150  std::vector< int64_t > arg4 ;
57151  bool arg5 ;
57152  std::string *arg6 = 0 ;
57153  void *argp1 = 0 ;
57154  int res1 = 0 ;
57155  int val2 ;
57156  int ecode2 = 0 ;
57157  long val3 ;
57158  int ecode3 = 0 ;
57159  std::vector< int64_t > temp4 ;
57160  bool val5 ;
57161  int ecode5 = 0 ;
57162  int res6 = SWIG_OLDOBJ ;
57163  PyObject * obj0 = 0 ;
57164  PyObject * obj1 = 0 ;
57165  PyObject * obj2 = 0 ;
57166  PyObject * obj3 = 0 ;
57167  PyObject * obj4 = 0 ;
57168  PyObject * obj5 = 0 ;
57169  bool result;
57170 
57171  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDimensionWithVehicleCapacity", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
57173  if (!SWIG_IsOK(res1)) {
57174  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57175  }
57176  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57177  ecode2 = SWIG_AsVal_int(obj1, &val2);
57178  if (!SWIG_IsOK(ecode2)) {
57179  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "2"" of type '" "int""'");
57180  }
57181  arg2 = static_cast< int >(val2);
57182  ecode3 = SWIG_AsVal_long(obj2, &val3);
57183  if (!SWIG_IsOK(ecode3)) {
57184  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "3"" of type '" "int64_t""'");
57185  }
57186  arg3 = static_cast< int64_t >(val3);
57187  {
57188  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
57189  if (!PyErr_Occurred())
57190  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
57191  return NULL;
57192  }
57193  arg4 = std::move(temp4);
57194  }
57195  ecode5 = SWIG_AsVal_bool(obj4, &val5);
57196  if (!SWIG_IsOK(ecode5)) {
57197  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "5"" of type '" "bool""'");
57198  }
57199  arg5 = static_cast< bool >(val5);
57200  {
57201  std::string *ptr = (std::string *)0;
57202  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
57203  if (!SWIG_IsOK(res6)) {
57204  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "6"" of type '" "std::string const &""'");
57205  }
57206  if (!ptr) {
57207  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddDimensionWithVehicleCapacity" "', argument " "6"" of type '" "std::string const &""'");
57208  }
57209  arg6 = ptr;
57210  }
57211  {
57212  try {
57213  result = (bool)(arg1)->AddDimensionWithVehicleCapacity(arg2,arg3,arg4,arg5,(std::string const &)*arg6);
57214  }
57215  catch (Swig::DirectorException &e) {
57216  SWIG_fail;
57217  }
57218  }
57219  resultobj = SWIG_From_bool(static_cast< bool >(result));
57220  if (SWIG_IsNewObj(res6)) delete arg6;
57221  return resultobj;
57222 fail:
57223  if (SWIG_IsNewObj(res6)) delete arg6;
57224  return NULL;
57225 }
57226 
57227 
57229  PyObject *resultobj = 0;
57231  std::vector< int > *arg2 = 0 ;
57232  int64_t arg3 ;
57233  std::vector< int64_t > arg4 ;
57234  bool arg5 ;
57235  std::string *arg6 = 0 ;
57236  void *argp1 = 0 ;
57237  int res1 = 0 ;
57238  std::vector< int > temp2 ;
57239  long val3 ;
57240  int ecode3 = 0 ;
57241  std::vector< int64_t > temp4 ;
57242  bool val5 ;
57243  int ecode5 = 0 ;
57244  int res6 = SWIG_OLDOBJ ;
57245  PyObject * obj0 = 0 ;
57246  PyObject * obj1 = 0 ;
57247  PyObject * obj2 = 0 ;
57248  PyObject * obj3 = 0 ;
57249  PyObject * obj4 = 0 ;
57250  PyObject * obj5 = 0 ;
57251  bool result;
57252 
57253  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDimensionWithVehicleTransitAndCapacity", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
57255  if (!SWIG_IsOK(res1)) {
57256  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDimensionWithVehicleTransitAndCapacity" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57257  }
57258  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57259  {
57260  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
57261  if (!PyErr_Occurred())
57262  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
57263  return NULL;
57264  }
57265  arg2 = &temp2;
57266  }
57267  ecode3 = SWIG_AsVal_long(obj2, &val3);
57268  if (!SWIG_IsOK(ecode3)) {
57269  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDimensionWithVehicleTransitAndCapacity" "', argument " "3"" of type '" "int64_t""'");
57270  }
57271  arg3 = static_cast< int64_t >(val3);
57272  {
57273  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
57274  if (!PyErr_Occurred())
57275  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
57276  return NULL;
57277  }
57278  arg4 = std::move(temp4);
57279  }
57280  ecode5 = SWIG_AsVal_bool(obj4, &val5);
57281  if (!SWIG_IsOK(ecode5)) {
57282  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "RoutingModel_AddDimensionWithVehicleTransitAndCapacity" "', argument " "5"" of type '" "bool""'");
57283  }
57284  arg5 = static_cast< bool >(val5);
57285  {
57286  std::string *ptr = (std::string *)0;
57287  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
57288  if (!SWIG_IsOK(res6)) {
57289  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "RoutingModel_AddDimensionWithVehicleTransitAndCapacity" "', argument " "6"" of type '" "std::string const &""'");
57290  }
57291  if (!ptr) {
57292  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddDimensionWithVehicleTransitAndCapacity" "', argument " "6"" of type '" "std::string const &""'");
57293  }
57294  arg6 = ptr;
57295  }
57296  {
57297  try {
57298  result = (bool)(arg1)->AddDimensionWithVehicleTransitAndCapacity((std::vector< int > const &)*arg2,arg3,arg4,arg5,(std::string const &)*arg6);
57299  }
57300  catch (Swig::DirectorException &e) {
57301  SWIG_fail;
57302  }
57303  }
57304  resultobj = SWIG_From_bool(static_cast< bool >(result));
57305  if (SWIG_IsNewObj(res6)) delete arg6;
57306  return resultobj;
57307 fail:
57308  if (SWIG_IsNewObj(res6)) delete arg6;
57309  return NULL;
57310 }
57311 
57312 
57314  PyObject *resultobj = 0;
57316  int64_t arg2 ;
57317  int64_t arg3 ;
57318  int64_t arg4 ;
57319  bool arg5 ;
57320  std::string *arg6 = 0 ;
57321  void *argp1 = 0 ;
57322  int res1 = 0 ;
57323  long val2 ;
57324  int ecode2 = 0 ;
57325  long val3 ;
57326  int ecode3 = 0 ;
57327  long val4 ;
57328  int ecode4 = 0 ;
57329  bool val5 ;
57330  int ecode5 = 0 ;
57331  int res6 = SWIG_OLDOBJ ;
57332  PyObject * obj0 = 0 ;
57333  PyObject * obj1 = 0 ;
57334  PyObject * obj2 = 0 ;
57335  PyObject * obj3 = 0 ;
57336  PyObject * obj4 = 0 ;
57337  PyObject * obj5 = 0 ;
57338  std::pair< int,bool > result;
57339 
57340  if (!PyArg_UnpackTuple(args, "RoutingModel_AddConstantDimensionWithSlack", 6, 6, &obj0, &obj1, &obj2, &obj3, &obj4, &obj5)) SWIG_fail;
57342  if (!SWIG_IsOK(res1)) {
57343  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57344  }
57345  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57346  ecode2 = SWIG_AsVal_long(obj1, &val2);
57347  if (!SWIG_IsOK(ecode2)) {
57348  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "2"" of type '" "int64_t""'");
57349  }
57350  arg2 = static_cast< int64_t >(val2);
57351  ecode3 = SWIG_AsVal_long(obj2, &val3);
57352  if (!SWIG_IsOK(ecode3)) {
57353  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "3"" of type '" "int64_t""'");
57354  }
57355  arg3 = static_cast< int64_t >(val3);
57356  ecode4 = SWIG_AsVal_long(obj3, &val4);
57357  if (!SWIG_IsOK(ecode4)) {
57358  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "4"" of type '" "int64_t""'");
57359  }
57360  arg4 = static_cast< int64_t >(val4);
57361  ecode5 = SWIG_AsVal_bool(obj4, &val5);
57362  if (!SWIG_IsOK(ecode5)) {
57363  SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "5"" of type '" "bool""'");
57364  }
57365  arg5 = static_cast< bool >(val5);
57366  {
57367  std::string *ptr = (std::string *)0;
57368  res6 = SWIG_AsPtr_std_string(obj5, &ptr);
57369  if (!SWIG_IsOK(res6)) {
57370  SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "6"" of type '" "std::string const &""'");
57371  }
57372  if (!ptr) {
57373  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddConstantDimensionWithSlack" "', argument " "6"" of type '" "std::string const &""'");
57374  }
57375  arg6 = ptr;
57376  }
57377  {
57378  try {
57379  result = (arg1)->AddConstantDimensionWithSlack(arg2,arg3,arg4,arg5,(std::string const &)*arg6);
57380  }
57381  catch (Swig::DirectorException &e) {
57382  SWIG_fail;
57383  }
57384  }
57385  {
57386  resultobj = Py_BuildValue("(ib)", (&result)->first, (&result)->second);
57387  }
57388  if (SWIG_IsNewObj(res6)) delete arg6;
57389  return resultobj;
57390 fail:
57391  if (SWIG_IsNewObj(res6)) delete arg6;
57392  return NULL;
57393 }
57394 
57395 
57396 SWIGINTERN PyObject *_wrap_RoutingModel_AddConstantDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
57397  PyObject *resultobj = 0;
57399  int64_t arg2 ;
57400  int64_t arg3 ;
57401  bool arg4 ;
57402  std::string *arg5 = 0 ;
57403  void *argp1 = 0 ;
57404  int res1 = 0 ;
57405  long val2 ;
57406  int ecode2 = 0 ;
57407  long val3 ;
57408  int ecode3 = 0 ;
57409  bool val4 ;
57410  int ecode4 = 0 ;
57411  int res5 = SWIG_OLDOBJ ;
57412  PyObject * obj0 = 0 ;
57413  PyObject * obj1 = 0 ;
57414  PyObject * obj2 = 0 ;
57415  PyObject * obj3 = 0 ;
57416  PyObject * obj4 = 0 ;
57417  std::pair< int,bool > result;
57418 
57419  if (!PyArg_UnpackTuple(args, "RoutingModel_AddConstantDimension", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
57421  if (!SWIG_IsOK(res1)) {
57422  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddConstantDimension" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57423  }
57424  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57425  ecode2 = SWIG_AsVal_long(obj1, &val2);
57426  if (!SWIG_IsOK(ecode2)) {
57427  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddConstantDimension" "', argument " "2"" of type '" "int64_t""'");
57428  }
57429  arg2 = static_cast< int64_t >(val2);
57430  ecode3 = SWIG_AsVal_long(obj2, &val3);
57431  if (!SWIG_IsOK(ecode3)) {
57432  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddConstantDimension" "', argument " "3"" of type '" "int64_t""'");
57433  }
57434  arg3 = static_cast< int64_t >(val3);
57435  ecode4 = SWIG_AsVal_bool(obj3, &val4);
57436  if (!SWIG_IsOK(ecode4)) {
57437  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddConstantDimension" "', argument " "4"" of type '" "bool""'");
57438  }
57439  arg4 = static_cast< bool >(val4);
57440  {
57441  std::string *ptr = (std::string *)0;
57442  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
57443  if (!SWIG_IsOK(res5)) {
57444  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "RoutingModel_AddConstantDimension" "', argument " "5"" of type '" "std::string const &""'");
57445  }
57446  if (!ptr) {
57447  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddConstantDimension" "', argument " "5"" of type '" "std::string const &""'");
57448  }
57449  arg5 = ptr;
57450  }
57451  {
57452  try {
57453  result = (arg1)->AddConstantDimension(arg2,arg3,arg4,(std::string const &)*arg5);
57454  }
57455  catch (Swig::DirectorException &e) {
57456  SWIG_fail;
57457  }
57458  }
57459  {
57460  resultobj = Py_BuildValue("(ib)", (&result)->first, (&result)->second);
57461  }
57462  if (SWIG_IsNewObj(res5)) delete arg5;
57463  return resultobj;
57464 fail:
57465  if (SWIG_IsNewObj(res5)) delete arg5;
57466  return NULL;
57467 }
57468 
57469 
57470 SWIGINTERN PyObject *_wrap_RoutingModel_AddVectorDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
57471  PyObject *resultobj = 0;
57473  std::vector< int64_t > arg2 ;
57474  int64_t arg3 ;
57475  bool arg4 ;
57476  std::string *arg5 = 0 ;
57477  void *argp1 = 0 ;
57478  int res1 = 0 ;
57479  std::vector< int64_t > temp2 ;
57480  long val3 ;
57481  int ecode3 = 0 ;
57482  bool val4 ;
57483  int ecode4 = 0 ;
57484  int res5 = SWIG_OLDOBJ ;
57485  PyObject * obj0 = 0 ;
57486  PyObject * obj1 = 0 ;
57487  PyObject * obj2 = 0 ;
57488  PyObject * obj3 = 0 ;
57489  PyObject * obj4 = 0 ;
57490  std::pair< int,bool > result;
57491 
57492  if (!PyArg_UnpackTuple(args, "RoutingModel_AddVectorDimension", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
57494  if (!SWIG_IsOK(res1)) {
57495  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddVectorDimension" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57496  }
57497  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57498  {
57499  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
57500  if (!PyErr_Occurred())
57501  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
57502  return NULL;
57503  }
57504  arg2 = std::move(temp2);
57505  }
57506  ecode3 = SWIG_AsVal_long(obj2, &val3);
57507  if (!SWIG_IsOK(ecode3)) {
57508  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddVectorDimension" "', argument " "3"" of type '" "int64_t""'");
57509  }
57510  arg3 = static_cast< int64_t >(val3);
57511  ecode4 = SWIG_AsVal_bool(obj3, &val4);
57512  if (!SWIG_IsOK(ecode4)) {
57513  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddVectorDimension" "', argument " "4"" of type '" "bool""'");
57514  }
57515  arg4 = static_cast< bool >(val4);
57516  {
57517  std::string *ptr = (std::string *)0;
57518  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
57519  if (!SWIG_IsOK(res5)) {
57520  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "RoutingModel_AddVectorDimension" "', argument " "5"" of type '" "std::string const &""'");
57521  }
57522  if (!ptr) {
57523  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddVectorDimension" "', argument " "5"" of type '" "std::string const &""'");
57524  }
57525  arg5 = ptr;
57526  }
57527  {
57528  try {
57529  result = (arg1)->AddVectorDimension(arg2,arg3,arg4,(std::string const &)*arg5);
57530  }
57531  catch (Swig::DirectorException &e) {
57532  SWIG_fail;
57533  }
57534  }
57535  {
57536  resultobj = Py_BuildValue("(ib)", (&result)->first, (&result)->second);
57537  }
57538  if (SWIG_IsNewObj(res5)) delete arg5;
57539  return resultobj;
57540 fail:
57541  if (SWIG_IsNewObj(res5)) delete arg5;
57542  return NULL;
57543 }
57544 
57545 
57546 SWIGINTERN PyObject *_wrap_RoutingModel_AddMatrixDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
57547  PyObject *resultobj = 0;
57549  std::vector< std::vector< int64_t > > arg2 ;
57550  int64_t arg3 ;
57551  bool arg4 ;
57552  std::string *arg5 = 0 ;
57553  void *argp1 = 0 ;
57554  int res1 = 0 ;
57555  std::vector< std::vector< int64_t > > temp2 ;
57556  long val3 ;
57557  int ecode3 = 0 ;
57558  bool val4 ;
57559  int ecode4 = 0 ;
57560  int res5 = SWIG_OLDOBJ ;
57561  PyObject * obj0 = 0 ;
57562  PyObject * obj1 = 0 ;
57563  PyObject * obj2 = 0 ;
57564  PyObject * obj3 = 0 ;
57565  PyObject * obj4 = 0 ;
57566  std::pair< int,bool > result;
57567 
57568  if (!PyArg_UnpackTuple(args, "RoutingModel_AddMatrixDimension", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
57570  if (!SWIG_IsOK(res1)) {
57571  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddMatrixDimension" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57572  }
57573  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57574  {
57575  if (!PyList_Check(obj1)) {
57576  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
57577  SWIG_fail;
57578  }
57579  int len = PyList_Size(obj1);
57580  int arity = -1;
57581  if (len > 0) {
57582  temp2.resize(len);
57583  for (size_t i = 0; i < len; ++i) {
57584  PyObject *tuple = PyList_GetItem(obj1, i);
57585  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
57586  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
57587  SWIG_fail;
57588  }
57589  bool is_tuple = PyTuple_Check(tuple);
57590  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
57591  temp2[i].resize(arity);
57592  for (size_t j = 0; j < arity; ++j) {
57593  bool success = PyObjAs<int64_t>(
57594  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
57595  &temp2[i][j]);
57596  if (!success) {
57597  SWIG_fail;
57598  }
57599  }
57600  }
57601  }
57602  arg2 = std::move(temp2);
57603  }
57604  ecode3 = SWIG_AsVal_long(obj2, &val3);
57605  if (!SWIG_IsOK(ecode3)) {
57606  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddMatrixDimension" "', argument " "3"" of type '" "int64_t""'");
57607  }
57608  arg3 = static_cast< int64_t >(val3);
57609  ecode4 = SWIG_AsVal_bool(obj3, &val4);
57610  if (!SWIG_IsOK(ecode4)) {
57611  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddMatrixDimension" "', argument " "4"" of type '" "bool""'");
57612  }
57613  arg4 = static_cast< bool >(val4);
57614  {
57615  std::string *ptr = (std::string *)0;
57616  res5 = SWIG_AsPtr_std_string(obj4, &ptr);
57617  if (!SWIG_IsOK(res5)) {
57618  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "RoutingModel_AddMatrixDimension" "', argument " "5"" of type '" "std::string const &""'");
57619  }
57620  if (!ptr) {
57621  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddMatrixDimension" "', argument " "5"" of type '" "std::string const &""'");
57622  }
57623  arg5 = ptr;
57624  }
57625  {
57626  try {
57627  result = (arg1)->AddMatrixDimension(arg2,arg3,arg4,(std::string const &)*arg5);
57628  }
57629  catch (Swig::DirectorException &e) {
57630  SWIG_fail;
57631  }
57632  }
57633  {
57634  resultobj = Py_BuildValue("(ib)", (&result)->first, (&result)->second);
57635  }
57636  if (SWIG_IsNewObj(res5)) delete arg5;
57637  return resultobj;
57638 fail:
57639  if (SWIG_IsNewObj(res5)) delete arg5;
57640  return NULL;
57641 }
57642 
57643 
57645  PyObject *resultobj = 0;
57648  SwigValueWrapper< std::vector< operations_research::IntVar * > > arg3 ;
57649  SwigValueWrapper< std::vector< operations_research::IntVar * > > arg4 ;
57650  void *argp1 = 0 ;
57651  int res1 = 0 ;
57652  void *argp2 = 0 ;
57653  int res2 = 0 ;
57654  std::vector< operations_research::IntVar * > temp3 ;
57655  std::vector< operations_research::IntVar * > temp4 ;
57656  PyObject * obj0 = 0 ;
57657  PyObject * obj1 = 0 ;
57658  PyObject * obj2 = 0 ;
57659  PyObject * obj3 = 0 ;
57660  Swig::Director *director = 0;
57661  operations_research::Constraint *result = 0 ;
57662 
57663  if (!PyArg_UnpackTuple(args, "RoutingModel_MakePathSpansAndTotalSlacks", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
57665  if (!SWIG_IsOK(res1)) {
57666  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_MakePathSpansAndTotalSlacks" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
57667  }
57668  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57670  if (!SWIG_IsOK(res2)) {
57671  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_MakePathSpansAndTotalSlacks" "', argument " "2"" of type '" "operations_research::RoutingDimension const *""'");
57672  }
57673  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
57674  {
57675  if (!vector_input_helper(obj2, &temp3, PyObjAs<operations_research::IntVar*>)) {
57676  if (!PyErr_Occurred())
57677  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
57678  return NULL;
57679  }
57680  arg3 = std::move(temp3);
57681  }
57682  {
57683  if (!vector_input_helper(obj3, &temp4, PyObjAs<operations_research::IntVar*>)) {
57684  if (!PyErr_Occurred())
57685  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
57686  return NULL;
57687  }
57688  arg4 = std::move(temp4);
57689  }
57690  {
57691  try {
57692  result = (operations_research::Constraint *)(arg1)->MakePathSpansAndTotalSlacks((operations_research::RoutingDimension const *)arg2,arg3,arg4);
57693  }
57694  catch (Swig::DirectorException &e) {
57695  SWIG_fail;
57696  }
57697  }
57698  director = SWIG_DIRECTOR_CAST(result);
57699  if (director) {
57700  resultobj = director->swig_get_self();
57701  Py_INCREF(resultobj);
57702  } else {
57704  }
57705  return resultobj;
57706 fail:
57707  return NULL;
57708 }
57709 
57710 
57711 SWIGINTERN PyObject *_wrap_RoutingModel_GetAllDimensionNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
57712  PyObject *resultobj = 0;
57714  void *argp1 = 0 ;
57715  int res1 = 0 ;
57716  PyObject * obj0 = 0 ;
57717  SwigValueWrapper< std::vector< std::string > > result;
57718 
57719  if (!PyArg_UnpackTuple(args, "RoutingModel_GetAllDimensionNames", 1, 1, &obj0)) SWIG_fail;
57721  if (!SWIG_IsOK(res1)) {
57722  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetAllDimensionNames" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57723  }
57724  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57725  {
57726  try {
57727  result = ((operations_research::RoutingModel const *)arg1)->GetAllDimensionNames();
57728  }
57729  catch (Swig::DirectorException &e) {
57730  SWIG_fail;
57731  }
57732  }
57733  {
57734  resultobj = vector_output_helper(&result, &SwigString_FromString);
57735  }
57736  return resultobj;
57737 fail:
57738  return NULL;
57739 }
57740 
57741 
57742 SWIGINTERN PyObject *_wrap_RoutingModel_GetDimensions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
57743  PyObject *resultobj = 0;
57745  void *argp1 = 0 ;
57746  int res1 = 0 ;
57747  PyObject * obj0 = 0 ;
57748  std::vector< operations_research::RoutingDimension * > *result = 0 ;
57749 
57750  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDimensions", 1, 1, &obj0)) SWIG_fail;
57752  if (!SWIG_IsOK(res1)) {
57753  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDimensions" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57754  }
57755  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57756  {
57757  try {
57758  result = (std::vector< operations_research::RoutingDimension * > *) &((operations_research::RoutingModel const *)arg1)->GetDimensions();
57759  }
57760  catch (Swig::DirectorException &e) {
57761  SWIG_fail;
57762  }
57763  }
57765  return resultobj;
57766 fail:
57767  return NULL;
57768 }
57769 
57770 
57772  PyObject *resultobj = 0;
57774  void *argp1 = 0 ;
57775  int res1 = 0 ;
57776  PyObject * obj0 = 0 ;
57777  SwigValueWrapper< std::vector< operations_research::RoutingDimension * > > result;
57778 
57779  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDimensionsWithSoftOrSpanCosts", 1, 1, &obj0)) SWIG_fail;
57781  if (!SWIG_IsOK(res1)) {
57782  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDimensionsWithSoftOrSpanCosts" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57783  }
57784  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57785  {
57786  try {
57787  result = ((operations_research::RoutingModel const *)arg1)->GetDimensionsWithSoftOrSpanCosts();
57788  }
57789  catch (Swig::DirectorException &e) {
57790  SWIG_fail;
57791  }
57792  }
57793  resultobj = SWIG_NewPointerObj((new std::vector< operations_research::RoutingDimension * >(static_cast< const std::vector< operations_research::RoutingDimension * >& >(result))), SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t, SWIG_POINTER_OWN | 0 );
57794  return resultobj;
57795 fail:
57796  return NULL;
57797 }
57798 
57799 
57801  PyObject *resultobj = 0;
57803  void *argp1 = 0 ;
57804  int res1 = 0 ;
57805  PyObject * obj0 = 0 ;
57806  std::vector< std::unique_ptr< operations_research::GlobalDimensionCumulOptimizer > > *result = 0 ;
57807 
57808  if (!PyArg_UnpackTuple(args, "RoutingModel_GetGlobalDimensionCumulOptimizers", 1, 1, &obj0)) SWIG_fail;
57810  if (!SWIG_IsOK(res1)) {
57811  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetGlobalDimensionCumulOptimizers" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57812  }
57813  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57814  {
57815  try {
57816  result = (std::vector< std::unique_ptr< operations_research::GlobalDimensionCumulOptimizer > > *) &((operations_research::RoutingModel const *)arg1)->GetGlobalDimensionCumulOptimizers();
57817  }
57818  catch (Swig::DirectorException &e) {
57819  SWIG_fail;
57820  }
57821  }
57823  return resultobj;
57824 fail:
57825  return NULL;
57826 }
57827 
57828 
57830  PyObject *resultobj = 0;
57832  void *argp1 = 0 ;
57833  int res1 = 0 ;
57834  PyObject * obj0 = 0 ;
57835  std::vector< std::unique_ptr< operations_research::GlobalDimensionCumulOptimizer > > *result = 0 ;
57836 
57837  if (!PyArg_UnpackTuple(args, "RoutingModel_GetGlobalDimensionCumulMPOptimizers", 1, 1, &obj0)) SWIG_fail;
57839  if (!SWIG_IsOK(res1)) {
57840  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetGlobalDimensionCumulMPOptimizers" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57841  }
57842  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57843  {
57844  try {
57845  result = (std::vector< std::unique_ptr< operations_research::GlobalDimensionCumulOptimizer > > *) &((operations_research::RoutingModel const *)arg1)->GetGlobalDimensionCumulMPOptimizers();
57846  }
57847  catch (Swig::DirectorException &e) {
57848  SWIG_fail;
57849  }
57850  }
57852  return resultobj;
57853 fail:
57854  return NULL;
57855 }
57856 
57857 
57859  PyObject *resultobj = 0;
57861  void *argp1 = 0 ;
57862  int res1 = 0 ;
57863  PyObject * obj0 = 0 ;
57864  std::vector< std::unique_ptr< operations_research::LocalDimensionCumulOptimizer > > *result = 0 ;
57865 
57866  if (!PyArg_UnpackTuple(args, "RoutingModel_GetLocalDimensionCumulOptimizers", 1, 1, &obj0)) SWIG_fail;
57868  if (!SWIG_IsOK(res1)) {
57869  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetLocalDimensionCumulOptimizers" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57870  }
57871  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57872  {
57873  try {
57874  result = (std::vector< std::unique_ptr< operations_research::LocalDimensionCumulOptimizer > > *) &((operations_research::RoutingModel const *)arg1)->GetLocalDimensionCumulOptimizers();
57875  }
57876  catch (Swig::DirectorException &e) {
57877  SWIG_fail;
57878  }
57879  }
57881  return resultobj;
57882 fail:
57883  return NULL;
57884 }
57885 
57886 
57888  PyObject *resultobj = 0;
57890  void *argp1 = 0 ;
57891  int res1 = 0 ;
57892  PyObject * obj0 = 0 ;
57893  std::vector< std::unique_ptr< operations_research::LocalDimensionCumulOptimizer > > *result = 0 ;
57894 
57895  if (!PyArg_UnpackTuple(args, "RoutingModel_GetLocalDimensionCumulMPOptimizers", 1, 1, &obj0)) SWIG_fail;
57897  if (!SWIG_IsOK(res1)) {
57898  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetLocalDimensionCumulMPOptimizers" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57899  }
57900  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57901  {
57902  try {
57903  result = (std::vector< std::unique_ptr< operations_research::LocalDimensionCumulOptimizer > > *) &((operations_research::RoutingModel const *)arg1)->GetLocalDimensionCumulMPOptimizers();
57904  }
57905  catch (Swig::DirectorException &e) {
57906  SWIG_fail;
57907  }
57908  }
57910  return resultobj;
57911 fail:
57912  return NULL;
57913 }
57914 
57915 
57917  PyObject *resultobj = 0;
57920  void *argp1 = 0 ;
57921  int res1 = 0 ;
57922  void *argp2 = 0 ;
57923  int res2 = 0 ;
57924  PyObject * obj0 = 0 ;
57925  PyObject * obj1 = 0 ;
57927 
57928  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMutableGlobalCumulOptimizer", 2, 2, &obj0, &obj1)) SWIG_fail;
57930  if (!SWIG_IsOK(res1)) {
57931  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMutableGlobalCumulOptimizer" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57932  }
57933  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57935  if (!SWIG_IsOK(res2)) {
57936  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetMutableGlobalCumulOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
57937  }
57938  if (!argp2) {
57939  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetMutableGlobalCumulOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
57940  }
57941  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
57942  {
57943  try {
57944  result = (operations_research::GlobalDimensionCumulOptimizer *)((operations_research::RoutingModel const *)arg1)->GetMutableGlobalCumulOptimizer((operations_research::RoutingDimension const &)*arg2);
57945  }
57946  catch (Swig::DirectorException &e) {
57947  SWIG_fail;
57948  }
57949  }
57951  return resultobj;
57952 fail:
57953  return NULL;
57954 }
57955 
57956 
57958  PyObject *resultobj = 0;
57961  void *argp1 = 0 ;
57962  int res1 = 0 ;
57963  void *argp2 = 0 ;
57964  int res2 = 0 ;
57965  PyObject * obj0 = 0 ;
57966  PyObject * obj1 = 0 ;
57968 
57969  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMutableGlobalCumulMPOptimizer", 2, 2, &obj0, &obj1)) SWIG_fail;
57971  if (!SWIG_IsOK(res1)) {
57972  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMutableGlobalCumulMPOptimizer" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
57973  }
57974  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
57976  if (!SWIG_IsOK(res2)) {
57977  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetMutableGlobalCumulMPOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
57978  }
57979  if (!argp2) {
57980  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetMutableGlobalCumulMPOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
57981  }
57982  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
57983  {
57984  try {
57985  result = (operations_research::GlobalDimensionCumulOptimizer *)((operations_research::RoutingModel const *)arg1)->GetMutableGlobalCumulMPOptimizer((operations_research::RoutingDimension const &)*arg2);
57986  }
57987  catch (Swig::DirectorException &e) {
57988  SWIG_fail;
57989  }
57990  }
57992  return resultobj;
57993 fail:
57994  return NULL;
57995 }
57996 
57997 
57999  PyObject *resultobj = 0;
58002  void *argp1 = 0 ;
58003  int res1 = 0 ;
58004  void *argp2 = 0 ;
58005  int res2 = 0 ;
58006  PyObject * obj0 = 0 ;
58007  PyObject * obj1 = 0 ;
58009 
58010  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMutableLocalCumulOptimizer", 2, 2, &obj0, &obj1)) SWIG_fail;
58012  if (!SWIG_IsOK(res1)) {
58013  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMutableLocalCumulOptimizer" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58014  }
58015  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58017  if (!SWIG_IsOK(res2)) {
58018  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetMutableLocalCumulOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
58019  }
58020  if (!argp2) {
58021  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetMutableLocalCumulOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
58022  }
58023  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
58024  {
58025  try {
58026  result = (operations_research::LocalDimensionCumulOptimizer *)((operations_research::RoutingModel const *)arg1)->GetMutableLocalCumulOptimizer((operations_research::RoutingDimension const &)*arg2);
58027  }
58028  catch (Swig::DirectorException &e) {
58029  SWIG_fail;
58030  }
58031  }
58033  return resultobj;
58034 fail:
58035  return NULL;
58036 }
58037 
58038 
58040  PyObject *resultobj = 0;
58043  void *argp1 = 0 ;
58044  int res1 = 0 ;
58045  void *argp2 = 0 ;
58046  int res2 = 0 ;
58047  PyObject * obj0 = 0 ;
58048  PyObject * obj1 = 0 ;
58050 
58051  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMutableLocalCumulMPOptimizer", 2, 2, &obj0, &obj1)) SWIG_fail;
58053  if (!SWIG_IsOK(res1)) {
58054  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMutableLocalCumulMPOptimizer" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58055  }
58056  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58058  if (!SWIG_IsOK(res2)) {
58059  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetMutableLocalCumulMPOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
58060  }
58061  if (!argp2) {
58062  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetMutableLocalCumulMPOptimizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const &""'");
58063  }
58064  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
58065  {
58066  try {
58067  result = (operations_research::LocalDimensionCumulOptimizer *)((operations_research::RoutingModel const *)arg1)->GetMutableLocalCumulMPOptimizer((operations_research::RoutingDimension const &)*arg2);
58068  }
58069  catch (Swig::DirectorException &e) {
58070  SWIG_fail;
58071  }
58072  }
58074  return resultobj;
58075 fail:
58076  return NULL;
58077 }
58078 
58079 
58080 SWIGINTERN PyObject *_wrap_RoutingModel_HasDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58081  PyObject *resultobj = 0;
58083  std::string *arg2 = 0 ;
58084  void *argp1 = 0 ;
58085  int res1 = 0 ;
58086  int res2 = SWIG_OLDOBJ ;
58087  PyObject * obj0 = 0 ;
58088  PyObject * obj1 = 0 ;
58089  bool result;
58090 
58091  if (!PyArg_UnpackTuple(args, "RoutingModel_HasDimension", 2, 2, &obj0, &obj1)) SWIG_fail;
58093  if (!SWIG_IsOK(res1)) {
58094  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasDimension" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58095  }
58096  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58097  {
58098  std::string *ptr = (std::string *)0;
58099  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
58100  if (!SWIG_IsOK(res2)) {
58101  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_HasDimension" "', argument " "2"" of type '" "std::string const &""'");
58102  }
58103  if (!ptr) {
58104  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_HasDimension" "', argument " "2"" of type '" "std::string const &""'");
58105  }
58106  arg2 = ptr;
58107  }
58108  {
58109  try {
58110  result = (bool)((operations_research::RoutingModel const *)arg1)->HasDimension((std::string const &)*arg2);
58111  }
58112  catch (Swig::DirectorException &e) {
58113  SWIG_fail;
58114  }
58115  }
58116  resultobj = SWIG_From_bool(static_cast< bool >(result));
58117  if (SWIG_IsNewObj(res2)) delete arg2;
58118  return resultobj;
58119 fail:
58120  if (SWIG_IsNewObj(res2)) delete arg2;
58121  return NULL;
58122 }
58123 
58124 
58125 SWIGINTERN PyObject *_wrap_RoutingModel_GetDimensionOrDie(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58126  PyObject *resultobj = 0;
58128  std::string *arg2 = 0 ;
58129  void *argp1 = 0 ;
58130  int res1 = 0 ;
58131  int res2 = SWIG_OLDOBJ ;
58132  PyObject * obj0 = 0 ;
58133  PyObject * obj1 = 0 ;
58135 
58136  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDimensionOrDie", 2, 2, &obj0, &obj1)) SWIG_fail;
58138  if (!SWIG_IsOK(res1)) {
58139  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDimensionOrDie" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58140  }
58141  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58142  {
58143  std::string *ptr = (std::string *)0;
58144  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
58145  if (!SWIG_IsOK(res2)) {
58146  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetDimensionOrDie" "', argument " "2"" of type '" "std::string const &""'");
58147  }
58148  if (!ptr) {
58149  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetDimensionOrDie" "', argument " "2"" of type '" "std::string const &""'");
58150  }
58151  arg2 = ptr;
58152  }
58153  {
58154  try {
58155  result = (operations_research::RoutingDimension *) &((operations_research::RoutingModel const *)arg1)->GetDimensionOrDie((std::string const &)*arg2);
58156  }
58157  catch (Swig::DirectorException &e) {
58158  SWIG_fail;
58159  }
58160  }
58162  if (SWIG_IsNewObj(res2)) delete arg2;
58163  return resultobj;
58164 fail:
58165  if (SWIG_IsNewObj(res2)) delete arg2;
58166  return NULL;
58167 }
58168 
58169 
58170 SWIGINTERN PyObject *_wrap_RoutingModel_GetMutableDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58171  PyObject *resultobj = 0;
58173  std::string *arg2 = 0 ;
58174  void *argp1 = 0 ;
58175  int res1 = 0 ;
58176  int res2 = SWIG_OLDOBJ ;
58177  PyObject * obj0 = 0 ;
58178  PyObject * obj1 = 0 ;
58180 
58181  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMutableDimension", 2, 2, &obj0, &obj1)) SWIG_fail;
58183  if (!SWIG_IsOK(res1)) {
58184  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMutableDimension" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58185  }
58186  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58187  {
58188  std::string *ptr = (std::string *)0;
58189  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
58190  if (!SWIG_IsOK(res2)) {
58191  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetMutableDimension" "', argument " "2"" of type '" "std::string const &""'");
58192  }
58193  if (!ptr) {
58194  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_GetMutableDimension" "', argument " "2"" of type '" "std::string const &""'");
58195  }
58196  arg2 = ptr;
58197  }
58198  {
58199  try {
58200  result = (operations_research::RoutingDimension *)((operations_research::RoutingModel const *)arg1)->GetMutableDimension((std::string const &)*arg2);
58201  }
58202  catch (Swig::DirectorException &e) {
58203  SWIG_fail;
58204  }
58205  }
58207  if (SWIG_IsNewObj(res2)) delete arg2;
58208  return resultobj;
58209 fail:
58210  if (SWIG_IsNewObj(res2)) delete arg2;
58211  return NULL;
58212 }
58213 
58214 
58216  PyObject *resultobj = 0;
58218  std::string *arg2 = 0 ;
58219  void *argp1 = 0 ;
58220  int res1 = 0 ;
58221  int res2 = SWIG_OLDOBJ ;
58222  PyObject * obj0 = 0 ;
58223  PyObject * obj1 = 0 ;
58224 
58225  if (!PyArg_UnpackTuple(args, "RoutingModel_SetPrimaryConstrainedDimension", 2, 2, &obj0, &obj1)) SWIG_fail;
58227  if (!SWIG_IsOK(res1)) {
58228  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetPrimaryConstrainedDimension" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58229  }
58230  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58231  {
58232  std::string *ptr = (std::string *)0;
58233  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
58234  if (!SWIG_IsOK(res2)) {
58235  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SetPrimaryConstrainedDimension" "', argument " "2"" of type '" "std::string const &""'");
58236  }
58237  if (!ptr) {
58238  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_SetPrimaryConstrainedDimension" "', argument " "2"" of type '" "std::string const &""'");
58239  }
58240  arg2 = ptr;
58241  }
58242  {
58243  try {
58244  (arg1)->SetPrimaryConstrainedDimension((std::string const &)*arg2);
58245  }
58246  catch (Swig::DirectorException &e) {
58247  SWIG_fail;
58248  }
58249  }
58250  resultobj = SWIG_Py_Void();
58251  if (SWIG_IsNewObj(res2)) delete arg2;
58252  return resultobj;
58253 fail:
58254  if (SWIG_IsNewObj(res2)) delete arg2;
58255  return NULL;
58256 }
58257 
58258 
58260  PyObject *resultobj = 0;
58262  void *argp1 = 0 ;
58263  int res1 = 0 ;
58264  PyObject * obj0 = 0 ;
58265  std::string *result = 0 ;
58266 
58267  if (!PyArg_UnpackTuple(args, "RoutingModel_GetPrimaryConstrainedDimension", 1, 1, &obj0)) SWIG_fail;
58269  if (!SWIG_IsOK(res1)) {
58270  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetPrimaryConstrainedDimension" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58271  }
58272  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58273  {
58274  try {
58275  result = (std::string *) &((operations_research::RoutingModel const *)arg1)->GetPrimaryConstrainedDimension();
58276  }
58277  catch (Swig::DirectorException &e) {
58278  SWIG_fail;
58279  }
58280  }
58281  resultobj = SWIG_From_std_string(static_cast< std::string >(*result));
58282  return resultobj;
58283 fail:
58284  return NULL;
58285 }
58286 
58287 
58289  PyObject *resultobj = 0;
58292  void *argp1 = 0 ;
58293  int res1 = 0 ;
58294  void *argp2 = 0 ;
58295  int res2 = 0 ;
58296  PyObject * obj0 = 0 ;
58297  PyObject * obj1 = 0 ;
58298  std::vector< int > *result = 0 ;
58299 
58300  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDimensionResourceGroupIndices", 2, 2, &obj0, &obj1)) SWIG_fail;
58302  if (!SWIG_IsOK(res1)) {
58303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDimensionResourceGroupIndices" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58304  }
58305  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58307  if (!SWIG_IsOK(res2)) {
58308  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_GetDimensionResourceGroupIndices" "', argument " "2"" of type '" "operations_research::RoutingDimension const *""'");
58309  }
58310  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
58311  {
58312  try {
58313  result = (std::vector< int > *) &((operations_research::RoutingModel const *)arg1)->GetDimensionResourceGroupIndices((operations_research::RoutingDimension const *)arg2);
58314  }
58315  catch (Swig::DirectorException &e) {
58316  SWIG_fail;
58317  }
58318  }
58319  {
58320  resultobj = vector_output_helper(result, &PyInt_FromLong);
58321  }
58322  return resultobj;
58323 fail:
58324  return NULL;
58325 }
58326 
58327 
58328 SWIGINTERN PyObject *_wrap_RoutingModel_AddDisjunction__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58329  PyObject *resultobj = 0;
58331  std::vector< int64_t > *arg2 = 0 ;
58332  int64_t arg3 ;
58333  int64_t arg4 ;
58334  void *argp1 = 0 ;
58335  int res1 = 0 ;
58336  std::vector< int64_t > temp2 ;
58337  long val3 ;
58338  int ecode3 = 0 ;
58339  long val4 ;
58340  int ecode4 = 0 ;
58341  PyObject * obj0 = 0 ;
58342  PyObject * obj1 = 0 ;
58343  PyObject * obj2 = 0 ;
58344  PyObject * obj3 = 0 ;
58346 
58347  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDisjunction", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
58349  if (!SWIG_IsOK(res1)) {
58350  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDisjunction" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58351  }
58352  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58353  {
58354  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
58355  if (!PyErr_Occurred())
58356  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
58357  return NULL;
58358  }
58359  arg2 = &temp2;
58360  }
58361  ecode3 = SWIG_AsVal_long(obj2, &val3);
58362  if (!SWIG_IsOK(ecode3)) {
58363  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDisjunction" "', argument " "3"" of type '" "int64_t""'");
58364  }
58365  arg3 = static_cast< int64_t >(val3);
58366  ecode4 = SWIG_AsVal_long(obj3, &val4);
58367  if (!SWIG_IsOK(ecode4)) {
58368  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_AddDisjunction" "', argument " "4"" of type '" "int64_t""'");
58369  }
58370  arg4 = static_cast< int64_t >(val4);
58371  {
58372  try {
58373  result = (arg1)->AddDisjunction((std::vector< int64_t > const &)*arg2,arg3,arg4);
58374  }
58375  catch (Swig::DirectorException &e) {
58376  SWIG_fail;
58377  }
58378  }
58379  {
58380  resultobj = PyInt_FromLong((&result)->value());
58381  }
58382  return resultobj;
58383 fail:
58384  return NULL;
58385 }
58386 
58387 
58388 SWIGINTERN PyObject *_wrap_RoutingModel_AddDisjunction__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58389  PyObject *resultobj = 0;
58391  std::vector< int64_t > *arg2 = 0 ;
58392  int64_t arg3 ;
58393  void *argp1 = 0 ;
58394  int res1 = 0 ;
58395  std::vector< int64_t > temp2 ;
58396  long val3 ;
58397  int ecode3 = 0 ;
58398  PyObject * obj0 = 0 ;
58399  PyObject * obj1 = 0 ;
58400  PyObject * obj2 = 0 ;
58402 
58403  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDisjunction", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58405  if (!SWIG_IsOK(res1)) {
58406  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDisjunction" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58407  }
58408  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58409  {
58410  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
58411  if (!PyErr_Occurred())
58412  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
58413  return NULL;
58414  }
58415  arg2 = &temp2;
58416  }
58417  ecode3 = SWIG_AsVal_long(obj2, &val3);
58418  if (!SWIG_IsOK(ecode3)) {
58419  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddDisjunction" "', argument " "3"" of type '" "int64_t""'");
58420  }
58421  arg3 = static_cast< int64_t >(val3);
58422  {
58423  try {
58424  result = (arg1)->AddDisjunction((std::vector< int64_t > const &)*arg2,arg3);
58425  }
58426  catch (Swig::DirectorException &e) {
58427  SWIG_fail;
58428  }
58429  }
58430  {
58431  resultobj = PyInt_FromLong((&result)->value());
58432  }
58433  return resultobj;
58434 fail:
58435  return NULL;
58436 }
58437 
58438 
58439 SWIGINTERN PyObject *_wrap_RoutingModel_AddDisjunction__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58440  PyObject *resultobj = 0;
58442  std::vector< int64_t > *arg2 = 0 ;
58443  void *argp1 = 0 ;
58444  int res1 = 0 ;
58445  std::vector< int64_t > temp2 ;
58446  PyObject * obj0 = 0 ;
58447  PyObject * obj1 = 0 ;
58449 
58450  if (!PyArg_UnpackTuple(args, "RoutingModel_AddDisjunction", 2, 2, &obj0, &obj1)) SWIG_fail;
58452  if (!SWIG_IsOK(res1)) {
58453  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddDisjunction" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58454  }
58455  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58456  {
58457  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
58458  if (!PyErr_Occurred())
58459  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
58460  return NULL;
58461  }
58462  arg2 = &temp2;
58463  }
58464  {
58465  try {
58466  result = (arg1)->AddDisjunction((std::vector< int64_t > const &)*arg2);
58467  }
58468  catch (Swig::DirectorException &e) {
58469  SWIG_fail;
58470  }
58471  }
58472  {
58473  resultobj = PyInt_FromLong((&result)->value());
58474  }
58475  return resultobj;
58476 fail:
58477  return NULL;
58478 }
58479 
58480 
58481 SWIGINTERN PyObject *_wrap_RoutingModel_AddDisjunction(PyObject *self, PyObject *args) {
58482  Py_ssize_t argc;
58483  PyObject *argv[5] = {
58484  0
58485  };
58486  Py_ssize_t ii;
58487 
58488  if (!PyTuple_Check(args)) SWIG_fail;
58489  argc = PyObject_Length(args);
58490  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
58491  argv[ii] = PyTuple_GET_ITEM(args,ii);
58492  }
58493  if (argc == 2) {
58494  int _v;
58495  void *vptr = 0;
58496  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
58497  _v = SWIG_CheckState(res);
58498  if (_v) {
58499  {
58500  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
58501  _v = 0;
58502  } else {
58503  const bool is_tuple = PyTuple_Check(argv[1]);
58504  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
58505  size_t i = 0;
58506  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
58507  :PyList_GetItem(argv[1], i))) {
58508  ++i;
58509  }
58510  _v = i == size;
58511  }
58512  }
58513  if (_v) {
58514  return _wrap_RoutingModel_AddDisjunction__SWIG_2(self, args);
58515  }
58516  }
58517  }
58518  if (argc == 3) {
58519  int _v;
58520  void *vptr = 0;
58521  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
58522  _v = SWIG_CheckState(res);
58523  if (_v) {
58524  {
58525  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
58526  _v = 0;
58527  } else {
58528  const bool is_tuple = PyTuple_Check(argv[1]);
58529  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
58530  size_t i = 0;
58531  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
58532  :PyList_GetItem(argv[1], i))) {
58533  ++i;
58534  }
58535  _v = i == size;
58536  }
58537  }
58538  if (_v) {
58539  {
58540  int res = SWIG_AsVal_long(argv[2], NULL);
58541  _v = SWIG_CheckState(res);
58542  }
58543  if (_v) {
58544  return _wrap_RoutingModel_AddDisjunction__SWIG_1(self, args);
58545  }
58546  }
58547  }
58548  }
58549  if (argc == 4) {
58550  int _v;
58551  void *vptr = 0;
58552  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
58553  _v = SWIG_CheckState(res);
58554  if (_v) {
58555  {
58556  if (!PyTuple_Check(argv[1]) && !PyList_Check(argv[1])) {
58557  _v = 0;
58558  } else {
58559  const bool is_tuple = PyTuple_Check(argv[1]);
58560  const size_t size = is_tuple ? PyTuple_Size(argv[1]) : PyList_Size(argv[1]);
58561  size_t i = 0;
58562  while (i < size && SwigPyIntOrLong_Check(is_tuple ? PyTuple_GetItem(argv[1], i)
58563  :PyList_GetItem(argv[1], i))) {
58564  ++i;
58565  }
58566  _v = i == size;
58567  }
58568  }
58569  if (_v) {
58570  {
58571  int res = SWIG_AsVal_long(argv[2], NULL);
58572  _v = SWIG_CheckState(res);
58573  }
58574  if (_v) {
58575  {
58576  int res = SWIG_AsVal_long(argv[3], NULL);
58577  _v = SWIG_CheckState(res);
58578  }
58579  if (_v) {
58580  return _wrap_RoutingModel_AddDisjunction__SWIG_0(self, args);
58581  }
58582  }
58583  }
58584  }
58585  }
58586 
58587 fail:
58588  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'RoutingModel_AddDisjunction'.\n"
58589  " Possible C/C++ prototypes are:\n"
58590  " operations_research::RoutingModel::AddDisjunction(std::vector< int64_t > const &,int64_t,int64_t)\n"
58591  " operations_research::RoutingModel::AddDisjunction(std::vector< int64_t > const &,int64_t)\n"
58592  " operations_research::RoutingModel::AddDisjunction(std::vector< int64_t > const &)\n");
58593  return 0;
58594 }
58595 
58596 
58597 SWIGINTERN PyObject *_wrap_RoutingModel_GetDisjunctionIndices(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58598  PyObject *resultobj = 0;
58600  int64_t arg2 ;
58601  void *argp1 = 0 ;
58602  int res1 = 0 ;
58603  long val2 ;
58604  int ecode2 = 0 ;
58605  PyObject * obj0 = 0 ;
58606  PyObject * obj1 = 0 ;
58607  std::vector< operations_research::RoutingModel::DisjunctionIndex > *result = 0 ;
58608 
58609  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDisjunctionIndices", 2, 2, &obj0, &obj1)) SWIG_fail;
58611  if (!SWIG_IsOK(res1)) {
58612  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDisjunctionIndices" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58613  }
58614  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58615  ecode2 = SWIG_AsVal_long(obj1, &val2);
58616  if (!SWIG_IsOK(ecode2)) {
58617  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetDisjunctionIndices" "', argument " "2"" of type '" "int64_t""'");
58618  }
58619  arg2 = static_cast< int64_t >(val2);
58620  {
58621  try {
58622  result = (std::vector< operations_research::RoutingModel::DisjunctionIndex > *) &((operations_research::RoutingModel const *)arg1)->GetDisjunctionIndices(arg2);
58623  }
58624  catch (Swig::DirectorException &e) {
58625  SWIG_fail;
58626  }
58627  }
58628  {
58629  resultobj = vector_output_helper(result, &PyInt_FromIndexT<operations_research::RoutingDisjunctionIndex>);
58630  }
58631  return resultobj;
58632 fail:
58633  return NULL;
58634 }
58635 
58636 
58637 SWIGINTERN PyObject *_wrap_RoutingModel_GetDisjunctionPenalty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58638  PyObject *resultobj = 0;
58641  void *argp1 = 0 ;
58642  int res1 = 0 ;
58643  PyObject * obj0 = 0 ;
58644  PyObject * obj1 = 0 ;
58645  int64_t result;
58646 
58647  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDisjunctionPenalty", 2, 2, &obj0, &obj1)) SWIG_fail;
58649  if (!SWIG_IsOK(res1)) {
58650  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDisjunctionPenalty" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58651  }
58652  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58653  {
58654  arg2 = operations_research::RoutingDisjunctionIndex(PyInt_AsLong(obj1));
58655  }
58656  {
58657  try {
58658  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetDisjunctionPenalty(arg2);
58659  }
58660  catch (Swig::DirectorException &e) {
58661  SWIG_fail;
58662  }
58663  }
58664  resultobj = SWIG_From_long(static_cast< long >(result));
58665  return resultobj;
58666 fail:
58667  return NULL;
58668 }
58669 
58670 
58672  PyObject *resultobj = 0;
58675  void *argp1 = 0 ;
58676  int res1 = 0 ;
58677  PyObject * obj0 = 0 ;
58678  PyObject * obj1 = 0 ;
58679  int64_t result;
58680 
58681  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDisjunctionMaxCardinality", 2, 2, &obj0, &obj1)) SWIG_fail;
58683  if (!SWIG_IsOK(res1)) {
58684  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDisjunctionMaxCardinality" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58685  }
58686  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58687  {
58688  arg2 = operations_research::RoutingDisjunctionIndex(PyInt_AsLong(obj1));
58689  }
58690  {
58691  try {
58692  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetDisjunctionMaxCardinality(arg2);
58693  }
58694  catch (Swig::DirectorException &e) {
58695  SWIG_fail;
58696  }
58697  }
58698  resultobj = SWIG_From_long(static_cast< long >(result));
58699  return resultobj;
58700 fail:
58701  return NULL;
58702 }
58703 
58704 
58705 SWIGINTERN PyObject *_wrap_RoutingModel_GetNumberOfDisjunctions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58706  PyObject *resultobj = 0;
58708  void *argp1 = 0 ;
58709  int res1 = 0 ;
58710  PyObject * obj0 = 0 ;
58711  int result;
58712 
58713  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNumberOfDisjunctions", 1, 1, &obj0)) SWIG_fail;
58715  if (!SWIG_IsOK(res1)) {
58716  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNumberOfDisjunctions" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58717  }
58718  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58719  {
58720  try {
58721  result = (int)((operations_research::RoutingModel const *)arg1)->GetNumberOfDisjunctions();
58722  }
58723  catch (Swig::DirectorException &e) {
58724  SWIG_fail;
58725  }
58726  }
58727  resultobj = SWIG_From_int(static_cast< int >(result));
58728  return resultobj;
58729 fail:
58730  return NULL;
58731 }
58732 
58733 
58735  PyObject *resultobj = 0;
58737  void *argp1 = 0 ;
58738  int res1 = 0 ;
58739  PyObject * obj0 = 0 ;
58740  std::vector< std::pair< int64_t,int64_t > > result;
58741 
58742  if (!PyArg_UnpackTuple(args, "RoutingModel_GetPerfectBinaryDisjunctions", 1, 1, &obj0)) SWIG_fail;
58744  if (!SWIG_IsOK(res1)) {
58745  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetPerfectBinaryDisjunctions" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
58746  }
58747  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58748  {
58749  try {
58750  result = ((operations_research::RoutingModel const *)arg1)->GetPerfectBinaryDisjunctions();
58751  }
58752  catch (Swig::DirectorException &e) {
58753  SWIG_fail;
58754  }
58755  }
58756  resultobj = SWIG_NewPointerObj((new std::vector< std::pair< int64_t,int64_t > >(static_cast< const std::vector< std::pair< int64_t,int64_t > >& >(result))), SWIGTYPE_p_std__vectorT_std__pairT_long_long_t_t, SWIG_POINTER_OWN | 0 );
58757  return resultobj;
58758 fail:
58759  return NULL;
58760 }
58761 
58762 
58764  PyObject *resultobj = 0;
58766  void *argp1 = 0 ;
58767  int res1 = 0 ;
58768  PyObject * obj0 = 0 ;
58769 
58770  if (!PyArg_UnpackTuple(args, "RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero", 1, 1, &obj0)) SWIG_fail;
58772  if (!SWIG_IsOK(res1)) {
58773  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58774  }
58775  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58776  {
58777  try {
58778  (arg1)->IgnoreDisjunctionsAlreadyForcedToZero();
58779  }
58780  catch (Swig::DirectorException &e) {
58781  SWIG_fail;
58782  }
58783  }
58784  resultobj = SWIG_Py_Void();
58785  return resultobj;
58786 fail:
58787  return NULL;
58788 }
58789 
58790 
58792  PyObject *resultobj = 0;
58794  std::vector< int64_t > *arg2 = 0 ;
58795  int64_t arg3 ;
58796  void *argp1 = 0 ;
58797  int res1 = 0 ;
58798  std::vector< int64_t > temp2 ;
58799  long val3 ;
58800  int ecode3 = 0 ;
58801  PyObject * obj0 = 0 ;
58802  PyObject * obj1 = 0 ;
58803  PyObject * obj2 = 0 ;
58804 
58805  if (!PyArg_UnpackTuple(args, "RoutingModel_AddSoftSameVehicleConstraint", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58807  if (!SWIG_IsOK(res1)) {
58808  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddSoftSameVehicleConstraint" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58809  }
58810  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58811  {
58812  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
58813  if (!PyErr_Occurred())
58814  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
58815  return NULL;
58816  }
58817  arg2 = &temp2;
58818  }
58819  ecode3 = SWIG_AsVal_long(obj2, &val3);
58820  if (!SWIG_IsOK(ecode3)) {
58821  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddSoftSameVehicleConstraint" "', argument " "3"" of type '" "int64_t""'");
58822  }
58823  arg3 = static_cast< int64_t >(val3);
58824  {
58825  try {
58826  (arg1)->AddSoftSameVehicleConstraint((std::vector< int64_t > const &)*arg2,arg3);
58827  }
58828  catch (Swig::DirectorException &e) {
58829  SWIG_fail;
58830  }
58831  }
58832  resultobj = SWIG_Py_Void();
58833  return resultobj;
58834 fail:
58835  return NULL;
58836 }
58837 
58838 
58840  PyObject *resultobj = 0;
58842  std::vector< int > *arg2 = 0 ;
58843  int64_t arg3 ;
58844  void *argp1 = 0 ;
58845  int res1 = 0 ;
58846  std::vector< int > temp2 ;
58847  long val3 ;
58848  int ecode3 = 0 ;
58849  PyObject * obj0 = 0 ;
58850  PyObject * obj1 = 0 ;
58851  PyObject * obj2 = 0 ;
58852 
58853  if (!PyArg_UnpackTuple(args, "RoutingModel_SetAllowedVehiclesForIndex", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58855  if (!SWIG_IsOK(res1)) {
58856  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetAllowedVehiclesForIndex" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58857  }
58858  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58859  {
58860  if (!vector_input_helper(obj1, &temp2, PyObjAs<int>)) {
58861  if (!PyErr_Occurred())
58862  SWIG_Error(SWIG_TypeError, "sequence(int) expected");
58863  return NULL;
58864  }
58865  arg2 = &temp2;
58866  }
58867  ecode3 = SWIG_AsVal_long(obj2, &val3);
58868  if (!SWIG_IsOK(ecode3)) {
58869  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetAllowedVehiclesForIndex" "', argument " "3"" of type '" "int64_t""'");
58870  }
58871  arg3 = static_cast< int64_t >(val3);
58872  {
58873  try {
58874  (arg1)->SetAllowedVehiclesForIndex((std::vector< int > const &)*arg2,arg3);
58875  }
58876  catch (Swig::DirectorException &e) {
58877  SWIG_fail;
58878  }
58879  }
58880  resultobj = SWIG_Py_Void();
58881  return resultobj;
58882 fail:
58883  return NULL;
58884 }
58885 
58886 
58887 SWIGINTERN PyObject *_wrap_RoutingModel_IsVehicleAllowedForIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58888  PyObject *resultobj = 0;
58890  int arg2 ;
58891  int64_t arg3 ;
58892  void *argp1 = 0 ;
58893  int res1 = 0 ;
58894  int val2 ;
58895  int ecode2 = 0 ;
58896  long val3 ;
58897  int ecode3 = 0 ;
58898  PyObject * obj0 = 0 ;
58899  PyObject * obj1 = 0 ;
58900  PyObject * obj2 = 0 ;
58901  bool result;
58902 
58903  if (!PyArg_UnpackTuple(args, "RoutingModel_IsVehicleAllowedForIndex", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58905  if (!SWIG_IsOK(res1)) {
58906  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IsVehicleAllowedForIndex" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58907  }
58908  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58909  ecode2 = SWIG_AsVal_int(obj1, &val2);
58910  if (!SWIG_IsOK(ecode2)) {
58911  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_IsVehicleAllowedForIndex" "', argument " "2"" of type '" "int""'");
58912  }
58913  arg2 = static_cast< int >(val2);
58914  ecode3 = SWIG_AsVal_long(obj2, &val3);
58915  if (!SWIG_IsOK(ecode3)) {
58916  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_IsVehicleAllowedForIndex" "', argument " "3"" of type '" "int64_t""'");
58917  }
58918  arg3 = static_cast< int64_t >(val3);
58919  {
58920  try {
58921  result = (bool)(arg1)->IsVehicleAllowedForIndex(arg2,arg3);
58922  }
58923  catch (Swig::DirectorException &e) {
58924  SWIG_fail;
58925  }
58926  }
58927  resultobj = SWIG_From_bool(static_cast< bool >(result));
58928  return resultobj;
58929 fail:
58930  return NULL;
58931 }
58932 
58933 
58934 SWIGINTERN PyObject *_wrap_RoutingModel_AddPickupAndDelivery(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58935  PyObject *resultobj = 0;
58937  int64_t arg2 ;
58938  int64_t arg3 ;
58939  void *argp1 = 0 ;
58940  int res1 = 0 ;
58941  long val2 ;
58942  int ecode2 = 0 ;
58943  long val3 ;
58944  int ecode3 = 0 ;
58945  PyObject * obj0 = 0 ;
58946  PyObject * obj1 = 0 ;
58947  PyObject * obj2 = 0 ;
58948 
58949  if (!PyArg_UnpackTuple(args, "RoutingModel_AddPickupAndDelivery", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58951  if (!SWIG_IsOK(res1)) {
58952  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddPickupAndDelivery" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58953  }
58954  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58955  ecode2 = SWIG_AsVal_long(obj1, &val2);
58956  if (!SWIG_IsOK(ecode2)) {
58957  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddPickupAndDelivery" "', argument " "2"" of type '" "int64_t""'");
58958  }
58959  arg2 = static_cast< int64_t >(val2);
58960  ecode3 = SWIG_AsVal_long(obj2, &val3);
58961  if (!SWIG_IsOK(ecode3)) {
58962  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddPickupAndDelivery" "', argument " "3"" of type '" "int64_t""'");
58963  }
58964  arg3 = static_cast< int64_t >(val3);
58965  {
58966  try {
58967  (arg1)->AddPickupAndDelivery(arg2,arg3);
58968  }
58969  catch (Swig::DirectorException &e) {
58970  SWIG_fail;
58971  }
58972  }
58973  resultobj = SWIG_Py_Void();
58974  return resultobj;
58975 fail:
58976  return NULL;
58977 }
58978 
58979 
58980 SWIGINTERN PyObject *_wrap_RoutingModel_AddPickupAndDeliverySets(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
58981  PyObject *resultobj = 0;
58985  void *argp1 = 0 ;
58986  int res1 = 0 ;
58987  PyObject * obj0 = 0 ;
58988  PyObject * obj1 = 0 ;
58989  PyObject * obj2 = 0 ;
58990 
58991  if (!PyArg_UnpackTuple(args, "RoutingModel_AddPickupAndDeliverySets", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
58993  if (!SWIG_IsOK(res1)) {
58994  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddPickupAndDeliverySets" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
58995  }
58996  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
58997  {
58998  arg2 = operations_research::RoutingDisjunctionIndex(PyInt_AsLong(obj1));
58999  }
59000  {
59001  arg3 = operations_research::RoutingDisjunctionIndex(PyInt_AsLong(obj2));
59002  }
59003  {
59004  try {
59005  (arg1)->AddPickupAndDeliverySets(arg2,arg3);
59006  }
59007  catch (Swig::DirectorException &e) {
59008  SWIG_fail;
59009  }
59010  }
59011  resultobj = SWIG_Py_Void();
59012  return resultobj;
59013 fail:
59014  return NULL;
59015 }
59016 
59017 
59018 SWIGINTERN PyObject *_wrap_RoutingModel_GetPickupIndexPairs(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59019  PyObject *resultobj = 0;
59021  int64_t arg2 ;
59022  void *argp1 = 0 ;
59023  int res1 = 0 ;
59024  long val2 ;
59025  int ecode2 = 0 ;
59026  PyObject * obj0 = 0 ;
59027  PyObject * obj1 = 0 ;
59028  std::vector< std::pair< int,int > > *result = 0 ;
59029 
59030  if (!PyArg_UnpackTuple(args, "RoutingModel_GetPickupIndexPairs", 2, 2, &obj0, &obj1)) SWIG_fail;
59032  if (!SWIG_IsOK(res1)) {
59033  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetPickupIndexPairs" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59034  }
59035  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59036  ecode2 = SWIG_AsVal_long(obj1, &val2);
59037  if (!SWIG_IsOK(ecode2)) {
59038  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetPickupIndexPairs" "', argument " "2"" of type '" "int64_t""'");
59039  }
59040  arg2 = static_cast< int64_t >(val2);
59041  {
59042  try {
59043  result = (std::vector< std::pair< int,int > > *) &((operations_research::RoutingModel const *)arg1)->GetPickupIndexPairs(arg2);
59044  }
59045  catch (Swig::DirectorException &e) {
59046  SWIG_fail;
59047  }
59048  }
59050  return resultobj;
59051 fail:
59052  return NULL;
59053 }
59054 
59055 
59056 SWIGINTERN PyObject *_wrap_RoutingModel_GetDeliveryIndexPairs(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59057  PyObject *resultobj = 0;
59059  int64_t arg2 ;
59060  void *argp1 = 0 ;
59061  int res1 = 0 ;
59062  long val2 ;
59063  int ecode2 = 0 ;
59064  PyObject * obj0 = 0 ;
59065  PyObject * obj1 = 0 ;
59066  std::vector< std::pair< int,int > > *result = 0 ;
59067 
59068  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDeliveryIndexPairs", 2, 2, &obj0, &obj1)) SWIG_fail;
59070  if (!SWIG_IsOK(res1)) {
59071  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDeliveryIndexPairs" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59072  }
59073  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59074  ecode2 = SWIG_AsVal_long(obj1, &val2);
59075  if (!SWIG_IsOK(ecode2)) {
59076  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetDeliveryIndexPairs" "', argument " "2"" of type '" "int64_t""'");
59077  }
59078  arg2 = static_cast< int64_t >(val2);
59079  {
59080  try {
59081  result = (std::vector< std::pair< int,int > > *) &((operations_research::RoutingModel const *)arg1)->GetDeliveryIndexPairs(arg2);
59082  }
59083  catch (Swig::DirectorException &e) {
59084  SWIG_fail;
59085  }
59086  }
59088  return resultobj;
59089 fail:
59090  return NULL;
59091 }
59092 
59093 
59095  PyObject *resultobj = 0;
59098  void *argp1 = 0 ;
59099  int res1 = 0 ;
59100  int val2 ;
59101  int ecode2 = 0 ;
59102  PyObject * obj0 = 0 ;
59103  PyObject * obj1 = 0 ;
59104 
59105  if (!PyArg_UnpackTuple(args, "RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles", 2, 2, &obj0, &obj1)) SWIG_fail;
59107  if (!SWIG_IsOK(res1)) {
59108  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59109  }
59110  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59111  ecode2 = SWIG_AsVal_int(obj1, &val2);
59112  if (!SWIG_IsOK(ecode2)) {
59113  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles" "', argument " "2"" of type '" "operations_research::RoutingModel::PickupAndDeliveryPolicy""'");
59114  }
59115  arg2 = static_cast< operations_research::RoutingModel::PickupAndDeliveryPolicy >(val2);
59116  {
59117  try {
59118  (arg1)->SetPickupAndDeliveryPolicyOfAllVehicles(arg2);
59119  }
59120  catch (Swig::DirectorException &e) {
59121  SWIG_fail;
59122  }
59123  }
59124  resultobj = SWIG_Py_Void();
59125  return resultobj;
59126 fail:
59127  return NULL;
59128 }
59129 
59130 
59132  PyObject *resultobj = 0;
59135  int arg3 ;
59136  void *argp1 = 0 ;
59137  int res1 = 0 ;
59138  int val2 ;
59139  int ecode2 = 0 ;
59140  int val3 ;
59141  int ecode3 = 0 ;
59142  PyObject * obj0 = 0 ;
59143  PyObject * obj1 = 0 ;
59144  PyObject * obj2 = 0 ;
59145 
59146  if (!PyArg_UnpackTuple(args, "RoutingModel_SetPickupAndDeliveryPolicyOfVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59148  if (!SWIG_IsOK(res1)) {
59149  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetPickupAndDeliveryPolicyOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59150  }
59151  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59152  ecode2 = SWIG_AsVal_int(obj1, &val2);
59153  if (!SWIG_IsOK(ecode2)) {
59154  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetPickupAndDeliveryPolicyOfVehicle" "', argument " "2"" of type '" "operations_research::RoutingModel::PickupAndDeliveryPolicy""'");
59155  }
59156  arg2 = static_cast< operations_research::RoutingModel::PickupAndDeliveryPolicy >(val2);
59157  ecode3 = SWIG_AsVal_int(obj2, &val3);
59158  if (!SWIG_IsOK(ecode3)) {
59159  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetPickupAndDeliveryPolicyOfVehicle" "', argument " "3"" of type '" "int""'");
59160  }
59161  arg3 = static_cast< int >(val3);
59162  {
59163  try {
59164  (arg1)->SetPickupAndDeliveryPolicyOfVehicle(arg2,arg3);
59165  }
59166  catch (Swig::DirectorException &e) {
59167  SWIG_fail;
59168  }
59169  }
59170  resultobj = SWIG_Py_Void();
59171  return resultobj;
59172 fail:
59173  return NULL;
59174 }
59175 
59176 
59178  PyObject *resultobj = 0;
59180  int arg2 ;
59181  void *argp1 = 0 ;
59182  int res1 = 0 ;
59183  int val2 ;
59184  int ecode2 = 0 ;
59185  PyObject * obj0 = 0 ;
59186  PyObject * obj1 = 0 ;
59188 
59189  if (!PyArg_UnpackTuple(args, "RoutingModel_GetPickupAndDeliveryPolicyOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
59191  if (!SWIG_IsOK(res1)) {
59192  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetPickupAndDeliveryPolicyOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59193  }
59194  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59195  ecode2 = SWIG_AsVal_int(obj1, &val2);
59196  if (!SWIG_IsOK(ecode2)) {
59197  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetPickupAndDeliveryPolicyOfVehicle" "', argument " "2"" of type '" "int""'");
59198  }
59199  arg2 = static_cast< int >(val2);
59200  {
59201  try {
59202  result = (operations_research::RoutingModel::PickupAndDeliveryPolicy)((operations_research::RoutingModel const *)arg1)->GetPickupAndDeliveryPolicyOfVehicle(arg2);
59203  }
59204  catch (Swig::DirectorException &e) {
59205  SWIG_fail;
59206  }
59207  }
59208  resultobj = SWIG_From_int(static_cast< int >(result));
59209  return resultobj;
59210 fail:
59211  return NULL;
59212 }
59213 
59214 
59215 SWIGINTERN PyObject *_wrap_RoutingModel_GetNumOfSingletonNodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59216  PyObject *resultobj = 0;
59218  void *argp1 = 0 ;
59219  int res1 = 0 ;
59220  PyObject * obj0 = 0 ;
59221  int result;
59222 
59223  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNumOfSingletonNodes", 1, 1, &obj0)) SWIG_fail;
59225  if (!SWIG_IsOK(res1)) {
59226  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNumOfSingletonNodes" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59227  }
59228  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59229  {
59230  try {
59231  result = (int)((operations_research::RoutingModel const *)arg1)->GetNumOfSingletonNodes();
59232  }
59233  catch (Swig::DirectorException &e) {
59234  SWIG_fail;
59235  }
59236  }
59237  resultobj = SWIG_From_int(static_cast< int >(result));
59238  return resultobj;
59239 fail:
59240  return NULL;
59241 }
59242 
59243 
59244 SWIGINTERN PyObject *_wrap_RoutingModel_SetVisitType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59245  PyObject *resultobj = 0;
59247  int64_t arg2 ;
59248  int arg3 ;
59250  void *argp1 = 0 ;
59251  int res1 = 0 ;
59252  long val2 ;
59253  int ecode2 = 0 ;
59254  int val3 ;
59255  int ecode3 = 0 ;
59256  int val4 ;
59257  int ecode4 = 0 ;
59258  PyObject * obj0 = 0 ;
59259  PyObject * obj1 = 0 ;
59260  PyObject * obj2 = 0 ;
59261  PyObject * obj3 = 0 ;
59262 
59263  if (!PyArg_UnpackTuple(args, "RoutingModel_SetVisitType", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
59265  if (!SWIG_IsOK(res1)) {
59266  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetVisitType" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59267  }
59268  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59269  ecode2 = SWIG_AsVal_long(obj1, &val2);
59270  if (!SWIG_IsOK(ecode2)) {
59271  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetVisitType" "', argument " "2"" of type '" "int64_t""'");
59272  }
59273  arg2 = static_cast< int64_t >(val2);
59274  ecode3 = SWIG_AsVal_int(obj2, &val3);
59275  if (!SWIG_IsOK(ecode3)) {
59276  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetVisitType" "', argument " "3"" of type '" "int""'");
59277  }
59278  arg3 = static_cast< int >(val3);
59279  ecode4 = SWIG_AsVal_int(obj3, &val4);
59280  if (!SWIG_IsOK(ecode4)) {
59281  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_SetVisitType" "', argument " "4"" of type '" "operations_research::RoutingModel::VisitTypePolicy""'");
59282  }
59283  arg4 = static_cast< operations_research::RoutingModel::VisitTypePolicy >(val4);
59284  {
59285  try {
59286  (arg1)->SetVisitType(arg2,arg3,arg4);
59287  }
59288  catch (Swig::DirectorException &e) {
59289  SWIG_fail;
59290  }
59291  }
59292  resultobj = SWIG_Py_Void();
59293  return resultobj;
59294 fail:
59295  return NULL;
59296 }
59297 
59298 
59299 SWIGINTERN PyObject *_wrap_RoutingModel_GetVisitType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59300  PyObject *resultobj = 0;
59302  int64_t arg2 ;
59303  void *argp1 = 0 ;
59304  int res1 = 0 ;
59305  long val2 ;
59306  int ecode2 = 0 ;
59307  PyObject * obj0 = 0 ;
59308  PyObject * obj1 = 0 ;
59309  int result;
59310 
59311  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVisitType", 2, 2, &obj0, &obj1)) SWIG_fail;
59313  if (!SWIG_IsOK(res1)) {
59314  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVisitType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59315  }
59316  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59317  ecode2 = SWIG_AsVal_long(obj1, &val2);
59318  if (!SWIG_IsOK(ecode2)) {
59319  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetVisitType" "', argument " "2"" of type '" "int64_t""'");
59320  }
59321  arg2 = static_cast< int64_t >(val2);
59322  {
59323  try {
59324  result = (int)((operations_research::RoutingModel const *)arg1)->GetVisitType(arg2);
59325  }
59326  catch (Swig::DirectorException &e) {
59327  SWIG_fail;
59328  }
59329  }
59330  resultobj = SWIG_From_int(static_cast< int >(result));
59331  return resultobj;
59332 fail:
59333  return NULL;
59334 }
59335 
59336 
59337 SWIGINTERN PyObject *_wrap_RoutingModel_GetSingleNodesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59338  PyObject *resultobj = 0;
59340  int arg2 ;
59341  void *argp1 = 0 ;
59342  int res1 = 0 ;
59343  int val2 ;
59344  int ecode2 = 0 ;
59345  PyObject * obj0 = 0 ;
59346  PyObject * obj1 = 0 ;
59347  std::vector< int > *result = 0 ;
59348 
59349  if (!PyArg_UnpackTuple(args, "RoutingModel_GetSingleNodesOfType", 2, 2, &obj0, &obj1)) SWIG_fail;
59351  if (!SWIG_IsOK(res1)) {
59352  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetSingleNodesOfType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59353  }
59354  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59355  ecode2 = SWIG_AsVal_int(obj1, &val2);
59356  if (!SWIG_IsOK(ecode2)) {
59357  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetSingleNodesOfType" "', argument " "2"" of type '" "int""'");
59358  }
59359  arg2 = static_cast< int >(val2);
59360  {
59361  try {
59362  result = (std::vector< int > *) &((operations_research::RoutingModel const *)arg1)->GetSingleNodesOfType(arg2);
59363  }
59364  catch (Swig::DirectorException &e) {
59365  SWIG_fail;
59366  }
59367  }
59368  {
59369  resultobj = vector_output_helper(result, &PyInt_FromLong);
59370  }
59371  return resultobj;
59372 fail:
59373  return NULL;
59374 }
59375 
59376 
59377 SWIGINTERN PyObject *_wrap_RoutingModel_GetPairIndicesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59378  PyObject *resultobj = 0;
59380  int arg2 ;
59381  void *argp1 = 0 ;
59382  int res1 = 0 ;
59383  int val2 ;
59384  int ecode2 = 0 ;
59385  PyObject * obj0 = 0 ;
59386  PyObject * obj1 = 0 ;
59387  std::vector< int > *result = 0 ;
59388 
59389  if (!PyArg_UnpackTuple(args, "RoutingModel_GetPairIndicesOfType", 2, 2, &obj0, &obj1)) SWIG_fail;
59391  if (!SWIG_IsOK(res1)) {
59392  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetPairIndicesOfType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59393  }
59394  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59395  ecode2 = SWIG_AsVal_int(obj1, &val2);
59396  if (!SWIG_IsOK(ecode2)) {
59397  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetPairIndicesOfType" "', argument " "2"" of type '" "int""'");
59398  }
59399  arg2 = static_cast< int >(val2);
59400  {
59401  try {
59402  result = (std::vector< int > *) &((operations_research::RoutingModel const *)arg1)->GetPairIndicesOfType(arg2);
59403  }
59404  catch (Swig::DirectorException &e) {
59405  SWIG_fail;
59406  }
59407  }
59408  {
59409  resultobj = vector_output_helper(result, &PyInt_FromLong);
59410  }
59411  return resultobj;
59412 fail:
59413  return NULL;
59414 }
59415 
59416 
59417 SWIGINTERN PyObject *_wrap_RoutingModel_GetVisitTypePolicy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59418  PyObject *resultobj = 0;
59420  int64_t arg2 ;
59421  void *argp1 = 0 ;
59422  int res1 = 0 ;
59423  long val2 ;
59424  int ecode2 = 0 ;
59425  PyObject * obj0 = 0 ;
59426  PyObject * obj1 = 0 ;
59428 
59429  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVisitTypePolicy", 2, 2, &obj0, &obj1)) SWIG_fail;
59431  if (!SWIG_IsOK(res1)) {
59432  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVisitTypePolicy" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59433  }
59434  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59435  ecode2 = SWIG_AsVal_long(obj1, &val2);
59436  if (!SWIG_IsOK(ecode2)) {
59437  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetVisitTypePolicy" "', argument " "2"" of type '" "int64_t""'");
59438  }
59439  arg2 = static_cast< int64_t >(val2);
59440  {
59441  try {
59442  result = (operations_research::RoutingModel::VisitTypePolicy)((operations_research::RoutingModel const *)arg1)->GetVisitTypePolicy(arg2);
59443  }
59444  catch (Swig::DirectorException &e) {
59445  SWIG_fail;
59446  }
59447  }
59448  resultobj = SWIG_From_int(static_cast< int >(result));
59449  return resultobj;
59450 fail:
59451  return NULL;
59452 }
59453 
59454 
59455 SWIGINTERN PyObject *_wrap_RoutingModel_CloseVisitTypes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59456  PyObject *resultobj = 0;
59458  void *argp1 = 0 ;
59459  int res1 = 0 ;
59460  PyObject * obj0 = 0 ;
59461 
59462  if (!PyArg_UnpackTuple(args, "RoutingModel_CloseVisitTypes", 1, 1, &obj0)) SWIG_fail;
59464  if (!SWIG_IsOK(res1)) {
59465  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CloseVisitTypes" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59466  }
59467  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59468  {
59469  try {
59470  (arg1)->CloseVisitTypes();
59471  }
59472  catch (Swig::DirectorException &e) {
59473  SWIG_fail;
59474  }
59475  }
59476  resultobj = SWIG_Py_Void();
59477  return resultobj;
59478 fail:
59479  return NULL;
59480 }
59481 
59482 
59483 SWIGINTERN PyObject *_wrap_RoutingModel_GetNumberOfVisitTypes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
59484  PyObject *resultobj = 0;
59486  void *argp1 = 0 ;
59487  int res1 = 0 ;
59488  PyObject * obj0 = 0 ;
59489  int result;
59490 
59491  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNumberOfVisitTypes", 1, 1, &obj0)) SWIG_fail;
59493  if (!SWIG_IsOK(res1)) {
59494  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNumberOfVisitTypes" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59495  }
59496  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59497  {
59498  try {
59499  result = (int)((operations_research::RoutingModel const *)arg1)->GetNumberOfVisitTypes();
59500  }
59501  catch (Swig::DirectorException &e) {
59502  SWIG_fail;
59503  }
59504  }
59505  resultobj = SWIG_From_int(static_cast< int >(result));
59506  return resultobj;
59507 fail:
59508  return NULL;
59509 }
59510 
59511 
59513  PyObject *resultobj = 0;
59515  int arg2 ;
59516  int arg3 ;
59517  void *argp1 = 0 ;
59518  int res1 = 0 ;
59519  int val2 ;
59520  int ecode2 = 0 ;
59521  int val3 ;
59522  int ecode3 = 0 ;
59523  PyObject * obj0 = 0 ;
59524  PyObject * obj1 = 0 ;
59525  PyObject * obj2 = 0 ;
59526 
59527  if (!PyArg_UnpackTuple(args, "RoutingModel_AddHardTypeIncompatibility", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59529  if (!SWIG_IsOK(res1)) {
59530  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddHardTypeIncompatibility" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59531  }
59532  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59533  ecode2 = SWIG_AsVal_int(obj1, &val2);
59534  if (!SWIG_IsOK(ecode2)) {
59535  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddHardTypeIncompatibility" "', argument " "2"" of type '" "int""'");
59536  }
59537  arg2 = static_cast< int >(val2);
59538  ecode3 = SWIG_AsVal_int(obj2, &val3);
59539  if (!SWIG_IsOK(ecode3)) {
59540  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddHardTypeIncompatibility" "', argument " "3"" of type '" "int""'");
59541  }
59542  arg3 = static_cast< int >(val3);
59543  {
59544  try {
59545  (arg1)->AddHardTypeIncompatibility(arg2,arg3);
59546  }
59547  catch (Swig::DirectorException &e) {
59548  SWIG_fail;
59549  }
59550  }
59551  resultobj = SWIG_Py_Void();
59552  return resultobj;
59553 fail:
59554  return NULL;
59555 }
59556 
59557 
59559  PyObject *resultobj = 0;
59561  int arg2 ;
59562  int arg3 ;
59563  void *argp1 = 0 ;
59564  int res1 = 0 ;
59565  int val2 ;
59566  int ecode2 = 0 ;
59567  int val3 ;
59568  int ecode3 = 0 ;
59569  PyObject * obj0 = 0 ;
59570  PyObject * obj1 = 0 ;
59571  PyObject * obj2 = 0 ;
59572 
59573  if (!PyArg_UnpackTuple(args, "RoutingModel_AddTemporalTypeIncompatibility", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59575  if (!SWIG_IsOK(res1)) {
59576  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddTemporalTypeIncompatibility" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59577  }
59578  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59579  ecode2 = SWIG_AsVal_int(obj1, &val2);
59580  if (!SWIG_IsOK(ecode2)) {
59581  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddTemporalTypeIncompatibility" "', argument " "2"" of type '" "int""'");
59582  }
59583  arg2 = static_cast< int >(val2);
59584  ecode3 = SWIG_AsVal_int(obj2, &val3);
59585  if (!SWIG_IsOK(ecode3)) {
59586  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddTemporalTypeIncompatibility" "', argument " "3"" of type '" "int""'");
59587  }
59588  arg3 = static_cast< int >(val3);
59589  {
59590  try {
59591  (arg1)->AddTemporalTypeIncompatibility(arg2,arg3);
59592  }
59593  catch (Swig::DirectorException &e) {
59594  SWIG_fail;
59595  }
59596  }
59597  resultobj = SWIG_Py_Void();
59598  return resultobj;
59599 fail:
59600  return NULL;
59601 }
59602 
59603 
59605  PyObject *resultobj = 0;
59607  int arg2 ;
59608  void *argp1 = 0 ;
59609  int res1 = 0 ;
59610  int val2 ;
59611  int ecode2 = 0 ;
59612  PyObject * obj0 = 0 ;
59613  PyObject * obj1 = 0 ;
59614  absl::flat_hash_set< int > *result = 0 ;
59615 
59616  if (!PyArg_UnpackTuple(args, "RoutingModel_GetHardTypeIncompatibilitiesOfType", 2, 2, &obj0, &obj1)) SWIG_fail;
59618  if (!SWIG_IsOK(res1)) {
59619  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetHardTypeIncompatibilitiesOfType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59620  }
59621  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59622  ecode2 = SWIG_AsVal_int(obj1, &val2);
59623  if (!SWIG_IsOK(ecode2)) {
59624  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetHardTypeIncompatibilitiesOfType" "', argument " "2"" of type '" "int""'");
59625  }
59626  arg2 = static_cast< int >(val2);
59627  {
59628  try {
59629  result = (absl::flat_hash_set< int > *) &((operations_research::RoutingModel const *)arg1)->GetHardTypeIncompatibilitiesOfType(arg2);
59630  }
59631  catch (Swig::DirectorException &e) {
59632  SWIG_fail;
59633  }
59634  }
59636  return resultobj;
59637 fail:
59638  return NULL;
59639 }
59640 
59641 
59643  PyObject *resultobj = 0;
59645  int arg2 ;
59646  void *argp1 = 0 ;
59647  int res1 = 0 ;
59648  int val2 ;
59649  int ecode2 = 0 ;
59650  PyObject * obj0 = 0 ;
59651  PyObject * obj1 = 0 ;
59652  absl::flat_hash_set< int > *result = 0 ;
59653 
59654  if (!PyArg_UnpackTuple(args, "RoutingModel_GetTemporalTypeIncompatibilitiesOfType", 2, 2, &obj0, &obj1)) SWIG_fail;
59656  if (!SWIG_IsOK(res1)) {
59657  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetTemporalTypeIncompatibilitiesOfType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59658  }
59659  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59660  ecode2 = SWIG_AsVal_int(obj1, &val2);
59661  if (!SWIG_IsOK(ecode2)) {
59662  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetTemporalTypeIncompatibilitiesOfType" "', argument " "2"" of type '" "int""'");
59663  }
59664  arg2 = static_cast< int >(val2);
59665  {
59666  try {
59667  result = (absl::flat_hash_set< int > *) &((operations_research::RoutingModel const *)arg1)->GetTemporalTypeIncompatibilitiesOfType(arg2);
59668  }
59669  catch (Swig::DirectorException &e) {
59670  SWIG_fail;
59671  }
59672  }
59674  return resultobj;
59675 fail:
59676  return NULL;
59677 }
59678 
59679 
59681  PyObject *resultobj = 0;
59683  void *argp1 = 0 ;
59684  int res1 = 0 ;
59685  PyObject * obj0 = 0 ;
59686  bool result;
59687 
59688  if (!PyArg_UnpackTuple(args, "RoutingModel_HasHardTypeIncompatibilities", 1, 1, &obj0)) SWIG_fail;
59690  if (!SWIG_IsOK(res1)) {
59691  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasHardTypeIncompatibilities" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59692  }
59693  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59694  {
59695  try {
59696  result = (bool)((operations_research::RoutingModel const *)arg1)->HasHardTypeIncompatibilities();
59697  }
59698  catch (Swig::DirectorException &e) {
59699  SWIG_fail;
59700  }
59701  }
59702  resultobj = SWIG_From_bool(static_cast< bool >(result));
59703  return resultobj;
59704 fail:
59705  return NULL;
59706 }
59707 
59708 
59710  PyObject *resultobj = 0;
59712  void *argp1 = 0 ;
59713  int res1 = 0 ;
59714  PyObject * obj0 = 0 ;
59715  bool result;
59716 
59717  if (!PyArg_UnpackTuple(args, "RoutingModel_HasTemporalTypeIncompatibilities", 1, 1, &obj0)) SWIG_fail;
59719  if (!SWIG_IsOK(res1)) {
59720  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasTemporalTypeIncompatibilities" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59721  }
59722  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59723  {
59724  try {
59725  result = (bool)((operations_research::RoutingModel const *)arg1)->HasTemporalTypeIncompatibilities();
59726  }
59727  catch (Swig::DirectorException &e) {
59728  SWIG_fail;
59729  }
59730  }
59731  resultobj = SWIG_From_bool(static_cast< bool >(result));
59732  return resultobj;
59733 fail:
59734  return NULL;
59735 }
59736 
59737 
59739  PyObject *resultobj = 0;
59741  int arg2 ;
59742  absl::flat_hash_set< int > arg3 ;
59743  void *argp1 = 0 ;
59744  int res1 = 0 ;
59745  int val2 ;
59746  int ecode2 = 0 ;
59747  void *argp3 ;
59748  int res3 = 0 ;
59749  PyObject * obj0 = 0 ;
59750  PyObject * obj1 = 0 ;
59751  PyObject * obj2 = 0 ;
59752 
59753  if (!PyArg_UnpackTuple(args, "RoutingModel_AddSameVehicleRequiredTypeAlternatives", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59755  if (!SWIG_IsOK(res1)) {
59756  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddSameVehicleRequiredTypeAlternatives" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59757  }
59758  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59759  ecode2 = SWIG_AsVal_int(obj1, &val2);
59760  if (!SWIG_IsOK(ecode2)) {
59761  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddSameVehicleRequiredTypeAlternatives" "', argument " "2"" of type '" "int""'");
59762  }
59763  arg2 = static_cast< int >(val2);
59764  {
59765  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_absl__flat_hash_setT_int_t, 0 | 0);
59766  if (!SWIG_IsOK(res3)) {
59767  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_AddSameVehicleRequiredTypeAlternatives" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59768  }
59769  if (!argp3) {
59770  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddSameVehicleRequiredTypeAlternatives" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59771  } else {
59772  absl::flat_hash_set< int > * temp = reinterpret_cast< absl::flat_hash_set< int > * >(argp3);
59773  arg3 = *temp;
59774  if (SWIG_IsNewObj(res3)) delete temp;
59775  }
59776  }
59777  {
59778  try {
59779  (arg1)->AddSameVehicleRequiredTypeAlternatives(arg2,arg3);
59780  }
59781  catch (Swig::DirectorException &e) {
59782  SWIG_fail;
59783  }
59784  }
59785  resultobj = SWIG_Py_Void();
59786  return resultobj;
59787 fail:
59788  return NULL;
59789 }
59790 
59791 
59793  PyObject *resultobj = 0;
59795  int arg2 ;
59796  absl::flat_hash_set< int > arg3 ;
59797  void *argp1 = 0 ;
59798  int res1 = 0 ;
59799  int val2 ;
59800  int ecode2 = 0 ;
59801  void *argp3 ;
59802  int res3 = 0 ;
59803  PyObject * obj0 = 0 ;
59804  PyObject * obj1 = 0 ;
59805  PyObject * obj2 = 0 ;
59806 
59807  if (!PyArg_UnpackTuple(args, "RoutingModel_AddRequiredTypeAlternativesWhenAddingType", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59809  if (!SWIG_IsOK(res1)) {
59810  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenAddingType" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59811  }
59812  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59813  ecode2 = SWIG_AsVal_int(obj1, &val2);
59814  if (!SWIG_IsOK(ecode2)) {
59815  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenAddingType" "', argument " "2"" of type '" "int""'");
59816  }
59817  arg2 = static_cast< int >(val2);
59818  {
59819  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_absl__flat_hash_setT_int_t, 0 | 0);
59820  if (!SWIG_IsOK(res3)) {
59821  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenAddingType" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59822  }
59823  if (!argp3) {
59824  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenAddingType" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59825  } else {
59826  absl::flat_hash_set< int > * temp = reinterpret_cast< absl::flat_hash_set< int > * >(argp3);
59827  arg3 = *temp;
59828  if (SWIG_IsNewObj(res3)) delete temp;
59829  }
59830  }
59831  {
59832  try {
59833  (arg1)->AddRequiredTypeAlternativesWhenAddingType(arg2,arg3);
59834  }
59835  catch (Swig::DirectorException &e) {
59836  SWIG_fail;
59837  }
59838  }
59839  resultobj = SWIG_Py_Void();
59840  return resultobj;
59841 fail:
59842  return NULL;
59843 }
59844 
59845 
59847  PyObject *resultobj = 0;
59849  int arg2 ;
59850  absl::flat_hash_set< int > arg3 ;
59851  void *argp1 = 0 ;
59852  int res1 = 0 ;
59853  int val2 ;
59854  int ecode2 = 0 ;
59855  void *argp3 ;
59856  int res3 = 0 ;
59857  PyObject * obj0 = 0 ;
59858  PyObject * obj1 = 0 ;
59859  PyObject * obj2 = 0 ;
59860 
59861  if (!PyArg_UnpackTuple(args, "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
59863  if (!SWIG_IsOK(res1)) {
59864  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
59865  }
59866  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59867  ecode2 = SWIG_AsVal_int(obj1, &val2);
59868  if (!SWIG_IsOK(ecode2)) {
59869  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType" "', argument " "2"" of type '" "int""'");
59870  }
59871  arg2 = static_cast< int >(val2);
59872  {
59873  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_absl__flat_hash_setT_int_t, 0 | 0);
59874  if (!SWIG_IsOK(res3)) {
59875  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59876  }
59877  if (!argp3) {
59878  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType" "', argument " "3"" of type '" "absl::flat_hash_set< int >""'");
59879  } else {
59880  absl::flat_hash_set< int > * temp = reinterpret_cast< absl::flat_hash_set< int > * >(argp3);
59881  arg3 = *temp;
59882  if (SWIG_IsNewObj(res3)) delete temp;
59883  }
59884  }
59885  {
59886  try {
59887  (arg1)->AddRequiredTypeAlternativesWhenRemovingType(arg2,arg3);
59888  }
59889  catch (Swig::DirectorException &e) {
59890  SWIG_fail;
59891  }
59892  }
59893  resultobj = SWIG_Py_Void();
59894  return resultobj;
59895 fail:
59896  return NULL;
59897 }
59898 
59899 
59901  PyObject *resultobj = 0;
59903  int arg2 ;
59904  void *argp1 = 0 ;
59905  int res1 = 0 ;
59906  int val2 ;
59907  int ecode2 = 0 ;
59908  PyObject * obj0 = 0 ;
59909  PyObject * obj1 = 0 ;
59910  std::vector< absl::flat_hash_set< int > > *result = 0 ;
59911 
59912  if (!PyArg_UnpackTuple(args, "RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType", 2, 2, &obj0, &obj1)) SWIG_fail;
59914  if (!SWIG_IsOK(res1)) {
59915  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59916  }
59917  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59918  ecode2 = SWIG_AsVal_int(obj1, &val2);
59919  if (!SWIG_IsOK(ecode2)) {
59920  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType" "', argument " "2"" of type '" "int""'");
59921  }
59922  arg2 = static_cast< int >(val2);
59923  {
59924  try {
59925  result = (std::vector< absl::flat_hash_set< int > > *) &((operations_research::RoutingModel const *)arg1)->GetSameVehicleRequiredTypeAlternativesOfType(arg2);
59926  }
59927  catch (Swig::DirectorException &e) {
59928  SWIG_fail;
59929  }
59930  }
59932  return resultobj;
59933 fail:
59934  return NULL;
59935 }
59936 
59937 
59939  PyObject *resultobj = 0;
59941  int arg2 ;
59942  void *argp1 = 0 ;
59943  int res1 = 0 ;
59944  int val2 ;
59945  int ecode2 = 0 ;
59946  PyObject * obj0 = 0 ;
59947  PyObject * obj1 = 0 ;
59948  std::vector< absl::flat_hash_set< int > > *result = 0 ;
59949 
59950  if (!PyArg_UnpackTuple(args, "RoutingModel_GetRequiredTypeAlternativesWhenAddingType", 2, 2, &obj0, &obj1)) SWIG_fail;
59952  if (!SWIG_IsOK(res1)) {
59953  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetRequiredTypeAlternativesWhenAddingType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59954  }
59955  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59956  ecode2 = SWIG_AsVal_int(obj1, &val2);
59957  if (!SWIG_IsOK(ecode2)) {
59958  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetRequiredTypeAlternativesWhenAddingType" "', argument " "2"" of type '" "int""'");
59959  }
59960  arg2 = static_cast< int >(val2);
59961  {
59962  try {
59963  result = (std::vector< absl::flat_hash_set< int > > *) &((operations_research::RoutingModel const *)arg1)->GetRequiredTypeAlternativesWhenAddingType(arg2);
59964  }
59965  catch (Swig::DirectorException &e) {
59966  SWIG_fail;
59967  }
59968  }
59970  return resultobj;
59971 fail:
59972  return NULL;
59973 }
59974 
59975 
59977  PyObject *resultobj = 0;
59979  int arg2 ;
59980  void *argp1 = 0 ;
59981  int res1 = 0 ;
59982  int val2 ;
59983  int ecode2 = 0 ;
59984  PyObject * obj0 = 0 ;
59985  PyObject * obj1 = 0 ;
59986  std::vector< absl::flat_hash_set< int > > *result = 0 ;
59987 
59988  if (!PyArg_UnpackTuple(args, "RoutingModel_GetRequiredTypeAlternativesWhenRemovingType", 2, 2, &obj0, &obj1)) SWIG_fail;
59990  if (!SWIG_IsOK(res1)) {
59991  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetRequiredTypeAlternativesWhenRemovingType" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
59992  }
59993  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
59994  ecode2 = SWIG_AsVal_int(obj1, &val2);
59995  if (!SWIG_IsOK(ecode2)) {
59996  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetRequiredTypeAlternativesWhenRemovingType" "', argument " "2"" of type '" "int""'");
59997  }
59998  arg2 = static_cast< int >(val2);
59999  {
60000  try {
60001  result = (std::vector< absl::flat_hash_set< int > > *) &((operations_research::RoutingModel const *)arg1)->GetRequiredTypeAlternativesWhenRemovingType(arg2);
60002  }
60003  catch (Swig::DirectorException &e) {
60004  SWIG_fail;
60005  }
60006  }
60008  return resultobj;
60009 fail:
60010  return NULL;
60011 }
60012 
60013 
60015  PyObject *resultobj = 0;
60017  void *argp1 = 0 ;
60018  int res1 = 0 ;
60019  PyObject * obj0 = 0 ;
60020  bool result;
60021 
60022  if (!PyArg_UnpackTuple(args, "RoutingModel_HasSameVehicleTypeRequirements", 1, 1, &obj0)) SWIG_fail;
60024  if (!SWIG_IsOK(res1)) {
60025  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasSameVehicleTypeRequirements" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60026  }
60027  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60028  {
60029  try {
60030  result = (bool)((operations_research::RoutingModel const *)arg1)->HasSameVehicleTypeRequirements();
60031  }
60032  catch (Swig::DirectorException &e) {
60033  SWIG_fail;
60034  }
60035  }
60036  resultobj = SWIG_From_bool(static_cast< bool >(result));
60037  return resultobj;
60038 fail:
60039  return NULL;
60040 }
60041 
60042 
60044  PyObject *resultobj = 0;
60046  void *argp1 = 0 ;
60047  int res1 = 0 ;
60048  PyObject * obj0 = 0 ;
60049  bool result;
60050 
60051  if (!PyArg_UnpackTuple(args, "RoutingModel_HasTemporalTypeRequirements", 1, 1, &obj0)) SWIG_fail;
60053  if (!SWIG_IsOK(res1)) {
60054  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasTemporalTypeRequirements" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60055  }
60056  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60057  {
60058  try {
60059  result = (bool)((operations_research::RoutingModel const *)arg1)->HasTemporalTypeRequirements();
60060  }
60061  catch (Swig::DirectorException &e) {
60062  SWIG_fail;
60063  }
60064  }
60065  resultobj = SWIG_From_bool(static_cast< bool >(result));
60066  return resultobj;
60067 fail:
60068  return NULL;
60069 }
60070 
60071 
60072 SWIGINTERN PyObject *_wrap_RoutingModel_HasTypeRegulations(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60073  PyObject *resultobj = 0;
60075  void *argp1 = 0 ;
60076  int res1 = 0 ;
60077  PyObject * obj0 = 0 ;
60078  bool result;
60079 
60080  if (!PyArg_UnpackTuple(args, "RoutingModel_HasTypeRegulations", 1, 1, &obj0)) SWIG_fail;
60082  if (!SWIG_IsOK(res1)) {
60083  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasTypeRegulations" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60084  }
60085  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60086  {
60087  try {
60088  result = (bool)((operations_research::RoutingModel const *)arg1)->HasTypeRegulations();
60089  }
60090  catch (Swig::DirectorException &e) {
60091  SWIG_fail;
60092  }
60093  }
60094  resultobj = SWIG_From_bool(static_cast< bool >(result));
60095  return resultobj;
60096 fail:
60097  return NULL;
60098 }
60099 
60100 
60101 SWIGINTERN PyObject *_wrap_RoutingModel_UnperformedPenalty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60102  PyObject *resultobj = 0;
60104  int64_t arg2 ;
60105  void *argp1 = 0 ;
60106  int res1 = 0 ;
60107  long val2 ;
60108  int ecode2 = 0 ;
60109  PyObject * obj0 = 0 ;
60110  PyObject * obj1 = 0 ;
60111  int64_t result;
60112 
60113  if (!PyArg_UnpackTuple(args, "RoutingModel_UnperformedPenalty", 2, 2, &obj0, &obj1)) SWIG_fail;
60115  if (!SWIG_IsOK(res1)) {
60116  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_UnperformedPenalty" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60117  }
60118  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60119  ecode2 = SWIG_AsVal_long(obj1, &val2);
60120  if (!SWIG_IsOK(ecode2)) {
60121  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_UnperformedPenalty" "', argument " "2"" of type '" "int64_t""'");
60122  }
60123  arg2 = static_cast< int64_t >(val2);
60124  {
60125  try {
60126  result = (int64_t)((operations_research::RoutingModel const *)arg1)->UnperformedPenalty(arg2);
60127  }
60128  catch (Swig::DirectorException &e) {
60129  SWIG_fail;
60130  }
60131  }
60132  resultobj = SWIG_From_long(static_cast< long >(result));
60133  return resultobj;
60134 fail:
60135  return NULL;
60136 }
60137 
60138 
60139 SWIGINTERN PyObject *_wrap_RoutingModel_UnperformedPenaltyOrValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60140  PyObject *resultobj = 0;
60142  int64_t arg2 ;
60143  int64_t arg3 ;
60144  void *argp1 = 0 ;
60145  int res1 = 0 ;
60146  long val2 ;
60147  int ecode2 = 0 ;
60148  long val3 ;
60149  int ecode3 = 0 ;
60150  PyObject * obj0 = 0 ;
60151  PyObject * obj1 = 0 ;
60152  PyObject * obj2 = 0 ;
60153  int64_t result;
60154 
60155  if (!PyArg_UnpackTuple(args, "RoutingModel_UnperformedPenaltyOrValue", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60157  if (!SWIG_IsOK(res1)) {
60158  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_UnperformedPenaltyOrValue" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60159  }
60160  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60161  ecode2 = SWIG_AsVal_long(obj1, &val2);
60162  if (!SWIG_IsOK(ecode2)) {
60163  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_UnperformedPenaltyOrValue" "', argument " "2"" of type '" "int64_t""'");
60164  }
60165  arg2 = static_cast< int64_t >(val2);
60166  ecode3 = SWIG_AsVal_long(obj2, &val3);
60167  if (!SWIG_IsOK(ecode3)) {
60168  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_UnperformedPenaltyOrValue" "', argument " "3"" of type '" "int64_t""'");
60169  }
60170  arg3 = static_cast< int64_t >(val3);
60171  {
60172  try {
60173  result = (int64_t)((operations_research::RoutingModel const *)arg1)->UnperformedPenaltyOrValue(arg2,arg3);
60174  }
60175  catch (Swig::DirectorException &e) {
60176  SWIG_fail;
60177  }
60178  }
60179  resultobj = SWIG_From_long(static_cast< long >(result));
60180  return resultobj;
60181 fail:
60182  return NULL;
60183 }
60184 
60185 
60186 SWIGINTERN PyObject *_wrap_RoutingModel_GetDepot(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60187  PyObject *resultobj = 0;
60189  void *argp1 = 0 ;
60190  int res1 = 0 ;
60191  PyObject * obj0 = 0 ;
60192  int64_t result;
60193 
60194  if (!PyArg_UnpackTuple(args, "RoutingModel_GetDepot", 1, 1, &obj0)) SWIG_fail;
60196  if (!SWIG_IsOK(res1)) {
60197  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetDepot" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60198  }
60199  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60200  {
60201  try {
60202  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetDepot();
60203  }
60204  catch (Swig::DirectorException &e) {
60205  SWIG_fail;
60206  }
60207  }
60208  resultobj = SWIG_From_long(static_cast< long >(result));
60209  return resultobj;
60210 fail:
60211  return NULL;
60212 }
60213 
60214 
60216  PyObject *resultobj = 0;
60218  int arg2 ;
60219  void *argp1 = 0 ;
60220  int res1 = 0 ;
60221  int val2 ;
60222  int ecode2 = 0 ;
60223  PyObject * obj0 = 0 ;
60224  PyObject * obj1 = 0 ;
60225 
60226  if (!PyArg_UnpackTuple(args, "RoutingModel_SetMaximumNumberOfActiveVehicles", 2, 2, &obj0, &obj1)) SWIG_fail;
60228  if (!SWIG_IsOK(res1)) {
60229  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetMaximumNumberOfActiveVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60230  }
60231  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60232  ecode2 = SWIG_AsVal_int(obj1, &val2);
60233  if (!SWIG_IsOK(ecode2)) {
60234  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetMaximumNumberOfActiveVehicles" "', argument " "2"" of type '" "int""'");
60235  }
60236  arg2 = static_cast< int >(val2);
60237  {
60238  try {
60239  (arg1)->SetMaximumNumberOfActiveVehicles(arg2);
60240  }
60241  catch (Swig::DirectorException &e) {
60242  SWIG_fail;
60243  }
60244  }
60245  resultobj = SWIG_Py_Void();
60246  return resultobj;
60247 fail:
60248  return NULL;
60249 }
60250 
60251 
60253  PyObject *resultobj = 0;
60255  void *argp1 = 0 ;
60256  int res1 = 0 ;
60257  PyObject * obj0 = 0 ;
60258  int result;
60259 
60260  if (!PyArg_UnpackTuple(args, "RoutingModel_GetMaximumNumberOfActiveVehicles", 1, 1, &obj0)) SWIG_fail;
60262  if (!SWIG_IsOK(res1)) {
60263  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetMaximumNumberOfActiveVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60264  }
60265  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60266  {
60267  try {
60268  result = (int)((operations_research::RoutingModel const *)arg1)->GetMaximumNumberOfActiveVehicles();
60269  }
60270  catch (Swig::DirectorException &e) {
60271  SWIG_fail;
60272  }
60273  }
60274  resultobj = SWIG_From_int(static_cast< int >(result));
60275  return resultobj;
60276 fail:
60277  return NULL;
60278 }
60279 
60280 
60282  PyObject *resultobj = 0;
60284  int arg2 ;
60285  void *argp1 = 0 ;
60286  int res1 = 0 ;
60287  int val2 ;
60288  int ecode2 = 0 ;
60289  PyObject * obj0 = 0 ;
60290  PyObject * obj1 = 0 ;
60291 
60292  if (!PyArg_UnpackTuple(args, "RoutingModel_SetArcCostEvaluatorOfAllVehicles", 2, 2, &obj0, &obj1)) SWIG_fail;
60294  if (!SWIG_IsOK(res1)) {
60295  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetArcCostEvaluatorOfAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60296  }
60297  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60298  ecode2 = SWIG_AsVal_int(obj1, &val2);
60299  if (!SWIG_IsOK(ecode2)) {
60300  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetArcCostEvaluatorOfAllVehicles" "', argument " "2"" of type '" "int""'");
60301  }
60302  arg2 = static_cast< int >(val2);
60303  {
60304  try {
60305  (arg1)->SetArcCostEvaluatorOfAllVehicles(arg2);
60306  }
60307  catch (Swig::DirectorException &e) {
60308  SWIG_fail;
60309  }
60310  }
60311  resultobj = SWIG_Py_Void();
60312  return resultobj;
60313 fail:
60314  return NULL;
60315 }
60316 
60317 
60319  PyObject *resultobj = 0;
60321  int arg2 ;
60322  int arg3 ;
60323  void *argp1 = 0 ;
60324  int res1 = 0 ;
60325  int val2 ;
60326  int ecode2 = 0 ;
60327  int val3 ;
60328  int ecode3 = 0 ;
60329  PyObject * obj0 = 0 ;
60330  PyObject * obj1 = 0 ;
60331  PyObject * obj2 = 0 ;
60332 
60333  if (!PyArg_UnpackTuple(args, "RoutingModel_SetArcCostEvaluatorOfVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60335  if (!SWIG_IsOK(res1)) {
60336  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetArcCostEvaluatorOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60337  }
60338  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60339  ecode2 = SWIG_AsVal_int(obj1, &val2);
60340  if (!SWIG_IsOK(ecode2)) {
60341  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetArcCostEvaluatorOfVehicle" "', argument " "2"" of type '" "int""'");
60342  }
60343  arg2 = static_cast< int >(val2);
60344  ecode3 = SWIG_AsVal_int(obj2, &val3);
60345  if (!SWIG_IsOK(ecode3)) {
60346  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetArcCostEvaluatorOfVehicle" "', argument " "3"" of type '" "int""'");
60347  }
60348  arg3 = static_cast< int >(val3);
60349  {
60350  try {
60351  (arg1)->SetArcCostEvaluatorOfVehicle(arg2,arg3);
60352  }
60353  catch (Swig::DirectorException &e) {
60354  SWIG_fail;
60355  }
60356  }
60357  resultobj = SWIG_Py_Void();
60358  return resultobj;
60359 fail:
60360  return NULL;
60361 }
60362 
60363 
60364 SWIGINTERN PyObject *_wrap_RoutingModel_SetFixedCostOfAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60365  PyObject *resultobj = 0;
60367  int64_t arg2 ;
60368  void *argp1 = 0 ;
60369  int res1 = 0 ;
60370  long val2 ;
60371  int ecode2 = 0 ;
60372  PyObject * obj0 = 0 ;
60373  PyObject * obj1 = 0 ;
60374 
60375  if (!PyArg_UnpackTuple(args, "RoutingModel_SetFixedCostOfAllVehicles", 2, 2, &obj0, &obj1)) SWIG_fail;
60377  if (!SWIG_IsOK(res1)) {
60378  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetFixedCostOfAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60379  }
60380  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60381  ecode2 = SWIG_AsVal_long(obj1, &val2);
60382  if (!SWIG_IsOK(ecode2)) {
60383  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetFixedCostOfAllVehicles" "', argument " "2"" of type '" "int64_t""'");
60384  }
60385  arg2 = static_cast< int64_t >(val2);
60386  {
60387  try {
60388  (arg1)->SetFixedCostOfAllVehicles(arg2);
60389  }
60390  catch (Swig::DirectorException &e) {
60391  SWIG_fail;
60392  }
60393  }
60394  resultobj = SWIG_Py_Void();
60395  return resultobj;
60396 fail:
60397  return NULL;
60398 }
60399 
60400 
60401 SWIGINTERN PyObject *_wrap_RoutingModel_SetFixedCostOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60402  PyObject *resultobj = 0;
60404  int64_t arg2 ;
60405  int arg3 ;
60406  void *argp1 = 0 ;
60407  int res1 = 0 ;
60408  long val2 ;
60409  int ecode2 = 0 ;
60410  int val3 ;
60411  int ecode3 = 0 ;
60412  PyObject * obj0 = 0 ;
60413  PyObject * obj1 = 0 ;
60414  PyObject * obj2 = 0 ;
60415 
60416  if (!PyArg_UnpackTuple(args, "RoutingModel_SetFixedCostOfVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60418  if (!SWIG_IsOK(res1)) {
60419  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetFixedCostOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60420  }
60421  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60422  ecode2 = SWIG_AsVal_long(obj1, &val2);
60423  if (!SWIG_IsOK(ecode2)) {
60424  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetFixedCostOfVehicle" "', argument " "2"" of type '" "int64_t""'");
60425  }
60426  arg2 = static_cast< int64_t >(val2);
60427  ecode3 = SWIG_AsVal_int(obj2, &val3);
60428  if (!SWIG_IsOK(ecode3)) {
60429  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetFixedCostOfVehicle" "', argument " "3"" of type '" "int""'");
60430  }
60431  arg3 = static_cast< int >(val3);
60432  {
60433  try {
60434  (arg1)->SetFixedCostOfVehicle(arg2,arg3);
60435  }
60436  catch (Swig::DirectorException &e) {
60437  SWIG_fail;
60438  }
60439  }
60440  resultobj = SWIG_Py_Void();
60441  return resultobj;
60442 fail:
60443  return NULL;
60444 }
60445 
60446 
60447 SWIGINTERN PyObject *_wrap_RoutingModel_GetFixedCostOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60448  PyObject *resultobj = 0;
60450  int arg2 ;
60451  void *argp1 = 0 ;
60452  int res1 = 0 ;
60453  int val2 ;
60454  int ecode2 = 0 ;
60455  PyObject * obj0 = 0 ;
60456  PyObject * obj1 = 0 ;
60457  int64_t result;
60458 
60459  if (!PyArg_UnpackTuple(args, "RoutingModel_GetFixedCostOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
60461  if (!SWIG_IsOK(res1)) {
60462  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetFixedCostOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60463  }
60464  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60465  ecode2 = SWIG_AsVal_int(obj1, &val2);
60466  if (!SWIG_IsOK(ecode2)) {
60467  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetFixedCostOfVehicle" "', argument " "2"" of type '" "int""'");
60468  }
60469  arg2 = static_cast< int >(val2);
60470  {
60471  try {
60472  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetFixedCostOfVehicle(arg2);
60473  }
60474  catch (Swig::DirectorException &e) {
60475  SWIG_fail;
60476  }
60477  }
60478  resultobj = SWIG_From_long(static_cast< long >(result));
60479  return resultobj;
60480 fail:
60481  return NULL;
60482 }
60483 
60484 
60486  PyObject *resultobj = 0;
60488  int64_t arg2 ;
60489  int64_t arg3 ;
60490  void *argp1 = 0 ;
60491  int res1 = 0 ;
60492  long val2 ;
60493  int ecode2 = 0 ;
60494  long val3 ;
60495  int ecode3 = 0 ;
60496  PyObject * obj0 = 0 ;
60497  PyObject * obj1 = 0 ;
60498  PyObject * obj2 = 0 ;
60499 
60500  if (!PyArg_UnpackTuple(args, "RoutingModel_SetAmortizedCostFactorsOfAllVehicles", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60502  if (!SWIG_IsOK(res1)) {
60503  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetAmortizedCostFactorsOfAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60504  }
60505  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60506  ecode2 = SWIG_AsVal_long(obj1, &val2);
60507  if (!SWIG_IsOK(ecode2)) {
60508  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetAmortizedCostFactorsOfAllVehicles" "', argument " "2"" of type '" "int64_t""'");
60509  }
60510  arg2 = static_cast< int64_t >(val2);
60511  ecode3 = SWIG_AsVal_long(obj2, &val3);
60512  if (!SWIG_IsOK(ecode3)) {
60513  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetAmortizedCostFactorsOfAllVehicles" "', argument " "3"" of type '" "int64_t""'");
60514  }
60515  arg3 = static_cast< int64_t >(val3);
60516  {
60517  try {
60518  (arg1)->SetAmortizedCostFactorsOfAllVehicles(arg2,arg3);
60519  }
60520  catch (Swig::DirectorException &e) {
60521  SWIG_fail;
60522  }
60523  }
60524  resultobj = SWIG_Py_Void();
60525  return resultobj;
60526 fail:
60527  return NULL;
60528 }
60529 
60530 
60532  PyObject *resultobj = 0;
60534  int64_t arg2 ;
60535  int64_t arg3 ;
60536  int arg4 ;
60537  void *argp1 = 0 ;
60538  int res1 = 0 ;
60539  long val2 ;
60540  int ecode2 = 0 ;
60541  long val3 ;
60542  int ecode3 = 0 ;
60543  int val4 ;
60544  int ecode4 = 0 ;
60545  PyObject * obj0 = 0 ;
60546  PyObject * obj1 = 0 ;
60547  PyObject * obj2 = 0 ;
60548  PyObject * obj3 = 0 ;
60549 
60550  if (!PyArg_UnpackTuple(args, "RoutingModel_SetAmortizedCostFactorsOfVehicle", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
60552  if (!SWIG_IsOK(res1)) {
60553  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetAmortizedCostFactorsOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60554  }
60555  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60556  ecode2 = SWIG_AsVal_long(obj1, &val2);
60557  if (!SWIG_IsOK(ecode2)) {
60558  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_SetAmortizedCostFactorsOfVehicle" "', argument " "2"" of type '" "int64_t""'");
60559  }
60560  arg2 = static_cast< int64_t >(val2);
60561  ecode3 = SWIG_AsVal_long(obj2, &val3);
60562  if (!SWIG_IsOK(ecode3)) {
60563  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_SetAmortizedCostFactorsOfVehicle" "', argument " "3"" of type '" "int64_t""'");
60564  }
60565  arg3 = static_cast< int64_t >(val3);
60566  ecode4 = SWIG_AsVal_int(obj3, &val4);
60567  if (!SWIG_IsOK(ecode4)) {
60568  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_SetAmortizedCostFactorsOfVehicle" "', argument " "4"" of type '" "int""'");
60569  }
60570  arg4 = static_cast< int >(val4);
60571  {
60572  try {
60573  (arg1)->SetAmortizedCostFactorsOfVehicle(arg2,arg3,arg4);
60574  }
60575  catch (Swig::DirectorException &e) {
60576  SWIG_fail;
60577  }
60578  }
60579  resultobj = SWIG_Py_Void();
60580  return resultobj;
60581 fail:
60582  return NULL;
60583 }
60584 
60585 
60587  PyObject *resultobj = 0;
60589  void *argp1 = 0 ;
60590  int res1 = 0 ;
60591  PyObject * obj0 = 0 ;
60592  std::vector< int64_t > *result = 0 ;
60593 
60594  if (!PyArg_UnpackTuple(args, "RoutingModel_GetAmortizedLinearCostFactorOfVehicles", 1, 1, &obj0)) SWIG_fail;
60596  if (!SWIG_IsOK(res1)) {
60597  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetAmortizedLinearCostFactorOfVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60598  }
60599  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60600  {
60601  try {
60602  result = (std::vector< int64_t > *) &((operations_research::RoutingModel const *)arg1)->GetAmortizedLinearCostFactorOfVehicles();
60603  }
60604  catch (Swig::DirectorException &e) {
60605  SWIG_fail;
60606  }
60607  }
60608  {
60609  resultobj = vector_output_helper(result, &PyLong_FromLongLong);
60610  }
60611  return resultobj;
60612 fail:
60613  return NULL;
60614 }
60615 
60616 
60618  PyObject *resultobj = 0;
60620  void *argp1 = 0 ;
60621  int res1 = 0 ;
60622  PyObject * obj0 = 0 ;
60623  std::vector< int64_t > *result = 0 ;
60624 
60625  if (!PyArg_UnpackTuple(args, "RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles", 1, 1, &obj0)) SWIG_fail;
60627  if (!SWIG_IsOK(res1)) {
60628  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60629  }
60630  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60631  {
60632  try {
60633  result = (std::vector< int64_t > *) &((operations_research::RoutingModel const *)arg1)->GetAmortizedQuadraticCostFactorOfVehicles();
60634  }
60635  catch (Swig::DirectorException &e) {
60636  SWIG_fail;
60637  }
60638  }
60639  {
60640  resultobj = vector_output_helper(result, &PyLong_FromLongLong);
60641  }
60642  return resultobj;
60643 fail:
60644  return NULL;
60645 }
60646 
60647 
60649  PyObject *resultobj = 0;
60651  bool arg2 ;
60652  int arg3 ;
60653  void *argp1 = 0 ;
60654  int res1 = 0 ;
60655  bool val2 ;
60656  int ecode2 = 0 ;
60657  int val3 ;
60658  int ecode3 = 0 ;
60659  PyObject * obj0 = 0 ;
60660  PyObject * obj1 = 0 ;
60661  PyObject * obj2 = 0 ;
60662 
60663  if (!PyArg_UnpackTuple(args, "RoutingModel_ConsiderEmptyRouteCostsForVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60665  if (!SWIG_IsOK(res1)) {
60666  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ConsiderEmptyRouteCostsForVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60667  }
60668  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60669  ecode2 = SWIG_AsVal_bool(obj1, &val2);
60670  if (!SWIG_IsOK(ecode2)) {
60671  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_ConsiderEmptyRouteCostsForVehicle" "', argument " "2"" of type '" "bool""'");
60672  }
60673  arg2 = static_cast< bool >(val2);
60674  ecode3 = SWIG_AsVal_int(obj2, &val3);
60675  if (!SWIG_IsOK(ecode3)) {
60676  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_ConsiderEmptyRouteCostsForVehicle" "', argument " "3"" of type '" "int""'");
60677  }
60678  arg3 = static_cast< int >(val3);
60679  {
60680  try {
60681  (arg1)->ConsiderEmptyRouteCostsForVehicle(arg2,arg3);
60682  }
60683  catch (Swig::DirectorException &e) {
60684  SWIG_fail;
60685  }
60686  }
60687  resultobj = SWIG_Py_Void();
60688  return resultobj;
60689 fail:
60690  return NULL;
60691 }
60692 
60693 
60695  PyObject *resultobj = 0;
60697  int arg2 ;
60698  void *argp1 = 0 ;
60699  int res1 = 0 ;
60700  int val2 ;
60701  int ecode2 = 0 ;
60702  PyObject * obj0 = 0 ;
60703  PyObject * obj1 = 0 ;
60704  bool result;
60705 
60706  if (!PyArg_UnpackTuple(args, "RoutingModel_AreEmptyRouteCostsConsideredForVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
60708  if (!SWIG_IsOK(res1)) {
60709  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AreEmptyRouteCostsConsideredForVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
60710  }
60711  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60712  ecode2 = SWIG_AsVal_int(obj1, &val2);
60713  if (!SWIG_IsOK(ecode2)) {
60714  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_AreEmptyRouteCostsConsideredForVehicle" "', argument " "2"" of type '" "int""'");
60715  }
60716  arg2 = static_cast< int >(val2);
60717  {
60718  try {
60719  result = (bool)((operations_research::RoutingModel const *)arg1)->AreEmptyRouteCostsConsideredForVehicle(arg2);
60720  }
60721  catch (Swig::DirectorException &e) {
60722  SWIG_fail;
60723  }
60724  }
60725  resultobj = SWIG_From_bool(static_cast< bool >(result));
60726  return resultobj;
60727 fail:
60728  return NULL;
60729 }
60730 
60731 
60732 SWIGINTERN PyObject *_wrap_RoutingModel_SetFirstSolutionEvaluator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60733  PyObject *resultobj = 0;
60736  void *argp1 = 0 ;
60737  int res1 = 0 ;
60738  PyObject * obj0 = 0 ;
60739  PyObject * obj1 = 0 ;
60740 
60741  if (!PyArg_UnpackTuple(args, "RoutingModel_SetFirstSolutionEvaluator", 2, 2, &obj0, &obj1)) SWIG_fail;
60743  if (!SWIG_IsOK(res1)) {
60744  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetFirstSolutionEvaluator" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60745  }
60746  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60747  {
60748  SharedPyPtr input(obj1);
60749  arg2 = [input](int64_t i, int64_t j) {
60750  return InvokePythonCallableReturning<int64_t>(input.get(), "LL", i, j);
60751  };
60752  }
60753  {
60754  try {
60755  (arg1)->SetFirstSolutionEvaluator(arg2);
60756  }
60757  catch (Swig::DirectorException &e) {
60758  SWIG_fail;
60759  }
60760  }
60761  resultobj = SWIG_Py_Void();
60762  return resultobj;
60763 fail:
60764  return NULL;
60765 }
60766 
60767 
60768 SWIGINTERN PyObject *_wrap_RoutingModel_AddLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60769  PyObject *resultobj = 0;
60772  void *argp1 = 0 ;
60773  int res1 = 0 ;
60774  void *argp2 = 0 ;
60775  int res2 = 0 ;
60776  PyObject * obj0 = 0 ;
60777  PyObject * obj1 = 0 ;
60778 
60779  if (!PyArg_UnpackTuple(args, "RoutingModel_AddLocalSearchOperator", 2, 2, &obj0, &obj1)) SWIG_fail;
60781  if (!SWIG_IsOK(res1)) {
60782  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddLocalSearchOperator" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60783  }
60784  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60786  if (!SWIG_IsOK(res2)) {
60787  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddLocalSearchOperator" "', argument " "2"" of type '" "operations_research::LocalSearchOperator *""'");
60788  }
60789  arg2 = reinterpret_cast< operations_research::LocalSearchOperator * >(argp2);
60790  {
60791  try {
60792  (arg1)->AddLocalSearchOperator(arg2);
60793  }
60794  catch (Swig::DirectorException &e) {
60795  SWIG_fail;
60796  }
60797  }
60798  resultobj = SWIG_Py_Void();
60799  return resultobj;
60800 fail:
60801  return NULL;
60802 }
60803 
60804 
60805 SWIGINTERN PyObject *_wrap_RoutingModel_AddSearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60806  PyObject *resultobj = 0;
60809  void *argp1 = 0 ;
60810  int res1 = 0 ;
60811  PyObject * obj0 = 0 ;
60812  PyObject * obj1 = 0 ;
60813 
60814  if (!PyArg_UnpackTuple(args, "RoutingModel_AddSearchMonitor", 2, 2, &obj0, &obj1)) SWIG_fail;
60816  if (!SWIG_IsOK(res1)) {
60817  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddSearchMonitor" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60818  }
60819  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60820  {
60821  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
60822  }
60823  {
60824  try {
60825  (arg1)->AddSearchMonitor(arg2);
60826  }
60827  catch (Swig::DirectorException &e) {
60828  SWIG_fail;
60829  }
60830  }
60831  resultobj = SWIG_Py_Void();
60832  return resultobj;
60833 fail:
60834  return NULL;
60835 }
60836 
60837 
60838 SWIGINTERN PyObject *_wrap_RoutingModel_AddAtSolutionCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
60839  PyObject *resultobj = 0;
60841  std::function< void () > arg2 ;
60842  void *argp1 = 0 ;
60843  int res1 = 0 ;
60844  PyObject * obj0 = 0 ;
60845  PyObject * obj1 = 0 ;
60846 
60847  if (!PyArg_UnpackTuple(args, "RoutingModel_AddAtSolutionCallback", 2, 2, &obj0, &obj1)) SWIG_fail;
60849  if (!SWIG_IsOK(res1)) {
60850  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddAtSolutionCallback" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60851  }
60852  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60853  {
60854  SharedPyPtr input(obj1);
60855  arg2 = [input]() {
60856  return InvokePythonCallableReturning<void>(input.get());
60857  };
60858  }
60859  {
60860  try {
60861  (arg1)->AddAtSolutionCallback(arg2);
60862  }
60863  catch (Swig::DirectorException &e) {
60864  SWIG_fail;
60865  }
60866  }
60867  resultobj = SWIG_Py_Void();
60868  return resultobj;
60869 fail:
60870  return NULL;
60871 }
60872 
60873 
60875  PyObject *resultobj = 0;
60878  void *argp1 = 0 ;
60879  int res1 = 0 ;
60880  void *argp2 = 0 ;
60881  int res2 = 0 ;
60882  PyObject * obj0 = 0 ;
60883  PyObject * obj1 = 0 ;
60884 
60885  if (!PyArg_UnpackTuple(args, "RoutingModel_AddVariableMinimizedByFinalizer", 2, 2, &obj0, &obj1)) SWIG_fail;
60887  if (!SWIG_IsOK(res1)) {
60888  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddVariableMinimizedByFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60889  }
60890  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60891  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
60892  if (!SWIG_IsOK(res2)) {
60893  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddVariableMinimizedByFinalizer" "', argument " "2"" of type '" "operations_research::IntVar *""'");
60894  }
60895  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
60896  {
60897  try {
60898  (arg1)->AddVariableMinimizedByFinalizer(arg2);
60899  }
60900  catch (Swig::DirectorException &e) {
60901  SWIG_fail;
60902  }
60903  }
60904  resultobj = SWIG_Py_Void();
60905  return resultobj;
60906 fail:
60907  return NULL;
60908 }
60909 
60910 
60912  PyObject *resultobj = 0;
60915  void *argp1 = 0 ;
60916  int res1 = 0 ;
60917  void *argp2 = 0 ;
60918  int res2 = 0 ;
60919  PyObject * obj0 = 0 ;
60920  PyObject * obj1 = 0 ;
60921 
60922  if (!PyArg_UnpackTuple(args, "RoutingModel_AddVariableMaximizedByFinalizer", 2, 2, &obj0, &obj1)) SWIG_fail;
60924  if (!SWIG_IsOK(res1)) {
60925  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddVariableMaximizedByFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60926  }
60927  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60928  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
60929  if (!SWIG_IsOK(res2)) {
60930  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddVariableMaximizedByFinalizer" "', argument " "2"" of type '" "operations_research::IntVar *""'");
60931  }
60932  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
60933  {
60934  try {
60935  (arg1)->AddVariableMaximizedByFinalizer(arg2);
60936  }
60937  catch (Swig::DirectorException &e) {
60938  SWIG_fail;
60939  }
60940  }
60941  resultobj = SWIG_Py_Void();
60942  return resultobj;
60943 fail:
60944  return NULL;
60945 }
60946 
60947 
60949  PyObject *resultobj = 0;
60952  int64_t arg3 ;
60953  void *argp1 = 0 ;
60954  int res1 = 0 ;
60955  void *argp2 = 0 ;
60956  int res2 = 0 ;
60957  long val3 ;
60958  int ecode3 = 0 ;
60959  PyObject * obj0 = 0 ;
60960  PyObject * obj1 = 0 ;
60961  PyObject * obj2 = 0 ;
60962 
60963  if (!PyArg_UnpackTuple(args, "RoutingModel_AddWeightedVariableMinimizedByFinalizer", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
60965  if (!SWIG_IsOK(res1)) {
60966  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddWeightedVariableMinimizedByFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
60967  }
60968  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
60969  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
60970  if (!SWIG_IsOK(res2)) {
60971  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddWeightedVariableMinimizedByFinalizer" "', argument " "2"" of type '" "operations_research::IntVar *""'");
60972  }
60973  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
60974  ecode3 = SWIG_AsVal_long(obj2, &val3);
60975  if (!SWIG_IsOK(ecode3)) {
60976  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddWeightedVariableMinimizedByFinalizer" "', argument " "3"" of type '" "int64_t""'");
60977  }
60978  arg3 = static_cast< int64_t >(val3);
60979  {
60980  try {
60981  (arg1)->AddWeightedVariableMinimizedByFinalizer(arg2,arg3);
60982  }
60983  catch (Swig::DirectorException &e) {
60984  SWIG_fail;
60985  }
60986  }
60987  resultobj = SWIG_Py_Void();
60988  return resultobj;
60989 fail:
60990  return NULL;
60991 }
60992 
60993 
60995  PyObject *resultobj = 0;
60998  int64_t arg3 ;
60999  void *argp1 = 0 ;
61000  int res1 = 0 ;
61001  void *argp2 = 0 ;
61002  int res2 = 0 ;
61003  long val3 ;
61004  int ecode3 = 0 ;
61005  PyObject * obj0 = 0 ;
61006  PyObject * obj1 = 0 ;
61007  PyObject * obj2 = 0 ;
61008 
61009  if (!PyArg_UnpackTuple(args, "RoutingModel_AddVariableTargetToFinalizer", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
61011  if (!SWIG_IsOK(res1)) {
61012  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddVariableTargetToFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61013  }
61014  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61015  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__IntVar, 0 | 0 );
61016  if (!SWIG_IsOK(res2)) {
61017  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddVariableTargetToFinalizer" "', argument " "2"" of type '" "operations_research::IntVar *""'");
61018  }
61019  arg2 = reinterpret_cast< operations_research::IntVar * >(argp2);
61020  ecode3 = SWIG_AsVal_long(obj2, &val3);
61021  if (!SWIG_IsOK(ecode3)) {
61022  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_AddVariableTargetToFinalizer" "', argument " "3"" of type '" "int64_t""'");
61023  }
61024  arg3 = static_cast< int64_t >(val3);
61025  {
61026  try {
61027  (arg1)->AddVariableTargetToFinalizer(arg2,arg3);
61028  }
61029  catch (Swig::DirectorException &e) {
61030  SWIG_fail;
61031  }
61032  }
61033  resultobj = SWIG_Py_Void();
61034  return resultobj;
61035 fail:
61036  return NULL;
61037 }
61038 
61039 
61040 SWIGINTERN PyObject *_wrap_RoutingModel_CloseModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61041  PyObject *resultobj = 0;
61043  void *argp1 = 0 ;
61044  int res1 = 0 ;
61045  PyObject * obj0 = 0 ;
61046 
61047  if (!PyArg_UnpackTuple(args, "RoutingModel_CloseModel", 1, 1, &obj0)) SWIG_fail;
61049  if (!SWIG_IsOK(res1)) {
61050  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CloseModel" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61051  }
61052  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61053  {
61054  try {
61055  (arg1)->CloseModel();
61056  }
61057  catch (Swig::DirectorException &e) {
61058  SWIG_fail;
61059  }
61060  }
61061  resultobj = SWIG_Py_Void();
61062  return resultobj;
61063 fail:
61064  return NULL;
61065 }
61066 
61067 
61068 SWIGINTERN PyObject *_wrap_RoutingModel_CloseModelWithParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61069  PyObject *resultobj = 0;
61072  void *argp1 = 0 ;
61073  int res1 = 0 ;
61074  PyObject * obj0 = 0 ;
61075  PyObject * obj1 = 0 ;
61076 
61077  if (!PyArg_UnpackTuple(args, "RoutingModel_CloseModelWithParameters", 2, 2, &obj0, &obj1)) SWIG_fail;
61079  if (!SWIG_IsOK(res1)) {
61080  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CloseModelWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61081  }
61082  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61083  {
61085  PyObject* const pyresult = PyObject_CallMethod(
61086  obj1, const_cast<char*>("SerializeToString"), nullptr);
61087  if (pyresult != nullptr) {
61088  char* buffer = nullptr;
61089  Py_ssize_t length = 0;
61090  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61091  if (buffer != nullptr) {
61092  arg2->ParseFromArray(buffer, length);
61093  }
61094  Py_DECREF(pyresult);
61095  }
61096  }
61097  {
61098  try {
61099  (arg1)->CloseModelWithParameters((operations_research::RoutingSearchParameters const &)*arg2);
61100  }
61101  catch (Swig::DirectorException &e) {
61102  SWIG_fail;
61103  }
61104  }
61105  resultobj = SWIG_Py_Void();
61106  {
61107  delete arg2;
61108  }
61109  return resultobj;
61110 fail:
61111  {
61112  delete arg2;
61113  }
61114  return NULL;
61115 }
61116 
61117 
61118 SWIGINTERN PyObject *_wrap_RoutingModel_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61119  PyObject *resultobj = 0;
61122  void *argp1 = 0 ;
61123  int res1 = 0 ;
61124  void *argp2 = 0 ;
61125  int res2 = 0 ;
61126  PyObject * obj0 = 0 ;
61127  PyObject * obj1 = 0 ;
61128  operations_research::Assignment *result = 0 ;
61129 
61130  if (!PyArg_UnpackTuple(args, "RoutingModel_Solve", 2, 2, &obj0, &obj1)) SWIG_fail;
61132  if (!SWIG_IsOK(res1)) {
61133  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_Solve" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61134  }
61135  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61136  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
61137  if (!SWIG_IsOK(res2)) {
61138  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_Solve" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
61139  }
61140  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
61141  {
61142  try {
61143  result = (operations_research::Assignment *)(arg1)->Solve((operations_research::Assignment const *)arg2);
61144  }
61145  catch (Swig::DirectorException &e) {
61146  SWIG_fail;
61147  }
61148  }
61150  return resultobj;
61151 fail:
61152  return NULL;
61153 }
61154 
61155 
61156 SWIGINTERN PyObject *_wrap_RoutingModel_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61157  PyObject *resultobj = 0;
61159  void *argp1 = 0 ;
61160  int res1 = 0 ;
61161  PyObject * obj0 = 0 ;
61162  operations_research::Assignment *result = 0 ;
61163 
61164  if (!PyArg_UnpackTuple(args, "RoutingModel_Solve", 1, 1, &obj0)) SWIG_fail;
61166  if (!SWIG_IsOK(res1)) {
61167  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_Solve" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61168  }
61169  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61170  {
61171  try {
61172  result = (operations_research::Assignment *)(arg1)->Solve();
61173  }
61174  catch (Swig::DirectorException &e) {
61175  SWIG_fail;
61176  }
61177  }
61179  return resultobj;
61180 fail:
61181  return NULL;
61182 }
61183 
61184 
61185 SWIGINTERN PyObject *_wrap_RoutingModel_Solve(PyObject *self, PyObject *args) {
61186  Py_ssize_t argc;
61187  PyObject *argv[3] = {
61188  0
61189  };
61190  Py_ssize_t ii;
61191 
61192  if (!PyTuple_Check(args)) SWIG_fail;
61193  argc = PyObject_Length(args);
61194  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
61195  argv[ii] = PyTuple_GET_ITEM(args,ii);
61196  }
61197  if (argc == 1) {
61198  int _v;
61199  void *vptr = 0;
61200  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61201  _v = SWIG_CheckState(res);
61202  if (_v) {
61203  return _wrap_RoutingModel_Solve__SWIG_1(self, args);
61204  }
61205  }
61206  if (argc == 2) {
61207  int _v;
61208  void *vptr = 0;
61209  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61210  _v = SWIG_CheckState(res);
61211  if (_v) {
61212  void *vptr = 0;
61213  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
61214  _v = SWIG_CheckState(res);
61215  if (_v) {
61216  return _wrap_RoutingModel_Solve__SWIG_0(self, args);
61217  }
61218  }
61219  }
61220 
61221 fail:
61222  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'RoutingModel_Solve'.\n"
61223  " Possible C/C++ prototypes are:\n"
61224  " operations_research::RoutingModel::Solve(operations_research::Assignment const *)\n"
61225  " operations_research::RoutingModel::Solve()\n");
61226  return 0;
61227 }
61228 
61229 
61231  PyObject *resultobj = 0;
61234  std::vector< operations_research::Assignment const * > *arg3 = (std::vector< operations_research::Assignment const * > *) 0 ;
61235  void *argp1 = 0 ;
61236  int res1 = 0 ;
61237  void *argp3 = 0 ;
61238  int res3 = 0 ;
61239  PyObject * obj0 = 0 ;
61240  PyObject * obj1 = 0 ;
61241  PyObject * obj2 = 0 ;
61242  operations_research::Assignment *result = 0 ;
61243 
61244  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveWithParameters", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
61246  if (!SWIG_IsOK(res1)) {
61247  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61248  }
61249  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61250  {
61252  PyObject* const pyresult = PyObject_CallMethod(
61253  obj1, const_cast<char*>("SerializeToString"), nullptr);
61254  if (pyresult != nullptr) {
61255  char* buffer = nullptr;
61256  Py_ssize_t length = 0;
61257  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61258  if (buffer != nullptr) {
61259  arg2->ParseFromArray(buffer, length);
61260  }
61261  Py_DECREF(pyresult);
61262  }
61263  }
61265  if (!SWIG_IsOK(res3)) {
61266  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_SolveWithParameters" "', argument " "3"" of type '" "std::vector< operations_research::Assignment const * > *""'");
61267  }
61268  arg3 = reinterpret_cast< std::vector< operations_research::Assignment const * > * >(argp3);
61269  {
61270  try {
61271  result = (operations_research::Assignment *)(arg1)->SolveWithParameters((operations_research::RoutingSearchParameters const &)*arg2,arg3);
61272  }
61273  catch (Swig::DirectorException &e) {
61274  SWIG_fail;
61275  }
61276  }
61278  {
61279  delete arg2;
61280  }
61281  return resultobj;
61282 fail:
61283  {
61284  delete arg2;
61285  }
61286  return NULL;
61287 }
61288 
61289 
61291  PyObject *resultobj = 0;
61294  void *argp1 = 0 ;
61295  int res1 = 0 ;
61296  PyObject * obj0 = 0 ;
61297  PyObject * obj1 = 0 ;
61298  operations_research::Assignment *result = 0 ;
61299 
61300  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveWithParameters", 2, 2, &obj0, &obj1)) SWIG_fail;
61302  if (!SWIG_IsOK(res1)) {
61303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61304  }
61305  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61306  {
61308  PyObject* const pyresult = PyObject_CallMethod(
61309  obj1, const_cast<char*>("SerializeToString"), nullptr);
61310  if (pyresult != nullptr) {
61311  char* buffer = nullptr;
61312  Py_ssize_t length = 0;
61313  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61314  if (buffer != nullptr) {
61315  arg2->ParseFromArray(buffer, length);
61316  }
61317  Py_DECREF(pyresult);
61318  }
61319  }
61320  {
61321  try {
61322  result = (operations_research::Assignment *)(arg1)->SolveWithParameters((operations_research::RoutingSearchParameters const &)*arg2);
61323  }
61324  catch (Swig::DirectorException &e) {
61325  SWIG_fail;
61326  }
61327  }
61329  {
61330  delete arg2;
61331  }
61332  return resultobj;
61333 fail:
61334  {
61335  delete arg2;
61336  }
61337  return NULL;
61338 }
61339 
61340 
61341 SWIGINTERN PyObject *_wrap_RoutingModel_SolveWithParameters(PyObject *self, PyObject *args) {
61342  Py_ssize_t argc;
61343  PyObject *argv[4] = {
61344  0
61345  };
61346  Py_ssize_t ii;
61347 
61348  if (!PyTuple_Check(args)) SWIG_fail;
61349  argc = PyObject_Length(args);
61350  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
61351  argv[ii] = PyTuple_GET_ITEM(args,ii);
61352  }
61353  if (argc == 2) {
61354  int _v;
61355  void *vptr = 0;
61356  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61357  _v = SWIG_CheckState(res);
61358  if (_v) {
61359  {
61360  bool ok = false;
61361  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61362  if (module != nullptr) {
61363  PyObject* const dict = PyModule_GetDict(module);
61364  if (dict != nullptr) {
61365  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61366  if (clss != nullptr) {
61367  if (PyObject_IsInstance(argv[1], clss)) {
61368  ok = true;
61369  }
61370  }
61371  }
61372  Py_DECREF(module);
61373  }
61374  _v = ok ? 1 : 0;
61375  }
61376  if (_v) {
61378  }
61379  }
61380  }
61381  if (argc == 3) {
61382  int _v;
61383  void *vptr = 0;
61384  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61385  _v = SWIG_CheckState(res);
61386  if (_v) {
61387  {
61388  bool ok = false;
61389  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61390  if (module != nullptr) {
61391  PyObject* const dict = PyModule_GetDict(module);
61392  if (dict != nullptr) {
61393  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61394  if (clss != nullptr) {
61395  if (PyObject_IsInstance(argv[1], clss)) {
61396  ok = true;
61397  }
61398  }
61399  }
61400  Py_DECREF(module);
61401  }
61402  _v = ok ? 1 : 0;
61403  }
61404  if (_v) {
61405  void *vptr = 0;
61407  _v = SWIG_CheckState(res);
61408  if (_v) {
61410  }
61411  }
61412  }
61413  }
61414 
61415 fail:
61416  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'RoutingModel_SolveWithParameters'.\n"
61417  " Possible C/C++ prototypes are:\n"
61418  " operations_research::RoutingModel::SolveWithParameters(operations_research::RoutingSearchParameters const &,std::vector< operations_research::Assignment const * > *)\n"
61419  " operations_research::RoutingModel::SolveWithParameters(operations_research::RoutingSearchParameters const &)\n");
61420  return 0;
61421 }
61422 
61423 
61425  PyObject *resultobj = 0;
61429  std::vector< operations_research::Assignment const * > *arg4 = (std::vector< operations_research::Assignment const * > *) 0 ;
61430  void *argp1 = 0 ;
61431  int res1 = 0 ;
61432  void *argp2 = 0 ;
61433  int res2 = 0 ;
61434  void *argp4 = 0 ;
61435  int res4 = 0 ;
61436  PyObject * obj0 = 0 ;
61437  PyObject * obj1 = 0 ;
61438  PyObject * obj2 = 0 ;
61439  PyObject * obj3 = 0 ;
61440  operations_research::Assignment *result = 0 ;
61441 
61442  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveFromAssignmentWithParameters", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
61444  if (!SWIG_IsOK(res1)) {
61445  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveFromAssignmentWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61446  }
61447  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61448  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
61449  if (!SWIG_IsOK(res2)) {
61450  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SolveFromAssignmentWithParameters" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
61451  }
61452  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
61453  {
61455  PyObject* const pyresult = PyObject_CallMethod(
61456  obj2, const_cast<char*>("SerializeToString"), nullptr);
61457  if (pyresult != nullptr) {
61458  char* buffer = nullptr;
61459  Py_ssize_t length = 0;
61460  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61461  if (buffer != nullptr) {
61462  arg3->ParseFromArray(buffer, length);
61463  }
61464  Py_DECREF(pyresult);
61465  }
61466  }
61468  if (!SWIG_IsOK(res4)) {
61469  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "RoutingModel_SolveFromAssignmentWithParameters" "', argument " "4"" of type '" "std::vector< operations_research::Assignment const * > *""'");
61470  }
61471  arg4 = reinterpret_cast< std::vector< operations_research::Assignment const * > * >(argp4);
61472  {
61473  try {
61474  result = (operations_research::Assignment *)(arg1)->SolveFromAssignmentWithParameters((operations_research::Assignment const *)arg2,(operations_research::RoutingSearchParameters const &)*arg3,arg4);
61475  }
61476  catch (Swig::DirectorException &e) {
61477  SWIG_fail;
61478  }
61479  }
61481  {
61482  delete arg3;
61483  }
61484  return resultobj;
61485 fail:
61486  {
61487  delete arg3;
61488  }
61489  return NULL;
61490 }
61491 
61492 
61494  PyObject *resultobj = 0;
61498  void *argp1 = 0 ;
61499  int res1 = 0 ;
61500  void *argp2 = 0 ;
61501  int res2 = 0 ;
61502  PyObject * obj0 = 0 ;
61503  PyObject * obj1 = 0 ;
61504  PyObject * obj2 = 0 ;
61505  operations_research::Assignment *result = 0 ;
61506 
61507  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveFromAssignmentWithParameters", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
61509  if (!SWIG_IsOK(res1)) {
61510  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveFromAssignmentWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61511  }
61512  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61513  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
61514  if (!SWIG_IsOK(res2)) {
61515  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SolveFromAssignmentWithParameters" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
61516  }
61517  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
61518  {
61520  PyObject* const pyresult = PyObject_CallMethod(
61521  obj2, const_cast<char*>("SerializeToString"), nullptr);
61522  if (pyresult != nullptr) {
61523  char* buffer = nullptr;
61524  Py_ssize_t length = 0;
61525  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61526  if (buffer != nullptr) {
61527  arg3->ParseFromArray(buffer, length);
61528  }
61529  Py_DECREF(pyresult);
61530  }
61531  }
61532  {
61533  try {
61534  result = (operations_research::Assignment *)(arg1)->SolveFromAssignmentWithParameters((operations_research::Assignment const *)arg2,(operations_research::RoutingSearchParameters const &)*arg3);
61535  }
61536  catch (Swig::DirectorException &e) {
61537  SWIG_fail;
61538  }
61539  }
61541  {
61542  delete arg3;
61543  }
61544  return resultobj;
61545 fail:
61546  {
61547  delete arg3;
61548  }
61549  return NULL;
61550 }
61551 
61552 
61553 SWIGINTERN PyObject *_wrap_RoutingModel_SolveFromAssignmentWithParameters(PyObject *self, PyObject *args) {
61554  Py_ssize_t argc;
61555  PyObject *argv[5] = {
61556  0
61557  };
61558  Py_ssize_t ii;
61559 
61560  if (!PyTuple_Check(args)) SWIG_fail;
61561  argc = PyObject_Length(args);
61562  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
61563  argv[ii] = PyTuple_GET_ITEM(args,ii);
61564  }
61565  if (argc == 3) {
61566  int _v;
61567  void *vptr = 0;
61568  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61569  _v = SWIG_CheckState(res);
61570  if (_v) {
61571  void *vptr = 0;
61572  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
61573  _v = SWIG_CheckState(res);
61574  if (_v) {
61575  {
61576  bool ok = false;
61577  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61578  if (module != nullptr) {
61579  PyObject* const dict = PyModule_GetDict(module);
61580  if (dict != nullptr) {
61581  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61582  if (clss != nullptr) {
61583  if (PyObject_IsInstance(argv[2], clss)) {
61584  ok = true;
61585  }
61586  }
61587  }
61588  Py_DECREF(module);
61589  }
61590  _v = ok ? 1 : 0;
61591  }
61592  if (_v) {
61594  }
61595  }
61596  }
61597  }
61598  if (argc == 4) {
61599  int _v;
61600  void *vptr = 0;
61601  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61602  _v = SWIG_CheckState(res);
61603  if (_v) {
61604  void *vptr = 0;
61605  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_operations_research__Assignment, 0);
61606  _v = SWIG_CheckState(res);
61607  if (_v) {
61608  {
61609  bool ok = false;
61610  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61611  if (module != nullptr) {
61612  PyObject* const dict = PyModule_GetDict(module);
61613  if (dict != nullptr) {
61614  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61615  if (clss != nullptr) {
61616  if (PyObject_IsInstance(argv[2], clss)) {
61617  ok = true;
61618  }
61619  }
61620  }
61621  Py_DECREF(module);
61622  }
61623  _v = ok ? 1 : 0;
61624  }
61625  if (_v) {
61626  void *vptr = 0;
61628  _v = SWIG_CheckState(res);
61629  if (_v) {
61631  }
61632  }
61633  }
61634  }
61635  }
61636 
61637 fail:
61638  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'RoutingModel_SolveFromAssignmentWithParameters'.\n"
61639  " Possible C/C++ prototypes are:\n"
61640  " operations_research::RoutingModel::SolveFromAssignmentWithParameters(operations_research::Assignment const *,operations_research::RoutingSearchParameters const &,std::vector< operations_research::Assignment const * > *)\n"
61641  " operations_research::RoutingModel::SolveFromAssignmentWithParameters(operations_research::Assignment const *,operations_research::RoutingSearchParameters const &)\n");
61642  return 0;
61643 }
61644 
61645 
61647  PyObject *resultobj = 0;
61649  std::vector< operations_research::Assignment const * > *arg2 = 0 ;
61651  std::vector< operations_research::Assignment const * > *arg4 = (std::vector< operations_research::Assignment const * > *) 0 ;
61652  void *argp1 = 0 ;
61653  int res1 = 0 ;
61654  void *argp2 = 0 ;
61655  int res2 = 0 ;
61656  void *argp4 = 0 ;
61657  int res4 = 0 ;
61658  PyObject * obj0 = 0 ;
61659  PyObject * obj1 = 0 ;
61660  PyObject * obj2 = 0 ;
61661  PyObject * obj3 = 0 ;
61662  operations_research::Assignment *result = 0 ;
61663 
61664  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveFromAssignmentsWithParameters", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
61666  if (!SWIG_IsOK(res1)) {
61667  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61668  }
61669  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61671  if (!SWIG_IsOK(res2)) {
61672  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "2"" of type '" "std::vector< operations_research::Assignment const * > const &""'");
61673  }
61674  if (!argp2) {
61675  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "2"" of type '" "std::vector< operations_research::Assignment const * > const &""'");
61676  }
61677  arg2 = reinterpret_cast< std::vector< operations_research::Assignment const * > * >(argp2);
61678  {
61680  PyObject* const pyresult = PyObject_CallMethod(
61681  obj2, const_cast<char*>("SerializeToString"), nullptr);
61682  if (pyresult != nullptr) {
61683  char* buffer = nullptr;
61684  Py_ssize_t length = 0;
61685  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61686  if (buffer != nullptr) {
61687  arg3->ParseFromArray(buffer, length);
61688  }
61689  Py_DECREF(pyresult);
61690  }
61691  }
61693  if (!SWIG_IsOK(res4)) {
61694  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "4"" of type '" "std::vector< operations_research::Assignment const * > *""'");
61695  }
61696  arg4 = reinterpret_cast< std::vector< operations_research::Assignment const * > * >(argp4);
61697  {
61698  try {
61699  result = (operations_research::Assignment *)(arg1)->SolveFromAssignmentsWithParameters((std::vector< operations_research::Assignment const * > const &)*arg2,(operations_research::RoutingSearchParameters const &)*arg3,arg4);
61700  }
61701  catch (Swig::DirectorException &e) {
61702  SWIG_fail;
61703  }
61704  }
61706  {
61707  delete arg3;
61708  }
61709  return resultobj;
61710 fail:
61711  {
61712  delete arg3;
61713  }
61714  return NULL;
61715 }
61716 
61717 
61719  PyObject *resultobj = 0;
61721  std::vector< operations_research::Assignment const * > *arg2 = 0 ;
61723  void *argp1 = 0 ;
61724  int res1 = 0 ;
61725  void *argp2 = 0 ;
61726  int res2 = 0 ;
61727  PyObject * obj0 = 0 ;
61728  PyObject * obj1 = 0 ;
61729  PyObject * obj2 = 0 ;
61730  operations_research::Assignment *result = 0 ;
61731 
61732  if (!PyArg_UnpackTuple(args, "RoutingModel_SolveFromAssignmentsWithParameters", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
61734  if (!SWIG_IsOK(res1)) {
61735  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61736  }
61737  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61739  if (!SWIG_IsOK(res2)) {
61740  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "2"" of type '" "std::vector< operations_research::Assignment const * > const &""'");
61741  }
61742  if (!argp2) {
61743  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_SolveFromAssignmentsWithParameters" "', argument " "2"" of type '" "std::vector< operations_research::Assignment const * > const &""'");
61744  }
61745  arg2 = reinterpret_cast< std::vector< operations_research::Assignment const * > * >(argp2);
61746  {
61748  PyObject* const pyresult = PyObject_CallMethod(
61749  obj2, const_cast<char*>("SerializeToString"), nullptr);
61750  if (pyresult != nullptr) {
61751  char* buffer = nullptr;
61752  Py_ssize_t length = 0;
61753  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
61754  if (buffer != nullptr) {
61755  arg3->ParseFromArray(buffer, length);
61756  }
61757  Py_DECREF(pyresult);
61758  }
61759  }
61760  {
61761  try {
61762  result = (operations_research::Assignment *)(arg1)->SolveFromAssignmentsWithParameters((std::vector< operations_research::Assignment const * > const &)*arg2,(operations_research::RoutingSearchParameters const &)*arg3);
61763  }
61764  catch (Swig::DirectorException &e) {
61765  SWIG_fail;
61766  }
61767  }
61769  {
61770  delete arg3;
61771  }
61772  return resultobj;
61773 fail:
61774  {
61775  delete arg3;
61776  }
61777  return NULL;
61778 }
61779 
61780 
61781 SWIGINTERN PyObject *_wrap_RoutingModel_SolveFromAssignmentsWithParameters(PyObject *self, PyObject *args) {
61782  Py_ssize_t argc;
61783  PyObject *argv[5] = {
61784  0
61785  };
61786  Py_ssize_t ii;
61787 
61788  if (!PyTuple_Check(args)) SWIG_fail;
61789  argc = PyObject_Length(args);
61790  for (ii = 0; (ii < 4) && (ii < argc); ii++) {
61791  argv[ii] = PyTuple_GET_ITEM(args,ii);
61792  }
61793  if (argc == 3) {
61794  int _v;
61795  void *vptr = 0;
61796  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61797  _v = SWIG_CheckState(res);
61798  if (_v) {
61800  _v = SWIG_CheckState(res);
61801  if (_v) {
61802  {
61803  bool ok = false;
61804  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61805  if (module != nullptr) {
61806  PyObject* const dict = PyModule_GetDict(module);
61807  if (dict != nullptr) {
61808  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61809  if (clss != nullptr) {
61810  if (PyObject_IsInstance(argv[2], clss)) {
61811  ok = true;
61812  }
61813  }
61814  }
61815  Py_DECREF(module);
61816  }
61817  _v = ok ? 1 : 0;
61818  }
61819  if (_v) {
61821  }
61822  }
61823  }
61824  }
61825  if (argc == 4) {
61826  int _v;
61827  void *vptr = 0;
61828  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_operations_research__RoutingModel, 0);
61829  _v = SWIG_CheckState(res);
61830  if (_v) {
61832  _v = SWIG_CheckState(res);
61833  if (_v) {
61834  {
61835  bool ok = false;
61836  PyObject* const module = PyImport_ImportModule("ortools.constraint_solver.routing_parameters_pb2");
61837  if (module != nullptr) {
61838  PyObject* const dict = PyModule_GetDict(module);
61839  if (dict != nullptr) {
61840  PyObject* const clss = PyDict_GetItemString(dict, "RoutingSearchParameters");
61841  if (clss != nullptr) {
61842  if (PyObject_IsInstance(argv[2], clss)) {
61843  ok = true;
61844  }
61845  }
61846  }
61847  Py_DECREF(module);
61848  }
61849  _v = ok ? 1 : 0;
61850  }
61851  if (_v) {
61852  void *vptr = 0;
61854  _v = SWIG_CheckState(res);
61855  if (_v) {
61857  }
61858  }
61859  }
61860  }
61861  }
61862 
61863 fail:
61864  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'RoutingModel_SolveFromAssignmentsWithParameters'.\n"
61865  " Possible C/C++ prototypes are:\n"
61866  " operations_research::RoutingModel::SolveFromAssignmentsWithParameters(std::vector< operations_research::Assignment const * > const &,operations_research::RoutingSearchParameters const &,std::vector< operations_research::Assignment const * > *)\n"
61867  " operations_research::RoutingModel::SolveFromAssignmentsWithParameters(std::vector< operations_research::Assignment const * > const &,operations_research::RoutingSearchParameters const &)\n");
61868  return 0;
61869 }
61870 
61871 
61873  PyObject *resultobj = 0;
61878  void *argp1 = 0 ;
61879  int res1 = 0 ;
61880  void *argp2 = 0 ;
61881  int res2 = 0 ;
61882  void *argp3 = 0 ;
61883  int res3 = 0 ;
61884  void *argp4 = 0 ;
61885  int res4 = 0 ;
61886  PyObject * obj0 = 0 ;
61887  PyObject * obj1 = 0 ;
61888  PyObject * obj2 = 0 ;
61889  PyObject * obj3 = 0 ;
61890 
61891  if (!PyArg_UnpackTuple(args, "RoutingModel_SetAssignmentFromOtherModelAssignment", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
61893  if (!SWIG_IsOK(res1)) {
61894  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_SetAssignmentFromOtherModelAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61895  }
61896  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61897  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
61898  if (!SWIG_IsOK(res2)) {
61899  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_SetAssignmentFromOtherModelAssignment" "', argument " "2"" of type '" "operations_research::Assignment *""'");
61900  }
61901  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
61903  if (!SWIG_IsOK(res3)) {
61904  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_SetAssignmentFromOtherModelAssignment" "', argument " "3"" of type '" "operations_research::RoutingModel const *""'");
61905  }
61906  arg3 = reinterpret_cast< operations_research::RoutingModel * >(argp3);
61907  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
61908  if (!SWIG_IsOK(res4)) {
61909  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "RoutingModel_SetAssignmentFromOtherModelAssignment" "', argument " "4"" of type '" "operations_research::Assignment const *""'");
61910  }
61911  arg4 = reinterpret_cast< operations_research::Assignment * >(argp4);
61912  {
61913  try {
61914  (arg1)->SetAssignmentFromOtherModelAssignment(arg2,(operations_research::RoutingModel const *)arg3,(operations_research::Assignment const *)arg4);
61915  }
61916  catch (Swig::DirectorException &e) {
61917  SWIG_fail;
61918  }
61919  }
61920  resultobj = SWIG_Py_Void();
61921  return resultobj;
61922 fail:
61923  return NULL;
61924 }
61925 
61926 
61927 SWIGINTERN PyObject *_wrap_RoutingModel_ComputeLowerBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61928  PyObject *resultobj = 0;
61930  void *argp1 = 0 ;
61931  int res1 = 0 ;
61932  PyObject * obj0 = 0 ;
61933  int64_t result;
61934 
61935  if (!PyArg_UnpackTuple(args, "RoutingModel_ComputeLowerBound", 1, 1, &obj0)) SWIG_fail;
61937  if (!SWIG_IsOK(res1)) {
61938  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ComputeLowerBound" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
61939  }
61940  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61941  {
61942  try {
61943  result = (int64_t)(arg1)->ComputeLowerBound();
61944  }
61945  catch (Swig::DirectorException &e) {
61946  SWIG_fail;
61947  }
61948  }
61949  resultobj = SWIG_From_long(static_cast< long >(result));
61950  return resultobj;
61951 fail:
61952  return NULL;
61953 }
61954 
61955 
61956 SWIGINTERN PyObject *_wrap_RoutingModel_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61957  PyObject *resultobj = 0;
61959  void *argp1 = 0 ;
61960  int res1 = 0 ;
61961  PyObject * obj0 = 0 ;
61963 
61964  if (!PyArg_UnpackTuple(args, "RoutingModel_status", 1, 1, &obj0)) SWIG_fail;
61966  if (!SWIG_IsOK(res1)) {
61967  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_status" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
61968  }
61969  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
61970  {
61971  try {
61973  }
61974  catch (Swig::DirectorException &e) {
61975  SWIG_fail;
61976  }
61977  }
61978  resultobj = SWIG_From_int(static_cast< int >(result));
61979  return resultobj;
61980 fail:
61981  return NULL;
61982 }
61983 
61984 
61985 SWIGINTERN PyObject *_wrap_RoutingModel_ApplyLocks(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
61986  PyObject *resultobj = 0;
61988  std::vector< int64_t > *arg2 = 0 ;
61989  void *argp1 = 0 ;
61990  int res1 = 0 ;
61991  std::vector< int64_t > temp2 ;
61992  PyObject * obj0 = 0 ;
61993  PyObject * obj1 = 0 ;
61994  operations_research::IntVar *result = 0 ;
61995 
61996  if (!PyArg_UnpackTuple(args, "RoutingModel_ApplyLocks", 2, 2, &obj0, &obj1)) SWIG_fail;
61998  if (!SWIG_IsOK(res1)) {
61999  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ApplyLocks" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62000  }
62001  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62002  {
62003  if (!vector_input_helper(obj1, &temp2, PyObjAs<int64_t>)) {
62004  if (!PyErr_Occurred())
62005  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
62006  return NULL;
62007  }
62008  arg2 = &temp2;
62009  }
62010  {
62011  try {
62012  result = (operations_research::IntVar *)(arg1)->ApplyLocks((std::vector< int64_t > const &)*arg2);
62013  }
62014  catch (Swig::DirectorException &e) {
62015  SWIG_fail;
62016  }
62017  }
62019  return resultobj;
62020 fail:
62021  return NULL;
62022 }
62023 
62024 
62025 SWIGINTERN PyObject *_wrap_RoutingModel_ApplyLocksToAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62026  PyObject *resultobj = 0;
62028  std::vector< std::vector< int64_t > > *arg2 = 0 ;
62029  bool arg3 ;
62030  void *argp1 = 0 ;
62031  int res1 = 0 ;
62032  std::vector< std::vector< int64_t > > temp2 ;
62033  bool val3 ;
62034  int ecode3 = 0 ;
62035  PyObject * obj0 = 0 ;
62036  PyObject * obj1 = 0 ;
62037  PyObject * obj2 = 0 ;
62038  bool result;
62039 
62040  if (!PyArg_UnpackTuple(args, "RoutingModel_ApplyLocksToAllVehicles", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62042  if (!SWIG_IsOK(res1)) {
62043  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ApplyLocksToAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62044  }
62045  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62046  {
62047  if (!PyList_Check(obj1)) {
62048  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
62049  SWIG_fail;
62050  }
62051  int len = PyList_Size(obj1);
62052  int arity = -1;
62053  if (len > 0) {
62054  temp2.resize(len);
62055  for (size_t i = 0; i < len; ++i) {
62056  PyObject *tuple = PyList_GetItem(obj1, i);
62057  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
62058  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
62059  SWIG_fail;
62060  }
62061  bool is_tuple = PyTuple_Check(tuple);
62062  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
62063  temp2[i].resize(arity);
62064  for (size_t j = 0; j < arity; ++j) {
62065  bool success = PyObjAs<int64_t>(
62066  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
62067  &temp2[i][j]);
62068  if (!success) {
62069  SWIG_fail;
62070  }
62071  }
62072  }
62073  }
62074  arg2 = &temp2;
62075  }
62076  ecode3 = SWIG_AsVal_bool(obj2, &val3);
62077  if (!SWIG_IsOK(ecode3)) {
62078  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_ApplyLocksToAllVehicles" "', argument " "3"" of type '" "bool""'");
62079  }
62080  arg3 = static_cast< bool >(val3);
62081  {
62082  try {
62083  result = (bool)(arg1)->ApplyLocksToAllVehicles((std::vector< std::vector< int64_t > > const &)*arg2,arg3);
62084  }
62085  catch (Swig::DirectorException &e) {
62086  SWIG_fail;
62087  }
62088  }
62089  resultobj = SWIG_From_bool(static_cast< bool >(result));
62090  return resultobj;
62091 fail:
62092  return NULL;
62093 }
62094 
62095 
62096 SWIGINTERN PyObject *_wrap_RoutingModel_PreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62097  PyObject *resultobj = 0;
62099  void *argp1 = 0 ;
62100  int res1 = 0 ;
62101  PyObject * obj0 = 0 ;
62102  operations_research::Assignment *result = 0 ;
62103 
62104  if (!PyArg_UnpackTuple(args, "RoutingModel_PreAssignment", 1, 1, &obj0)) SWIG_fail;
62106  if (!SWIG_IsOK(res1)) {
62107  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_PreAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62108  }
62109  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62110  {
62111  try {
62112  result = (operations_research::Assignment *)((operations_research::RoutingModel const *)arg1)->PreAssignment();
62113  }
62114  catch (Swig::DirectorException &e) {
62115  SWIG_fail;
62116  }
62117  }
62119  return resultobj;
62120 fail:
62121  return NULL;
62122 }
62123 
62124 
62125 SWIGINTERN PyObject *_wrap_RoutingModel_MutablePreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62126  PyObject *resultobj = 0;
62128  void *argp1 = 0 ;
62129  int res1 = 0 ;
62130  PyObject * obj0 = 0 ;
62131  operations_research::Assignment *result = 0 ;
62132 
62133  if (!PyArg_UnpackTuple(args, "RoutingModel_MutablePreAssignment", 1, 1, &obj0)) SWIG_fail;
62135  if (!SWIG_IsOK(res1)) {
62136  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_MutablePreAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62137  }
62138  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62139  {
62140  try {
62141  result = (operations_research::Assignment *)(arg1)->MutablePreAssignment();
62142  }
62143  catch (Swig::DirectorException &e) {
62144  SWIG_fail;
62145  }
62146  }
62148  return resultobj;
62149 fail:
62150  return NULL;
62151 }
62152 
62153 
62154 SWIGINTERN PyObject *_wrap_RoutingModel_WriteAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62155  PyObject *resultobj = 0;
62157  std::string *arg2 = 0 ;
62158  void *argp1 = 0 ;
62159  int res1 = 0 ;
62160  int res2 = SWIG_OLDOBJ ;
62161  PyObject * obj0 = 0 ;
62162  PyObject * obj1 = 0 ;
62163  bool result;
62164 
62165  if (!PyArg_UnpackTuple(args, "RoutingModel_WriteAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62167  if (!SWIG_IsOK(res1)) {
62168  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_WriteAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62169  }
62170  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62171  {
62172  std::string *ptr = (std::string *)0;
62173  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
62174  if (!SWIG_IsOK(res2)) {
62175  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_WriteAssignment" "', argument " "2"" of type '" "std::string const &""'");
62176  }
62177  if (!ptr) {
62178  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_WriteAssignment" "', argument " "2"" of type '" "std::string const &""'");
62179  }
62180  arg2 = ptr;
62181  }
62182  {
62183  try {
62184  result = (bool)((operations_research::RoutingModel const *)arg1)->WriteAssignment((std::string const &)*arg2);
62185  }
62186  catch (Swig::DirectorException &e) {
62187  SWIG_fail;
62188  }
62189  }
62190  resultobj = SWIG_From_bool(static_cast< bool >(result));
62191  if (SWIG_IsNewObj(res2)) delete arg2;
62192  return resultobj;
62193 fail:
62194  if (SWIG_IsNewObj(res2)) delete arg2;
62195  return NULL;
62196 }
62197 
62198 
62199 SWIGINTERN PyObject *_wrap_RoutingModel_ReadAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62200  PyObject *resultobj = 0;
62202  std::string *arg2 = 0 ;
62203  void *argp1 = 0 ;
62204  int res1 = 0 ;
62205  int res2 = SWIG_OLDOBJ ;
62206  PyObject * obj0 = 0 ;
62207  PyObject * obj1 = 0 ;
62208  operations_research::Assignment *result = 0 ;
62209 
62210  if (!PyArg_UnpackTuple(args, "RoutingModel_ReadAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62212  if (!SWIG_IsOK(res1)) {
62213  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ReadAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62214  }
62215  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62216  {
62217  std::string *ptr = (std::string *)0;
62218  res2 = SWIG_AsPtr_std_string(obj1, &ptr);
62219  if (!SWIG_IsOK(res2)) {
62220  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_ReadAssignment" "', argument " "2"" of type '" "std::string const &""'");
62221  }
62222  if (!ptr) {
62223  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_ReadAssignment" "', argument " "2"" of type '" "std::string const &""'");
62224  }
62225  arg2 = ptr;
62226  }
62227  {
62228  try {
62229  result = (operations_research::Assignment *)(arg1)->ReadAssignment((std::string const &)*arg2);
62230  }
62231  catch (Swig::DirectorException &e) {
62232  SWIG_fail;
62233  }
62234  }
62236  if (SWIG_IsNewObj(res2)) delete arg2;
62237  return resultobj;
62238 fail:
62239  if (SWIG_IsNewObj(res2)) delete arg2;
62240  return NULL;
62241 }
62242 
62243 
62244 SWIGINTERN PyObject *_wrap_RoutingModel_RestoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62245  PyObject *resultobj = 0;
62248  void *argp1 = 0 ;
62249  int res1 = 0 ;
62250  void *argp2 = 0 ;
62251  int res2 = 0 ;
62252  PyObject * obj0 = 0 ;
62253  PyObject * obj1 = 0 ;
62254  operations_research::Assignment *result = 0 ;
62255 
62256  if (!PyArg_UnpackTuple(args, "RoutingModel_RestoreAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62258  if (!SWIG_IsOK(res1)) {
62259  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RestoreAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62260  }
62261  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62262  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62263  if (!SWIG_IsOK(res2)) {
62264  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_RestoreAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62265  }
62266  if (!argp2) {
62267  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_RestoreAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62268  }
62269  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62270  {
62271  try {
62272  result = (operations_research::Assignment *)(arg1)->RestoreAssignment((operations_research::Assignment const &)*arg2);
62273  }
62274  catch (Swig::DirectorException &e) {
62275  SWIG_fail;
62276  }
62277  }
62279  return resultobj;
62280 fail:
62281  return NULL;
62282 }
62283 
62284 
62285 SWIGINTERN PyObject *_wrap_RoutingModel_ReadAssignmentFromRoutes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62286  PyObject *resultobj = 0;
62288  std::vector< std::vector< int64_t > > *arg2 = 0 ;
62289  bool arg3 ;
62290  void *argp1 = 0 ;
62291  int res1 = 0 ;
62292  std::vector< std::vector< int64_t > > temp2 ;
62293  bool val3 ;
62294  int ecode3 = 0 ;
62295  PyObject * obj0 = 0 ;
62296  PyObject * obj1 = 0 ;
62297  PyObject * obj2 = 0 ;
62298  operations_research::Assignment *result = 0 ;
62299 
62300  if (!PyArg_UnpackTuple(args, "RoutingModel_ReadAssignmentFromRoutes", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62302  if (!SWIG_IsOK(res1)) {
62303  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ReadAssignmentFromRoutes" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62304  }
62305  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62306  {
62307  if (!PyList_Check(obj1)) {
62308  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
62309  SWIG_fail;
62310  }
62311  int len = PyList_Size(obj1);
62312  int arity = -1;
62313  if (len > 0) {
62314  temp2.resize(len);
62315  for (size_t i = 0; i < len; ++i) {
62316  PyObject *tuple = PyList_GetItem(obj1, i);
62317  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
62318  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
62319  SWIG_fail;
62320  }
62321  bool is_tuple = PyTuple_Check(tuple);
62322  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
62323  temp2[i].resize(arity);
62324  for (size_t j = 0; j < arity; ++j) {
62325  bool success = PyObjAs<int64_t>(
62326  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
62327  &temp2[i][j]);
62328  if (!success) {
62329  SWIG_fail;
62330  }
62331  }
62332  }
62333  }
62334  arg2 = &temp2;
62335  }
62336  ecode3 = SWIG_AsVal_bool(obj2, &val3);
62337  if (!SWIG_IsOK(ecode3)) {
62338  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_ReadAssignmentFromRoutes" "', argument " "3"" of type '" "bool""'");
62339  }
62340  arg3 = static_cast< bool >(val3);
62341  {
62342  try {
62343  result = (operations_research::Assignment *)(arg1)->ReadAssignmentFromRoutes((std::vector< std::vector< int64_t > > const &)*arg2,arg3);
62344  }
62345  catch (Swig::DirectorException &e) {
62346  SWIG_fail;
62347  }
62348  }
62350  return resultobj;
62351 fail:
62352  return NULL;
62353 }
62354 
62355 
62356 SWIGINTERN PyObject *_wrap_RoutingModel_RoutesToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62357  PyObject *resultobj = 0;
62359  std::vector< std::vector< int64_t > > *arg2 = 0 ;
62360  bool arg3 ;
62361  bool arg4 ;
62363  void *argp1 = 0 ;
62364  int res1 = 0 ;
62365  std::vector< std::vector< int64_t > > temp2 ;
62366  bool val3 ;
62367  int ecode3 = 0 ;
62368  bool val4 ;
62369  int ecode4 = 0 ;
62370  void *argp5 = 0 ;
62371  int res5 = 0 ;
62372  PyObject * obj0 = 0 ;
62373  PyObject * obj1 = 0 ;
62374  PyObject * obj2 = 0 ;
62375  PyObject * obj3 = 0 ;
62376  PyObject * obj4 = 0 ;
62377  bool result;
62378 
62379  if (!PyArg_UnpackTuple(args, "RoutingModel_RoutesToAssignment", 5, 5, &obj0, &obj1, &obj2, &obj3, &obj4)) SWIG_fail;
62381  if (!SWIG_IsOK(res1)) {
62382  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RoutesToAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62383  }
62384  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62385  {
62386  if (!PyList_Check(obj1)) {
62387  PyErr_SetString(PyExc_TypeError, "Expecting a list of tuples");
62388  SWIG_fail;
62389  }
62390  int len = PyList_Size(obj1);
62391  int arity = -1;
62392  if (len > 0) {
62393  temp2.resize(len);
62394  for (size_t i = 0; i < len; ++i) {
62395  PyObject *tuple = PyList_GetItem(obj1, i);
62396  if (!PyTuple_Check(tuple) && !PyList_Check(tuple)) {
62397  PyErr_SetString(PyExc_TypeError, "Expecting a sequence");
62398  SWIG_fail;
62399  }
62400  bool is_tuple = PyTuple_Check(tuple);
62401  int arity = is_tuple ? PyTuple_Size(tuple) : PyList_Size(tuple);
62402  temp2[i].resize(arity);
62403  for (size_t j = 0; j < arity; ++j) {
62404  bool success = PyObjAs<int64_t>(
62405  is_tuple ? PyTuple_GetItem(tuple, j) : PyList_GetItem(tuple, j),
62406  &temp2[i][j]);
62407  if (!success) {
62408  SWIG_fail;
62409  }
62410  }
62411  }
62412  }
62413  arg2 = &temp2;
62414  }
62415  ecode3 = SWIG_AsVal_bool(obj2, &val3);
62416  if (!SWIG_IsOK(ecode3)) {
62417  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_RoutesToAssignment" "', argument " "3"" of type '" "bool""'");
62418  }
62419  arg3 = static_cast< bool >(val3);
62420  ecode4 = SWIG_AsVal_bool(obj3, &val4);
62421  if (!SWIG_IsOK(ecode4)) {
62422  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_RoutesToAssignment" "', argument " "4"" of type '" "bool""'");
62423  }
62424  arg4 = static_cast< bool >(val4);
62425  res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
62426  if (!SWIG_IsOK(res5)) {
62427  SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "RoutingModel_RoutesToAssignment" "', argument " "5"" of type '" "operations_research::Assignment *const""'");
62428  }
62429  arg5 = reinterpret_cast< operations_research::Assignment * >(argp5);
62430  {
62431  try {
62432  result = (bool)((operations_research::RoutingModel const *)arg1)->RoutesToAssignment((std::vector< std::vector< int64_t > > const &)*arg2,arg3,arg4,arg5);
62433  }
62434  catch (Swig::DirectorException &e) {
62435  SWIG_fail;
62436  }
62437  }
62438  resultobj = SWIG_From_bool(static_cast< bool >(result));
62439  return resultobj;
62440 fail:
62441  return NULL;
62442 }
62443 
62444 
62445 SWIGINTERN PyObject *_wrap_RoutingModel_AssignmentToRoutes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62446  PyObject *resultobj = 0;
62449  std::vector< std::vector< int64_t > > *arg3 = (std::vector< std::vector< int64_t > > *) (std::vector< std::vector< int64_t > > *)0 ;
62450  void *argp1 = 0 ;
62451  int res1 = 0 ;
62452  void *argp2 = 0 ;
62453  int res2 = 0 ;
62454  void *argp3 = 0 ;
62455  int res3 = 0 ;
62456  PyObject * obj0 = 0 ;
62457  PyObject * obj1 = 0 ;
62458  PyObject * obj2 = 0 ;
62459 
62460  if (!PyArg_UnpackTuple(args, "RoutingModel_AssignmentToRoutes", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62462  if (!SWIG_IsOK(res1)) {
62463  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AssignmentToRoutes" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62464  }
62465  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62466  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62467  if (!SWIG_IsOK(res2)) {
62468  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AssignmentToRoutes" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62469  }
62470  if (!argp2) {
62471  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_AssignmentToRoutes" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62472  }
62473  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62475  if (!SWIG_IsOK(res3)) {
62476  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_AssignmentToRoutes" "', argument " "3"" of type '" "std::vector< std::vector< int64_t > > *const""'");
62477  }
62478  arg3 = reinterpret_cast< std::vector< std::vector< int64_t > > * >(argp3);
62479  {
62480  try {
62481  ((operations_research::RoutingModel const *)arg1)->AssignmentToRoutes((operations_research::Assignment const &)*arg2,arg3);
62482  }
62483  catch (Swig::DirectorException &e) {
62484  SWIG_fail;
62485  }
62486  }
62487  resultobj = SWIG_Py_Void();
62488  return resultobj;
62489 fail:
62490  return NULL;
62491 }
62492 
62493 
62494 SWIGINTERN PyObject *_wrap_RoutingModel_CompactAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62495  PyObject *resultobj = 0;
62498  void *argp1 = 0 ;
62499  int res1 = 0 ;
62500  void *argp2 = 0 ;
62501  int res2 = 0 ;
62502  PyObject * obj0 = 0 ;
62503  PyObject * obj1 = 0 ;
62504  operations_research::Assignment *result = 0 ;
62505 
62506  if (!PyArg_UnpackTuple(args, "RoutingModel_CompactAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62508  if (!SWIG_IsOK(res1)) {
62509  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CompactAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62510  }
62511  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62512  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62513  if (!SWIG_IsOK(res2)) {
62514  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_CompactAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62515  }
62516  if (!argp2) {
62517  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_CompactAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62518  }
62519  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62520  {
62521  try {
62522  result = (operations_research::Assignment *)((operations_research::RoutingModel const *)arg1)->CompactAssignment((operations_research::Assignment const &)*arg2);
62523  }
62524  catch (Swig::DirectorException &e) {
62525  SWIG_fail;
62526  }
62527  }
62529  return resultobj;
62530 fail:
62531  return NULL;
62532 }
62533 
62534 
62535 SWIGINTERN PyObject *_wrap_RoutingModel_CompactAndCheckAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62536  PyObject *resultobj = 0;
62539  void *argp1 = 0 ;
62540  int res1 = 0 ;
62541  void *argp2 = 0 ;
62542  int res2 = 0 ;
62543  PyObject * obj0 = 0 ;
62544  PyObject * obj1 = 0 ;
62545  operations_research::Assignment *result = 0 ;
62546 
62547  if (!PyArg_UnpackTuple(args, "RoutingModel_CompactAndCheckAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62549  if (!SWIG_IsOK(res1)) {
62550  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CompactAndCheckAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62551  }
62552  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62553  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62554  if (!SWIG_IsOK(res2)) {
62555  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_CompactAndCheckAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62556  }
62557  if (!argp2) {
62558  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_CompactAndCheckAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62559  }
62560  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62561  {
62562  try {
62563  result = (operations_research::Assignment *)((operations_research::RoutingModel const *)arg1)->CompactAndCheckAssignment((operations_research::Assignment const &)*arg2);
62564  }
62565  catch (Swig::DirectorException &e) {
62566  SWIG_fail;
62567  }
62568  }
62570  return resultobj;
62571 fail:
62572  return NULL;
62573 }
62574 
62575 
62576 SWIGINTERN PyObject *_wrap_RoutingModel_AddToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62577  PyObject *resultobj = 0;
62580  void *argp1 = 0 ;
62581  int res1 = 0 ;
62582  PyObject * obj0 = 0 ;
62583  PyObject * obj1 = 0 ;
62584 
62585  if (!PyArg_UnpackTuple(args, "RoutingModel_AddToAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62587  if (!SWIG_IsOK(res1)) {
62588  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddToAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62589  }
62590  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62591  {
62592  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
62593  }
62594  {
62595  try {
62596  (arg1)->AddToAssignment(arg2);
62597  }
62598  catch (Swig::DirectorException &e) {
62599  SWIG_fail;
62600  }
62601  }
62602  resultobj = SWIG_Py_Void();
62603  return resultobj;
62604 fail:
62605  return NULL;
62606 }
62607 
62608 
62609 SWIGINTERN PyObject *_wrap_RoutingModel_AddIntervalToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62610  PyObject *resultobj = 0;
62613  void *argp1 = 0 ;
62614  int res1 = 0 ;
62615  PyObject * obj0 = 0 ;
62616  PyObject * obj1 = 0 ;
62617 
62618  if (!PyArg_UnpackTuple(args, "RoutingModel_AddIntervalToAssignment", 2, 2, &obj0, &obj1)) SWIG_fail;
62620  if (!SWIG_IsOK(res1)) {
62621  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddIntervalToAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62622  }
62623  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62624  {
62625  if (!PyObjAs(obj1, &arg2)) SWIG_fail;
62626  }
62627  {
62628  try {
62629  (arg1)->AddIntervalToAssignment(arg2);
62630  }
62631  catch (Swig::DirectorException &e) {
62632  SWIG_fail;
62633  }
62634  }
62635  resultobj = SWIG_Py_Void();
62636  return resultobj;
62637 fail:
62638  return NULL;
62639 }
62640 
62641 
62643  PyObject *resultobj = 0;
62646  absl::Duration arg3 ;
62647  void *argp1 = 0 ;
62648  int res1 = 0 ;
62649  void *argp2 = 0 ;
62650  int res2 = 0 ;
62651  void *argp3 ;
62652  int res3 = 0 ;
62653  PyObject * obj0 = 0 ;
62654  PyObject * obj1 = 0 ;
62655  PyObject * obj2 = 0 ;
62656  operations_research::Assignment *result = 0 ;
62657 
62658  if (!PyArg_UnpackTuple(args, "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62660  if (!SWIG_IsOK(res1)) {
62661  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62662  }
62663  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62664  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
62665  if (!SWIG_IsOK(res2)) {
62666  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment" "', argument " "2"" of type '" "operations_research::Assignment const *""'");
62667  }
62668  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62669  {
62670  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_absl__Duration, 0 | 0);
62671  if (!SWIG_IsOK(res3)) {
62672  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment" "', argument " "3"" of type '" "absl::Duration""'");
62673  }
62674  if (!argp3) {
62675  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment" "', argument " "3"" of type '" "absl::Duration""'");
62676  } else {
62677  absl::Duration * temp = reinterpret_cast< absl::Duration * >(argp3);
62678  arg3 = *temp;
62679  if (SWIG_IsNewObj(res3)) delete temp;
62680  }
62681  }
62682  {
62683  try {
62684  result = (operations_research::Assignment *)(arg1)->PackCumulsOfOptimizerDimensionsFromAssignment((operations_research::Assignment const *)arg2,arg3);
62685  }
62686  catch (Swig::DirectorException &e) {
62687  SWIG_fail;
62688  }
62689  }
62691  return resultobj;
62692 fail:
62693  return NULL;
62694 }
62695 
62696 
62697 SWIGINTERN PyObject *_wrap_RoutingModel_AddLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62698  PyObject *resultobj = 0;
62701  void *argp1 = 0 ;
62702  int res1 = 0 ;
62703  void *argp2 = 0 ;
62704  int res2 = 0 ;
62705  PyObject * obj0 = 0 ;
62706  PyObject * obj1 = 0 ;
62707 
62708  if (!PyArg_UnpackTuple(args, "RoutingModel_AddLocalSearchFilter", 2, 2, &obj0, &obj1)) SWIG_fail;
62710  if (!SWIG_IsOK(res1)) {
62711  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_AddLocalSearchFilter" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
62712  }
62713  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62715  if (!SWIG_IsOK(res2)) {
62716  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_AddLocalSearchFilter" "', argument " "2"" of type '" "operations_research::LocalSearchFilter *""'");
62717  }
62718  arg2 = reinterpret_cast< operations_research::LocalSearchFilter * >(argp2);
62719  {
62720  try {
62721  (arg1)->AddLocalSearchFilter(arg2);
62722  }
62723  catch (Swig::DirectorException &e) {
62724  SWIG_fail;
62725  }
62726  }
62727  resultobj = SWIG_Py_Void();
62728  return resultobj;
62729 fail:
62730  return NULL;
62731 }
62732 
62733 
62734 SWIGINTERN PyObject *_wrap_RoutingModel_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62735  PyObject *resultobj = 0;
62737  int arg2 ;
62738  void *argp1 = 0 ;
62739  int res1 = 0 ;
62740  int val2 ;
62741  int ecode2 = 0 ;
62742  PyObject * obj0 = 0 ;
62743  PyObject * obj1 = 0 ;
62744  int64_t result;
62745 
62746  if (!PyArg_UnpackTuple(args, "RoutingModel_Start", 2, 2, &obj0, &obj1)) SWIG_fail;
62748  if (!SWIG_IsOK(res1)) {
62749  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_Start" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62750  }
62751  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62752  ecode2 = SWIG_AsVal_int(obj1, &val2);
62753  if (!SWIG_IsOK(ecode2)) {
62754  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_Start" "', argument " "2"" of type '" "int""'");
62755  }
62756  arg2 = static_cast< int >(val2);
62757  {
62758  try {
62759  result = (int64_t)((operations_research::RoutingModel const *)arg1)->Start(arg2);
62760  }
62761  catch (Swig::DirectorException &e) {
62762  SWIG_fail;
62763  }
62764  }
62765  resultobj = SWIG_From_long(static_cast< long >(result));
62766  return resultobj;
62767 fail:
62768  return NULL;
62769 }
62770 
62771 
62772 SWIGINTERN PyObject *_wrap_RoutingModel_End(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62773  PyObject *resultobj = 0;
62775  int arg2 ;
62776  void *argp1 = 0 ;
62777  int res1 = 0 ;
62778  int val2 ;
62779  int ecode2 = 0 ;
62780  PyObject * obj0 = 0 ;
62781  PyObject * obj1 = 0 ;
62782  int64_t result;
62783 
62784  if (!PyArg_UnpackTuple(args, "RoutingModel_End", 2, 2, &obj0, &obj1)) SWIG_fail;
62786  if (!SWIG_IsOK(res1)) {
62787  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_End" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62788  }
62789  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62790  ecode2 = SWIG_AsVal_int(obj1, &val2);
62791  if (!SWIG_IsOK(ecode2)) {
62792  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_End" "', argument " "2"" of type '" "int""'");
62793  }
62794  arg2 = static_cast< int >(val2);
62795  {
62796  try {
62797  result = (int64_t)((operations_research::RoutingModel const *)arg1)->End(arg2);
62798  }
62799  catch (Swig::DirectorException &e) {
62800  SWIG_fail;
62801  }
62802  }
62803  resultobj = SWIG_From_long(static_cast< long >(result));
62804  return resultobj;
62805 fail:
62806  return NULL;
62807 }
62808 
62809 
62810 SWIGINTERN PyObject *_wrap_RoutingModel_IsStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62811  PyObject *resultobj = 0;
62813  int64_t arg2 ;
62814  void *argp1 = 0 ;
62815  int res1 = 0 ;
62816  long val2 ;
62817  int ecode2 = 0 ;
62818  PyObject * obj0 = 0 ;
62819  PyObject * obj1 = 0 ;
62820  bool result;
62821 
62822  if (!PyArg_UnpackTuple(args, "RoutingModel_IsStart", 2, 2, &obj0, &obj1)) SWIG_fail;
62824  if (!SWIG_IsOK(res1)) {
62825  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IsStart" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62826  }
62827  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62828  ecode2 = SWIG_AsVal_long(obj1, &val2);
62829  if (!SWIG_IsOK(ecode2)) {
62830  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_IsStart" "', argument " "2"" of type '" "int64_t""'");
62831  }
62832  arg2 = static_cast< int64_t >(val2);
62833  {
62834  try {
62835  result = (bool)((operations_research::RoutingModel const *)arg1)->IsStart(arg2);
62836  }
62837  catch (Swig::DirectorException &e) {
62838  SWIG_fail;
62839  }
62840  }
62841  resultobj = SWIG_From_bool(static_cast< bool >(result));
62842  return resultobj;
62843 fail:
62844  return NULL;
62845 }
62846 
62847 
62848 SWIGINTERN PyObject *_wrap_RoutingModel_IsEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62849  PyObject *resultobj = 0;
62851  int64_t arg2 ;
62852  void *argp1 = 0 ;
62853  int res1 = 0 ;
62854  long val2 ;
62855  int ecode2 = 0 ;
62856  PyObject * obj0 = 0 ;
62857  PyObject * obj1 = 0 ;
62858  bool result;
62859 
62860  if (!PyArg_UnpackTuple(args, "RoutingModel_IsEnd", 2, 2, &obj0, &obj1)) SWIG_fail;
62862  if (!SWIG_IsOK(res1)) {
62863  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IsEnd" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62864  }
62865  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62866  ecode2 = SWIG_AsVal_long(obj1, &val2);
62867  if (!SWIG_IsOK(ecode2)) {
62868  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_IsEnd" "', argument " "2"" of type '" "int64_t""'");
62869  }
62870  arg2 = static_cast< int64_t >(val2);
62871  {
62872  try {
62873  result = (bool)((operations_research::RoutingModel const *)arg1)->IsEnd(arg2);
62874  }
62875  catch (Swig::DirectorException &e) {
62876  SWIG_fail;
62877  }
62878  }
62879  resultobj = SWIG_From_bool(static_cast< bool >(result));
62880  return resultobj;
62881 fail:
62882  return NULL;
62883 }
62884 
62885 
62886 SWIGINTERN PyObject *_wrap_RoutingModel_VehicleIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62887  PyObject *resultobj = 0;
62889  int64_t arg2 ;
62890  void *argp1 = 0 ;
62891  int res1 = 0 ;
62892  long val2 ;
62893  int ecode2 = 0 ;
62894  PyObject * obj0 = 0 ;
62895  PyObject * obj1 = 0 ;
62896  int result;
62897 
62898  if (!PyArg_UnpackTuple(args, "RoutingModel_VehicleIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
62900  if (!SWIG_IsOK(res1)) {
62901  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_VehicleIndex" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62902  }
62903  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62904  ecode2 = SWIG_AsVal_long(obj1, &val2);
62905  if (!SWIG_IsOK(ecode2)) {
62906  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_VehicleIndex" "', argument " "2"" of type '" "int64_t""'");
62907  }
62908  arg2 = static_cast< int64_t >(val2);
62909  {
62910  try {
62911  result = (int)((operations_research::RoutingModel const *)arg1)->VehicleIndex(arg2);
62912  }
62913  catch (Swig::DirectorException &e) {
62914  SWIG_fail;
62915  }
62916  }
62917  resultobj = SWIG_From_int(static_cast< int >(result));
62918  return resultobj;
62919 fail:
62920  return NULL;
62921 }
62922 
62923 
62924 SWIGINTERN PyObject *_wrap_RoutingModel_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62925  PyObject *resultobj = 0;
62928  int64_t arg3 ;
62929  void *argp1 = 0 ;
62930  int res1 = 0 ;
62931  void *argp2 = 0 ;
62932  int res2 = 0 ;
62933  long val3 ;
62934  int ecode3 = 0 ;
62935  PyObject * obj0 = 0 ;
62936  PyObject * obj1 = 0 ;
62937  PyObject * obj2 = 0 ;
62938  int64_t result;
62939 
62940  if (!PyArg_UnpackTuple(args, "RoutingModel_Next", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62942  if (!SWIG_IsOK(res1)) {
62943  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_Next" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62944  }
62945  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62946  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62947  if (!SWIG_IsOK(res2)) {
62948  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_Next" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62949  }
62950  if (!argp2) {
62951  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_Next" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62952  }
62953  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
62954  ecode3 = SWIG_AsVal_long(obj2, &val3);
62955  if (!SWIG_IsOK(ecode3)) {
62956  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_Next" "', argument " "3"" of type '" "int64_t""'");
62957  }
62958  arg3 = static_cast< int64_t >(val3);
62959  {
62960  try {
62961  result = (int64_t)((operations_research::RoutingModel const *)arg1)->Next((operations_research::Assignment const &)*arg2,arg3);
62962  }
62963  catch (Swig::DirectorException &e) {
62964  SWIG_fail;
62965  }
62966  }
62967  resultobj = SWIG_From_long(static_cast< long >(result));
62968  return resultobj;
62969 fail:
62970  return NULL;
62971 }
62972 
62973 
62974 SWIGINTERN PyObject *_wrap_RoutingModel_IsVehicleUsed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
62975  PyObject *resultobj = 0;
62978  int arg3 ;
62979  void *argp1 = 0 ;
62980  int res1 = 0 ;
62981  void *argp2 = 0 ;
62982  int res2 = 0 ;
62983  int val3 ;
62984  int ecode3 = 0 ;
62985  PyObject * obj0 = 0 ;
62986  PyObject * obj1 = 0 ;
62987  PyObject * obj2 = 0 ;
62988  bool result;
62989 
62990  if (!PyArg_UnpackTuple(args, "RoutingModel_IsVehicleUsed", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
62992  if (!SWIG_IsOK(res1)) {
62993  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IsVehicleUsed" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
62994  }
62995  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
62996  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
62997  if (!SWIG_IsOK(res2)) {
62998  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_IsVehicleUsed" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
62999  }
63000  if (!argp2) {
63001  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_IsVehicleUsed" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
63002  }
63003  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
63004  ecode3 = SWIG_AsVal_int(obj2, &val3);
63005  if (!SWIG_IsOK(ecode3)) {
63006  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_IsVehicleUsed" "', argument " "3"" of type '" "int""'");
63007  }
63008  arg3 = static_cast< int >(val3);
63009  {
63010  try {
63011  result = (bool)((operations_research::RoutingModel const *)arg1)->IsVehicleUsed((operations_research::Assignment const &)*arg2,arg3);
63012  }
63013  catch (Swig::DirectorException &e) {
63014  SWIG_fail;
63015  }
63016  }
63017  resultobj = SWIG_From_bool(static_cast< bool >(result));
63018  return resultobj;
63019 fail:
63020  return NULL;
63021 }
63022 
63023 
63024 SWIGINTERN PyObject *_wrap_RoutingModel_NextVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63025  PyObject *resultobj = 0;
63027  int64_t arg2 ;
63028  void *argp1 = 0 ;
63029  int res1 = 0 ;
63030  long val2 ;
63031  int ecode2 = 0 ;
63032  PyObject * obj0 = 0 ;
63033  PyObject * obj1 = 0 ;
63034  operations_research::IntVar *result = 0 ;
63035 
63036  if (!PyArg_UnpackTuple(args, "RoutingModel_NextVar", 2, 2, &obj0, &obj1)) SWIG_fail;
63038  if (!SWIG_IsOK(res1)) {
63039  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_NextVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63040  }
63041  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63042  ecode2 = SWIG_AsVal_long(obj1, &val2);
63043  if (!SWIG_IsOK(ecode2)) {
63044  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_NextVar" "', argument " "2"" of type '" "int64_t""'");
63045  }
63046  arg2 = static_cast< int64_t >(val2);
63047  {
63048  try {
63049  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->NextVar(arg2);
63050  }
63051  catch (Swig::DirectorException &e) {
63052  SWIG_fail;
63053  }
63054  }
63056  return resultobj;
63057 fail:
63058  return NULL;
63059 }
63060 
63061 
63062 SWIGINTERN PyObject *_wrap_RoutingModel_ActiveVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63063  PyObject *resultobj = 0;
63065  int64_t arg2 ;
63066  void *argp1 = 0 ;
63067  int res1 = 0 ;
63068  long val2 ;
63069  int ecode2 = 0 ;
63070  PyObject * obj0 = 0 ;
63071  PyObject * obj1 = 0 ;
63072  operations_research::IntVar *result = 0 ;
63073 
63074  if (!PyArg_UnpackTuple(args, "RoutingModel_ActiveVar", 2, 2, &obj0, &obj1)) SWIG_fail;
63076  if (!SWIG_IsOK(res1)) {
63077  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ActiveVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63078  }
63079  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63080  ecode2 = SWIG_AsVal_long(obj1, &val2);
63081  if (!SWIG_IsOK(ecode2)) {
63082  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_ActiveVar" "', argument " "2"" of type '" "int64_t""'");
63083  }
63084  arg2 = static_cast< int64_t >(val2);
63085  {
63086  try {
63087  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->ActiveVar(arg2);
63088  }
63089  catch (Swig::DirectorException &e) {
63090  SWIG_fail;
63091  }
63092  }
63094  return resultobj;
63095 fail:
63096  return NULL;
63097 }
63098 
63099 
63100 SWIGINTERN PyObject *_wrap_RoutingModel_ActiveVehicleVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63101  PyObject *resultobj = 0;
63103  int arg2 ;
63104  void *argp1 = 0 ;
63105  int res1 = 0 ;
63106  int val2 ;
63107  int ecode2 = 0 ;
63108  PyObject * obj0 = 0 ;
63109  PyObject * obj1 = 0 ;
63110  operations_research::IntVar *result = 0 ;
63111 
63112  if (!PyArg_UnpackTuple(args, "RoutingModel_ActiveVehicleVar", 2, 2, &obj0, &obj1)) SWIG_fail;
63114  if (!SWIG_IsOK(res1)) {
63115  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ActiveVehicleVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63116  }
63117  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63118  ecode2 = SWIG_AsVal_int(obj1, &val2);
63119  if (!SWIG_IsOK(ecode2)) {
63120  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_ActiveVehicleVar" "', argument " "2"" of type '" "int""'");
63121  }
63122  arg2 = static_cast< int >(val2);
63123  {
63124  try {
63125  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->ActiveVehicleVar(arg2);
63126  }
63127  catch (Swig::DirectorException &e) {
63128  SWIG_fail;
63129  }
63130  }
63132  return resultobj;
63133 fail:
63134  return NULL;
63135 }
63136 
63137 
63138 SWIGINTERN PyObject *_wrap_RoutingModel_VehicleCostsConsideredVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63139  PyObject *resultobj = 0;
63141  int arg2 ;
63142  void *argp1 = 0 ;
63143  int res1 = 0 ;
63144  int val2 ;
63145  int ecode2 = 0 ;
63146  PyObject * obj0 = 0 ;
63147  PyObject * obj1 = 0 ;
63148  operations_research::IntVar *result = 0 ;
63149 
63150  if (!PyArg_UnpackTuple(args, "RoutingModel_VehicleCostsConsideredVar", 2, 2, &obj0, &obj1)) SWIG_fail;
63152  if (!SWIG_IsOK(res1)) {
63153  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_VehicleCostsConsideredVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63154  }
63155  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63156  ecode2 = SWIG_AsVal_int(obj1, &val2);
63157  if (!SWIG_IsOK(ecode2)) {
63158  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_VehicleCostsConsideredVar" "', argument " "2"" of type '" "int""'");
63159  }
63160  arg2 = static_cast< int >(val2);
63161  {
63162  try {
63163  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->VehicleCostsConsideredVar(arg2);
63164  }
63165  catch (Swig::DirectorException &e) {
63166  SWIG_fail;
63167  }
63168  }
63170  return resultobj;
63171 fail:
63172  return NULL;
63173 }
63174 
63175 
63176 SWIGINTERN PyObject *_wrap_RoutingModel_VehicleVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63177  PyObject *resultobj = 0;
63179  int64_t arg2 ;
63180  void *argp1 = 0 ;
63181  int res1 = 0 ;
63182  long val2 ;
63183  int ecode2 = 0 ;
63184  PyObject * obj0 = 0 ;
63185  PyObject * obj1 = 0 ;
63186  operations_research::IntVar *result = 0 ;
63187 
63188  if (!PyArg_UnpackTuple(args, "RoutingModel_VehicleVar", 2, 2, &obj0, &obj1)) SWIG_fail;
63190  if (!SWIG_IsOK(res1)) {
63191  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_VehicleVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63192  }
63193  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63194  ecode2 = SWIG_AsVal_long(obj1, &val2);
63195  if (!SWIG_IsOK(ecode2)) {
63196  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_VehicleVar" "', argument " "2"" of type '" "int64_t""'");
63197  }
63198  arg2 = static_cast< int64_t >(val2);
63199  {
63200  try {
63201  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->VehicleVar(arg2);
63202  }
63203  catch (Swig::DirectorException &e) {
63204  SWIG_fail;
63205  }
63206  }
63208  return resultobj;
63209 fail:
63210  return NULL;
63211 }
63212 
63213 
63214 SWIGINTERN PyObject *_wrap_RoutingModel_CostVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63215  PyObject *resultobj = 0;
63217  void *argp1 = 0 ;
63218  int res1 = 0 ;
63219  PyObject * obj0 = 0 ;
63220  operations_research::IntVar *result = 0 ;
63221 
63222  if (!PyArg_UnpackTuple(args, "RoutingModel_CostVar", 1, 1, &obj0)) SWIG_fail;
63224  if (!SWIG_IsOK(res1)) {
63225  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CostVar" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63226  }
63227  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63228  {
63229  try {
63230  result = (operations_research::IntVar *)((operations_research::RoutingModel const *)arg1)->CostVar();
63231  }
63232  catch (Swig::DirectorException &e) {
63233  SWIG_fail;
63234  }
63235  }
63237  return resultobj;
63238 fail:
63239  return NULL;
63240 }
63241 
63242 
63243 SWIGINTERN PyObject *_wrap_RoutingModel_GetArcCostForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63244  PyObject *resultobj = 0;
63246  int64_t arg2 ;
63247  int64_t arg3 ;
63248  int64_t arg4 ;
63249  void *argp1 = 0 ;
63250  int res1 = 0 ;
63251  long val2 ;
63252  int ecode2 = 0 ;
63253  long val3 ;
63254  int ecode3 = 0 ;
63255  long val4 ;
63256  int ecode4 = 0 ;
63257  PyObject * obj0 = 0 ;
63258  PyObject * obj1 = 0 ;
63259  PyObject * obj2 = 0 ;
63260  PyObject * obj3 = 0 ;
63261  int64_t result;
63262 
63263  if (!PyArg_UnpackTuple(args, "RoutingModel_GetArcCostForVehicle", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
63265  if (!SWIG_IsOK(res1)) {
63266  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetArcCostForVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63267  }
63268  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63269  ecode2 = SWIG_AsVal_long(obj1, &val2);
63270  if (!SWIG_IsOK(ecode2)) {
63271  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetArcCostForVehicle" "', argument " "2"" of type '" "int64_t""'");
63272  }
63273  arg2 = static_cast< int64_t >(val2);
63274  ecode3 = SWIG_AsVal_long(obj2, &val3);
63275  if (!SWIG_IsOK(ecode3)) {
63276  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_GetArcCostForVehicle" "', argument " "3"" of type '" "int64_t""'");
63277  }
63278  arg3 = static_cast< int64_t >(val3);
63279  ecode4 = SWIG_AsVal_long(obj3, &val4);
63280  if (!SWIG_IsOK(ecode4)) {
63281  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_GetArcCostForVehicle" "', argument " "4"" of type '" "int64_t""'");
63282  }
63283  arg4 = static_cast< int64_t >(val4);
63284  {
63285  try {
63286  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetArcCostForVehicle(arg2,arg3,arg4);
63287  }
63288  catch (Swig::DirectorException &e) {
63289  SWIG_fail;
63290  }
63291  }
63292  resultobj = SWIG_From_long(static_cast< long >(result));
63293  return resultobj;
63294 fail:
63295  return NULL;
63296 }
63297 
63298 
63300  PyObject *resultobj = 0;
63302  void *argp1 = 0 ;
63303  int res1 = 0 ;
63304  PyObject * obj0 = 0 ;
63305  bool result;
63306 
63307  if (!PyArg_UnpackTuple(args, "RoutingModel_CostsAreHomogeneousAcrossVehicles", 1, 1, &obj0)) SWIG_fail;
63309  if (!SWIG_IsOK(res1)) {
63310  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CostsAreHomogeneousAcrossVehicles" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63311  }
63312  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63313  {
63314  try {
63315  result = (bool)((operations_research::RoutingModel const *)arg1)->CostsAreHomogeneousAcrossVehicles();
63316  }
63317  catch (Swig::DirectorException &e) {
63318  SWIG_fail;
63319  }
63320  }
63321  resultobj = SWIG_From_bool(static_cast< bool >(result));
63322  return resultobj;
63323 fail:
63324  return NULL;
63325 }
63326 
63327 
63328 SWIGINTERN PyObject *_wrap_RoutingModel_GetHomogeneousCost(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63329  PyObject *resultobj = 0;
63331  int64_t arg2 ;
63332  int64_t arg3 ;
63333  void *argp1 = 0 ;
63334  int res1 = 0 ;
63335  long val2 ;
63336  int ecode2 = 0 ;
63337  long val3 ;
63338  int ecode3 = 0 ;
63339  PyObject * obj0 = 0 ;
63340  PyObject * obj1 = 0 ;
63341  PyObject * obj2 = 0 ;
63342  int64_t result;
63343 
63344  if (!PyArg_UnpackTuple(args, "RoutingModel_GetHomogeneousCost", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
63346  if (!SWIG_IsOK(res1)) {
63347  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetHomogeneousCost" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63348  }
63349  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63350  ecode2 = SWIG_AsVal_long(obj1, &val2);
63351  if (!SWIG_IsOK(ecode2)) {
63352  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetHomogeneousCost" "', argument " "2"" of type '" "int64_t""'");
63353  }
63354  arg2 = static_cast< int64_t >(val2);
63355  ecode3 = SWIG_AsVal_long(obj2, &val3);
63356  if (!SWIG_IsOK(ecode3)) {
63357  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_GetHomogeneousCost" "', argument " "3"" of type '" "int64_t""'");
63358  }
63359  arg3 = static_cast< int64_t >(val3);
63360  {
63361  try {
63362  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetHomogeneousCost(arg2,arg3);
63363  }
63364  catch (Swig::DirectorException &e) {
63365  SWIG_fail;
63366  }
63367  }
63368  resultobj = SWIG_From_long(static_cast< long >(result));
63369  return resultobj;
63370 fail:
63371  return NULL;
63372 }
63373 
63374 
63376  PyObject *resultobj = 0;
63378  int64_t arg2 ;
63379  int64_t arg3 ;
63380  void *argp1 = 0 ;
63381  int res1 = 0 ;
63382  long val2 ;
63383  int ecode2 = 0 ;
63384  long val3 ;
63385  int ecode3 = 0 ;
63386  PyObject * obj0 = 0 ;
63387  PyObject * obj1 = 0 ;
63388  PyObject * obj2 = 0 ;
63389  int64_t result;
63390 
63391  if (!PyArg_UnpackTuple(args, "RoutingModel_GetArcCostForFirstSolution", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
63393  if (!SWIG_IsOK(res1)) {
63394  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetArcCostForFirstSolution" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63395  }
63396  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63397  ecode2 = SWIG_AsVal_long(obj1, &val2);
63398  if (!SWIG_IsOK(ecode2)) {
63399  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetArcCostForFirstSolution" "', argument " "2"" of type '" "int64_t""'");
63400  }
63401  arg2 = static_cast< int64_t >(val2);
63402  ecode3 = SWIG_AsVal_long(obj2, &val3);
63403  if (!SWIG_IsOK(ecode3)) {
63404  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_GetArcCostForFirstSolution" "', argument " "3"" of type '" "int64_t""'");
63405  }
63406  arg3 = static_cast< int64_t >(val3);
63407  {
63408  try {
63409  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetArcCostForFirstSolution(arg2,arg3);
63410  }
63411  catch (Swig::DirectorException &e) {
63412  SWIG_fail;
63413  }
63414  }
63415  resultobj = SWIG_From_long(static_cast< long >(result));
63416  return resultobj;
63417 fail:
63418  return NULL;
63419 }
63420 
63421 
63422 SWIGINTERN PyObject *_wrap_RoutingModel_GetArcCostForClass(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63423  PyObject *resultobj = 0;
63425  int64_t arg2 ;
63426  int64_t arg3 ;
63427  int64_t arg4 ;
63428  void *argp1 = 0 ;
63429  int res1 = 0 ;
63430  long val2 ;
63431  int ecode2 = 0 ;
63432  long val3 ;
63433  int ecode3 = 0 ;
63434  long val4 ;
63435  int ecode4 = 0 ;
63436  PyObject * obj0 = 0 ;
63437  PyObject * obj1 = 0 ;
63438  PyObject * obj2 = 0 ;
63439  PyObject * obj3 = 0 ;
63440  int64_t result;
63441 
63442  if (!PyArg_UnpackTuple(args, "RoutingModel_GetArcCostForClass", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
63444  if (!SWIG_IsOK(res1)) {
63445  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetArcCostForClass" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63446  }
63447  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63448  ecode2 = SWIG_AsVal_long(obj1, &val2);
63449  if (!SWIG_IsOK(ecode2)) {
63450  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetArcCostForClass" "', argument " "2"" of type '" "int64_t""'");
63451  }
63452  arg2 = static_cast< int64_t >(val2);
63453  ecode3 = SWIG_AsVal_long(obj2, &val3);
63454  if (!SWIG_IsOK(ecode3)) {
63455  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_GetArcCostForClass" "', argument " "3"" of type '" "int64_t""'");
63456  }
63457  arg3 = static_cast< int64_t >(val3);
63458  ecode4 = SWIG_AsVal_long(obj3, &val4);
63459  if (!SWIG_IsOK(ecode4)) {
63460  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_GetArcCostForClass" "', argument " "4"" of type '" "int64_t""'");
63461  }
63462  arg4 = static_cast< int64_t >(val4);
63463  {
63464  try {
63465  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetArcCostForClass(arg2,arg3,arg4);
63466  }
63467  catch (Swig::DirectorException &e) {
63468  SWIG_fail;
63469  }
63470  }
63471  resultobj = SWIG_From_long(static_cast< long >(result));
63472  return resultobj;
63473 fail:
63474  return NULL;
63475 }
63476 
63477 
63479  PyObject *resultobj = 0;
63481  int64_t arg2 ;
63482  void *argp1 = 0 ;
63483  int res1 = 0 ;
63484  long val2 ;
63485  int ecode2 = 0 ;
63486  PyObject * obj0 = 0 ;
63487  PyObject * obj1 = 0 ;
63489 
63490  if (!PyArg_UnpackTuple(args, "RoutingModel_GetCostClassIndexOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
63492  if (!SWIG_IsOK(res1)) {
63493  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetCostClassIndexOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63494  }
63495  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63496  ecode2 = SWIG_AsVal_long(obj1, &val2);
63497  if (!SWIG_IsOK(ecode2)) {
63498  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetCostClassIndexOfVehicle" "', argument " "2"" of type '" "int64_t""'");
63499  }
63500  arg2 = static_cast< int64_t >(val2);
63501  {
63502  try {
63503  result = ((operations_research::RoutingModel const *)arg1)->GetCostClassIndexOfVehicle(arg2);
63504  }
63505  catch (Swig::DirectorException &e) {
63506  SWIG_fail;
63507  }
63508  }
63509  {
63510  resultobj = PyInt_FromLong((&result)->value());
63511  }
63512  return resultobj;
63513 fail:
63514  return NULL;
63515 }
63516 
63517 
63519  PyObject *resultobj = 0;
63522  void *argp1 = 0 ;
63523  int res1 = 0 ;
63524  PyObject * obj0 = 0 ;
63525  PyObject * obj1 = 0 ;
63526  bool result;
63527 
63528  if (!PyArg_UnpackTuple(args, "RoutingModel_HasVehicleWithCostClassIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
63530  if (!SWIG_IsOK(res1)) {
63531  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_HasVehicleWithCostClassIndex" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63532  }
63533  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63534  {
63535  arg2 = operations_research::RoutingCostClassIndex(PyInt_AsLong(obj1));
63536  }
63537  {
63538  try {
63539  result = (bool)((operations_research::RoutingModel const *)arg1)->HasVehicleWithCostClassIndex(arg2);
63540  }
63541  catch (Swig::DirectorException &e) {
63542  SWIG_fail;
63543  }
63544  }
63545  resultobj = SWIG_From_bool(static_cast< bool >(result));
63546  return resultobj;
63547 fail:
63548  return NULL;
63549 }
63550 
63551 
63552 SWIGINTERN PyObject *_wrap_RoutingModel_GetCostClassesCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63553  PyObject *resultobj = 0;
63555  void *argp1 = 0 ;
63556  int res1 = 0 ;
63557  PyObject * obj0 = 0 ;
63558  int result;
63559 
63560  if (!PyArg_UnpackTuple(args, "RoutingModel_GetCostClassesCount", 1, 1, &obj0)) SWIG_fail;
63562  if (!SWIG_IsOK(res1)) {
63563  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetCostClassesCount" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63564  }
63565  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63566  {
63567  try {
63568  result = (int)((operations_research::RoutingModel const *)arg1)->GetCostClassesCount();
63569  }
63570  catch (Swig::DirectorException &e) {
63571  SWIG_fail;
63572  }
63573  }
63574  resultobj = SWIG_From_int(static_cast< int >(result));
63575  return resultobj;
63576 fail:
63577  return NULL;
63578 }
63579 
63580 
63582  PyObject *resultobj = 0;
63584  void *argp1 = 0 ;
63585  int res1 = 0 ;
63586  PyObject * obj0 = 0 ;
63587  int result;
63588 
63589  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNonZeroCostClassesCount", 1, 1, &obj0)) SWIG_fail;
63591  if (!SWIG_IsOK(res1)) {
63592  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNonZeroCostClassesCount" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63593  }
63594  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63595  {
63596  try {
63597  result = (int)((operations_research::RoutingModel const *)arg1)->GetNonZeroCostClassesCount();
63598  }
63599  catch (Swig::DirectorException &e) {
63600  SWIG_fail;
63601  }
63602  }
63603  resultobj = SWIG_From_int(static_cast< int >(result));
63604  return resultobj;
63605 fail:
63606  return NULL;
63607 }
63608 
63609 
63611  PyObject *resultobj = 0;
63613  int64_t arg2 ;
63614  void *argp1 = 0 ;
63615  int res1 = 0 ;
63616  long val2 ;
63617  int ecode2 = 0 ;
63618  PyObject * obj0 = 0 ;
63619  PyObject * obj1 = 0 ;
63621 
63622  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVehicleClassIndexOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
63624  if (!SWIG_IsOK(res1)) {
63625  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVehicleClassIndexOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63626  }
63627  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63628  ecode2 = SWIG_AsVal_long(obj1, &val2);
63629  if (!SWIG_IsOK(ecode2)) {
63630  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetVehicleClassIndexOfVehicle" "', argument " "2"" of type '" "int64_t""'");
63631  }
63632  arg2 = static_cast< int64_t >(val2);
63633  {
63634  try {
63635  result = ((operations_research::RoutingModel const *)arg1)->GetVehicleClassIndexOfVehicle(arg2);
63636  }
63637  catch (Swig::DirectorException &e) {
63638  SWIG_fail;
63639  }
63640  }
63641  {
63642  resultobj = PyInt_FromLong((&result)->value());
63643  }
63644  return resultobj;
63645 fail:
63646  return NULL;
63647 }
63648 
63649 
63650 SWIGINTERN PyObject *_wrap_RoutingModel_GetVehicleOfClass(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63651  PyObject *resultobj = 0;
63654  void *argp1 = 0 ;
63655  int res1 = 0 ;
63656  PyObject * obj0 = 0 ;
63657  PyObject * obj1 = 0 ;
63658  int result;
63659 
63660  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVehicleOfClass", 2, 2, &obj0, &obj1)) SWIG_fail;
63662  if (!SWIG_IsOK(res1)) {
63663  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVehicleOfClass" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63664  }
63665  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63666  {
63667  arg2 = operations_research::RoutingVehicleClassIndex(PyInt_AsLong(obj1));
63668  }
63669  {
63670  try {
63671  result = (int)((operations_research::RoutingModel const *)arg1)->GetVehicleOfClass(arg2);
63672  }
63673  catch (Swig::DirectorException &e) {
63674  SWIG_fail;
63675  }
63676  }
63677  resultobj = SWIG_From_int(static_cast< int >(result));
63678  return resultobj;
63679 fail:
63680  return NULL;
63681 }
63682 
63683 
63684 SWIGINTERN PyObject *_wrap_RoutingModel_GetVehicleClassesCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63685  PyObject *resultobj = 0;
63687  void *argp1 = 0 ;
63688  int res1 = 0 ;
63689  PyObject * obj0 = 0 ;
63690  int result;
63691 
63692  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVehicleClassesCount", 1, 1, &obj0)) SWIG_fail;
63694  if (!SWIG_IsOK(res1)) {
63695  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVehicleClassesCount" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63696  }
63697  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63698  {
63699  try {
63700  result = (int)((operations_research::RoutingModel const *)arg1)->GetVehicleClassesCount();
63701  }
63702  catch (Swig::DirectorException &e) {
63703  SWIG_fail;
63704  }
63705  }
63706  resultobj = SWIG_From_int(static_cast< int >(result));
63707  return resultobj;
63708 fail:
63709  return NULL;
63710 }
63711 
63712 
63714  PyObject *resultobj = 0;
63716  int arg2 ;
63717  void *argp1 = 0 ;
63718  int res1 = 0 ;
63719  int val2 ;
63720  int ecode2 = 0 ;
63721  PyObject * obj0 = 0 ;
63722  PyObject * obj1 = 0 ;
63723  std::vector< int > *result = 0 ;
63724 
63725  if (!PyArg_UnpackTuple(args, "RoutingModel_GetSameVehicleIndicesOfIndex", 2, 2, &obj0, &obj1)) SWIG_fail;
63727  if (!SWIG_IsOK(res1)) {
63728  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetSameVehicleIndicesOfIndex" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63729  }
63730  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63731  ecode2 = SWIG_AsVal_int(obj1, &val2);
63732  if (!SWIG_IsOK(ecode2)) {
63733  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_GetSameVehicleIndicesOfIndex" "', argument " "2"" of type '" "int""'");
63734  }
63735  arg2 = static_cast< int >(val2);
63736  {
63737  try {
63738  result = (std::vector< int > *) &((operations_research::RoutingModel const *)arg1)->GetSameVehicleIndicesOfIndex(arg2);
63739  }
63740  catch (Swig::DirectorException &e) {
63741  SWIG_fail;
63742  }
63743  }
63744  {
63745  resultobj = vector_output_helper(result, &PyInt_FromLong);
63746  }
63747  return resultobj;
63748 fail:
63749  return NULL;
63750 }
63751 
63752 
63753 SWIGINTERN PyObject *_wrap_RoutingModel_GetVehicleTypeContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63754  PyObject *resultobj = 0;
63756  void *argp1 = 0 ;
63757  int res1 = 0 ;
63758  PyObject * obj0 = 0 ;
63760 
63761  if (!PyArg_UnpackTuple(args, "RoutingModel_GetVehicleTypeContainer", 1, 1, &obj0)) SWIG_fail;
63763  if (!SWIG_IsOK(res1)) {
63764  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetVehicleTypeContainer" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63765  }
63766  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63767  {
63768  try {
63769  result = (operations_research::RoutingModel::VehicleTypeContainer *) &((operations_research::RoutingModel const *)arg1)->GetVehicleTypeContainer();
63770  }
63771  catch (Swig::DirectorException &e) {
63772  SWIG_fail;
63773  }
63774  }
63776  return resultobj;
63777 fail:
63778  return NULL;
63779 }
63780 
63781 
63783  PyObject *resultobj = 0;
63785  int64_t arg2 ;
63786  int64_t arg3 ;
63787  int64_t arg4 ;
63788  void *argp1 = 0 ;
63789  int res1 = 0 ;
63790  long val2 ;
63791  int ecode2 = 0 ;
63792  long val3 ;
63793  int ecode3 = 0 ;
63794  long val4 ;
63795  int ecode4 = 0 ;
63796  PyObject * obj0 = 0 ;
63797  PyObject * obj1 = 0 ;
63798  PyObject * obj2 = 0 ;
63799  PyObject * obj3 = 0 ;
63800  bool result;
63801 
63802  if (!PyArg_UnpackTuple(args, "RoutingModel_ArcIsMoreConstrainedThanArc", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
63804  if (!SWIG_IsOK(res1)) {
63805  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_ArcIsMoreConstrainedThanArc" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
63806  }
63807  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63808  ecode2 = SWIG_AsVal_long(obj1, &val2);
63809  if (!SWIG_IsOK(ecode2)) {
63810  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingModel_ArcIsMoreConstrainedThanArc" "', argument " "2"" of type '" "int64_t""'");
63811  }
63812  arg2 = static_cast< int64_t >(val2);
63813  ecode3 = SWIG_AsVal_long(obj2, &val3);
63814  if (!SWIG_IsOK(ecode3)) {
63815  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingModel_ArcIsMoreConstrainedThanArc" "', argument " "3"" of type '" "int64_t""'");
63816  }
63817  arg3 = static_cast< int64_t >(val3);
63818  ecode4 = SWIG_AsVal_long(obj3, &val4);
63819  if (!SWIG_IsOK(ecode4)) {
63820  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingModel_ArcIsMoreConstrainedThanArc" "', argument " "4"" of type '" "int64_t""'");
63821  }
63822  arg4 = static_cast< int64_t >(val4);
63823  {
63824  try {
63825  result = (bool)(arg1)->ArcIsMoreConstrainedThanArc(arg2,arg3,arg4);
63826  }
63827  catch (Swig::DirectorException &e) {
63828  SWIG_fail;
63829  }
63830  }
63831  resultobj = SWIG_From_bool(static_cast< bool >(result));
63832  return resultobj;
63833 fail:
63834  return NULL;
63835 }
63836 
63837 
63838 SWIGINTERN PyObject *_wrap_RoutingModel_DebugOutputAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63839  PyObject *resultobj = 0;
63842  std::string *arg3 = 0 ;
63843  void *argp1 = 0 ;
63844  int res1 = 0 ;
63845  void *argp2 = 0 ;
63846  int res2 = 0 ;
63847  int res3 = SWIG_OLDOBJ ;
63848  PyObject * obj0 = 0 ;
63849  PyObject * obj1 = 0 ;
63850  PyObject * obj2 = 0 ;
63851  std::string result;
63852 
63853  if (!PyArg_UnpackTuple(args, "RoutingModel_DebugOutputAssignment", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
63855  if (!SWIG_IsOK(res1)) {
63856  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_DebugOutputAssignment" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63857  }
63858  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63859  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_operations_research__Assignment, 0 | 0);
63860  if (!SWIG_IsOK(res2)) {
63861  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_DebugOutputAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
63862  }
63863  if (!argp2) {
63864  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_DebugOutputAssignment" "', argument " "2"" of type '" "operations_research::Assignment const &""'");
63865  }
63866  arg2 = reinterpret_cast< operations_research::Assignment * >(argp2);
63867  {
63868  std::string *ptr = (std::string *)0;
63869  res3 = SWIG_AsPtr_std_string(obj2, &ptr);
63870  if (!SWIG_IsOK(res3)) {
63871  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RoutingModel_DebugOutputAssignment" "', argument " "3"" of type '" "std::string const &""'");
63872  }
63873  if (!ptr) {
63874  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RoutingModel_DebugOutputAssignment" "', argument " "3"" of type '" "std::string const &""'");
63875  }
63876  arg3 = ptr;
63877  }
63878  {
63879  try {
63880  result = ((operations_research::RoutingModel const *)arg1)->DebugOutputAssignment((operations_research::Assignment const &)*arg2,(std::string const &)*arg3);
63881  }
63882  catch (Swig::DirectorException &e) {
63883  SWIG_fail;
63884  }
63885  }
63886  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
63887  if (SWIG_IsNewObj(res3)) delete arg3;
63888  return resultobj;
63889 fail:
63890  if (SWIG_IsNewObj(res3)) delete arg3;
63891  return NULL;
63892 }
63893 
63894 
63895 SWIGINTERN PyObject *_wrap_RoutingModel_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63896  PyObject *resultobj = 0;
63898  void *argp1 = 0 ;
63899  int res1 = 0 ;
63900  PyObject * obj0 = 0 ;
63901  operations_research::Solver *result = 0 ;
63902 
63903  if (!PyArg_UnpackTuple(args, "RoutingModel_solver", 1, 1, &obj0)) SWIG_fail;
63905  if (!SWIG_IsOK(res1)) {
63906  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_solver" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63907  }
63908  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63909  {
63910  try {
63911  result = (operations_research::Solver *)((operations_research::RoutingModel const *)arg1)->solver();
63912  }
63913  catch (Swig::DirectorException &e) {
63914  SWIG_fail;
63915  }
63916  }
63918  return resultobj;
63919 fail:
63920  return NULL;
63921 }
63922 
63923 
63924 SWIGINTERN PyObject *_wrap_RoutingModel_CheckLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63925  PyObject *resultobj = 0;
63927  void *argp1 = 0 ;
63928  int res1 = 0 ;
63929  PyObject * obj0 = 0 ;
63930  bool result;
63931 
63932  if (!PyArg_UnpackTuple(args, "RoutingModel_CheckLimit", 1, 1, &obj0)) SWIG_fail;
63934  if (!SWIG_IsOK(res1)) {
63935  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_CheckLimit" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
63936  }
63937  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63938  {
63939  try {
63940  result = (bool)(arg1)->CheckLimit();
63941  }
63942  catch (Swig::DirectorException &e) {
63943  SWIG_fail;
63944  }
63945  }
63946  resultobj = SWIG_From_bool(static_cast< bool >(result));
63947  return resultobj;
63948 fail:
63949  return NULL;
63950 }
63951 
63952 
63953 SWIGINTERN PyObject *_wrap_RoutingModel_RemainingTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63954  PyObject *resultobj = 0;
63956  void *argp1 = 0 ;
63957  int res1 = 0 ;
63958  PyObject * obj0 = 0 ;
63959  absl::Duration result;
63960 
63961  if (!PyArg_UnpackTuple(args, "RoutingModel_RemainingTime", 1, 1, &obj0)) SWIG_fail;
63963  if (!SWIG_IsOK(res1)) {
63964  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_RemainingTime" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63965  }
63966  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63967  {
63968  try {
63969  result = ((operations_research::RoutingModel const *)arg1)->RemainingTime();
63970  }
63971  catch (Swig::DirectorException &e) {
63972  SWIG_fail;
63973  }
63974  }
63975  resultobj = SWIG_NewPointerObj((new absl::Duration(static_cast< const absl::Duration& >(result))), SWIGTYPE_p_absl__Duration, SWIG_POINTER_OWN | 0 );
63976  return resultobj;
63977 fail:
63978  return NULL;
63979 }
63980 
63981 
63982 SWIGINTERN PyObject *_wrap_RoutingModel_nodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
63983  PyObject *resultobj = 0;
63985  void *argp1 = 0 ;
63986  int res1 = 0 ;
63987  PyObject * obj0 = 0 ;
63988  int result;
63989 
63990  if (!PyArg_UnpackTuple(args, "RoutingModel_nodes", 1, 1, &obj0)) SWIG_fail;
63992  if (!SWIG_IsOK(res1)) {
63993  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_nodes" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
63994  }
63995  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
63996  {
63997  try {
63998  result = (int)((operations_research::RoutingModel const *)arg1)->nodes();
63999  }
64000  catch (Swig::DirectorException &e) {
64001  SWIG_fail;
64002  }
64003  }
64004  resultobj = SWIG_From_int(static_cast< int >(result));
64005  return resultobj;
64006 fail:
64007  return NULL;
64008 }
64009 
64010 
64011 SWIGINTERN PyObject *_wrap_RoutingModel_vehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64012  PyObject *resultobj = 0;
64014  void *argp1 = 0 ;
64015  int res1 = 0 ;
64016  PyObject * obj0 = 0 ;
64017  int result;
64018 
64019  if (!PyArg_UnpackTuple(args, "RoutingModel_vehicles", 1, 1, &obj0)) SWIG_fail;
64021  if (!SWIG_IsOK(res1)) {
64022  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_vehicles" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64023  }
64024  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64025  {
64026  try {
64027  result = (int)((operations_research::RoutingModel const *)arg1)->vehicles();
64028  }
64029  catch (Swig::DirectorException &e) {
64030  SWIG_fail;
64031  }
64032  }
64033  resultobj = SWIG_From_int(static_cast< int >(result));
64034  return resultobj;
64035 fail:
64036  return NULL;
64037 }
64038 
64039 
64040 SWIGINTERN PyObject *_wrap_RoutingModel_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64041  PyObject *resultobj = 0;
64043  void *argp1 = 0 ;
64044  int res1 = 0 ;
64045  PyObject * obj0 = 0 ;
64046  int64_t result;
64047 
64048  if (!PyArg_UnpackTuple(args, "RoutingModel_Size", 1, 1, &obj0)) SWIG_fail;
64050  if (!SWIG_IsOK(res1)) {
64051  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_Size" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64052  }
64053  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64054  {
64055  try {
64056  result = (int64_t)((operations_research::RoutingModel const *)arg1)->Size();
64057  }
64058  catch (Swig::DirectorException &e) {
64059  SWIG_fail;
64060  }
64061  }
64062  resultobj = SWIG_From_long(static_cast< long >(result));
64063  return resultobj;
64064 fail:
64065  return NULL;
64066 }
64067 
64068 
64070  PyObject *resultobj = 0;
64073  void *argp1 = 0 ;
64074  int res1 = 0 ;
64075  PyObject * obj0 = 0 ;
64076  PyObject * obj1 = 0 ;
64077  int64_t result;
64078 
64079  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNumberOfDecisionsInFirstSolution", 2, 2, &obj0, &obj1)) SWIG_fail;
64081  if (!SWIG_IsOK(res1)) {
64082  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNumberOfDecisionsInFirstSolution" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64083  }
64084  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64085  {
64087  PyObject* const pyresult = PyObject_CallMethod(
64088  obj1, const_cast<char*>("SerializeToString"), nullptr);
64089  if (pyresult != nullptr) {
64090  char* buffer = nullptr;
64091  Py_ssize_t length = 0;
64092  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
64093  if (buffer != nullptr) {
64094  arg2->ParseFromArray(buffer, length);
64095  }
64096  Py_DECREF(pyresult);
64097  }
64098  }
64099  {
64100  try {
64101  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetNumberOfDecisionsInFirstSolution((operations_research::RoutingSearchParameters const &)*arg2);
64102  }
64103  catch (Swig::DirectorException &e) {
64104  SWIG_fail;
64105  }
64106  }
64107  resultobj = SWIG_From_long(static_cast< long >(result));
64108  {
64109  delete arg2;
64110  }
64111  return resultobj;
64112 fail:
64113  {
64114  delete arg2;
64115  }
64116  return NULL;
64117 }
64118 
64119 
64121  PyObject *resultobj = 0;
64124  void *argp1 = 0 ;
64125  int res1 = 0 ;
64126  PyObject * obj0 = 0 ;
64127  PyObject * obj1 = 0 ;
64128  int64_t result;
64129 
64130  if (!PyArg_UnpackTuple(args, "RoutingModel_GetNumberOfRejectsInFirstSolution", 2, 2, &obj0, &obj1)) SWIG_fail;
64132  if (!SWIG_IsOK(res1)) {
64133  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetNumberOfRejectsInFirstSolution" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64134  }
64135  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64136  {
64138  PyObject* const pyresult = PyObject_CallMethod(
64139  obj1, const_cast<char*>("SerializeToString"), nullptr);
64140  if (pyresult != nullptr) {
64141  char* buffer = nullptr;
64142  Py_ssize_t length = 0;
64143  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
64144  if (buffer != nullptr) {
64145  arg2->ParseFromArray(buffer, length);
64146  }
64147  Py_DECREF(pyresult);
64148  }
64149  }
64150  {
64151  try {
64152  result = (int64_t)((operations_research::RoutingModel const *)arg1)->GetNumberOfRejectsInFirstSolution((operations_research::RoutingSearchParameters const &)*arg2);
64153  }
64154  catch (Swig::DirectorException &e) {
64155  SWIG_fail;
64156  }
64157  }
64158  resultobj = SWIG_From_long(static_cast< long >(result));
64159  {
64160  delete arg2;
64161  }
64162  return resultobj;
64163 fail:
64164  {
64165  delete arg2;
64166  }
64167  return NULL;
64168 }
64169 
64170 
64172  PyObject *resultobj = 0;
64174  void *argp1 = 0 ;
64175  int res1 = 0 ;
64176  PyObject * obj0 = 0 ;
64178 
64179  if (!PyArg_UnpackTuple(args, "RoutingModel_GetAutomaticFirstSolutionStrategy", 1, 1, &obj0)) SWIG_fail;
64181  if (!SWIG_IsOK(res1)) {
64182  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_GetAutomaticFirstSolutionStrategy" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64183  }
64184  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64185  {
64186  try {
64187  result = ((operations_research::RoutingModel const *)arg1)->GetAutomaticFirstSolutionStrategy();
64188  }
64189  catch (Swig::DirectorException &e) {
64190  SWIG_fail;
64191  }
64192  }
64193  resultobj = SWIG_NewPointerObj((new operations_research::FirstSolutionStrategy::Value(static_cast< const operations_research::FirstSolutionStrategy::Value& >(result))), SWIGTYPE_p_operations_research__FirstSolutionStrategy__Value, SWIG_POINTER_OWN | 0 );
64194  return resultobj;
64195 fail:
64196  return NULL;
64197 }
64198 
64199 
64200 SWIGINTERN PyObject *_wrap_RoutingModel_IsMatchingModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64201  PyObject *resultobj = 0;
64203  void *argp1 = 0 ;
64204  int res1 = 0 ;
64205  PyObject * obj0 = 0 ;
64206  bool result;
64207 
64208  if (!PyArg_UnpackTuple(args, "RoutingModel_IsMatchingModel", 1, 1, &obj0)) SWIG_fail;
64210  if (!SWIG_IsOK(res1)) {
64211  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_IsMatchingModel" "', argument " "1"" of type '" "operations_research::RoutingModel const *""'");
64212  }
64213  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64214  {
64215  try {
64216  result = (bool)((operations_research::RoutingModel const *)arg1)->IsMatchingModel();
64217  }
64218  catch (Swig::DirectorException &e) {
64219  SWIG_fail;
64220  }
64221  }
64222  resultobj = SWIG_From_bool(static_cast< bool >(result));
64223  return resultobj;
64224 fail:
64225  return NULL;
64226 }
64227 
64228 
64229 SWIGINTERN PyObject *_wrap_RoutingModel_MakeGuidedSlackFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64230  PyObject *resultobj = 0;
64233  std::function< int64_t (int64_t) > arg3 ;
64234  void *argp1 = 0 ;
64235  int res1 = 0 ;
64236  void *argp2 = 0 ;
64237  int res2 = 0 ;
64238  PyObject * obj0 = 0 ;
64239  PyObject * obj1 = 0 ;
64240  PyObject * obj2 = 0 ;
64241  Swig::Director *director = 0;
64243 
64244  if (!PyArg_UnpackTuple(args, "RoutingModel_MakeGuidedSlackFinalizer", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
64246  if (!SWIG_IsOK(res1)) {
64247  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_MakeGuidedSlackFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
64248  }
64249  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64251  if (!SWIG_IsOK(res2)) {
64252  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_MakeGuidedSlackFinalizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const *""'");
64253  }
64254  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
64255  {
64256  SharedPyPtr input(obj2);
64257  arg3 = [input](int64_t index) {
64258  return InvokePythonCallableReturning<int64_t>(input.get(), "(L)", index);
64259  };
64260  }
64261  {
64262  try {
64263  result = (operations_research::DecisionBuilder *)(arg1)->MakeGuidedSlackFinalizer((operations_research::RoutingDimension const *)arg2,arg3);
64264  }
64265  catch (Swig::DirectorException &e) {
64266  SWIG_fail;
64267  }
64268  }
64269  director = SWIG_DIRECTOR_CAST(result);
64270  if (director) {
64271  resultobj = director->swig_get_self();
64272  Py_INCREF(resultobj);
64273  } else {
64275  }
64276  return resultobj;
64277 fail:
64278  return NULL;
64279 }
64280 
64281 
64283  PyObject *resultobj = 0;
64286  void *argp1 = 0 ;
64287  int res1 = 0 ;
64288  void *argp2 = 0 ;
64289  int res2 = 0 ;
64290  PyObject * obj0 = 0 ;
64291  PyObject * obj1 = 0 ;
64292  Swig::Director *director = 0;
64294 
64295  if (!PyArg_UnpackTuple(args, "RoutingModel_MakeSelfDependentDimensionFinalizer", 2, 2, &obj0, &obj1)) SWIG_fail;
64297  if (!SWIG_IsOK(res1)) {
64298  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingModel_MakeSelfDependentDimensionFinalizer" "', argument " "1"" of type '" "operations_research::RoutingModel *""'");
64299  }
64300  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64302  if (!SWIG_IsOK(res2)) {
64303  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RoutingModel_MakeSelfDependentDimensionFinalizer" "', argument " "2"" of type '" "operations_research::RoutingDimension const *""'");
64304  }
64305  arg2 = reinterpret_cast< operations_research::RoutingDimension * >(argp2);
64306  {
64307  try {
64308  result = (operations_research::DecisionBuilder *)(arg1)->MakeSelfDependentDimensionFinalizer((operations_research::RoutingDimension const *)arg2);
64309  }
64310  catch (Swig::DirectorException &e) {
64311  SWIG_fail;
64312  }
64313  }
64314  director = SWIG_DIRECTOR_CAST(result);
64315  if (director) {
64316  resultobj = director->swig_get_self();
64317  Py_INCREF(resultobj);
64318  } else {
64320  }
64321  return resultobj;
64322 fail:
64323  return NULL;
64324 }
64325 
64326 
64327 SWIGINTERN PyObject *RoutingModel_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64328  PyObject *obj;
64329  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64331  return SWIG_Py_Void();
64332 }
64333 
64334 SWIGINTERN PyObject *RoutingModel_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64335  return SWIG_Python_InitShadowInstance(args);
64336 }
64337 
64339  SWIG_Error(SWIG_AttributeError,"Variable RoutingModelVisitor_kLightElement is read-only.");
64340  return 1;
64341 }
64342 
64343 
64345  PyObject *pyobj = 0;
64346 
64348  return pyobj;
64349 }
64350 
64351 
64353  SWIG_Error(SWIG_AttributeError,"Variable RoutingModelVisitor_kLightElement2 is read-only.");
64354  return 1;
64355 }
64356 
64357 
64359  PyObject *pyobj = 0;
64360 
64362  return pyobj;
64363 }
64364 
64365 
64367  SWIG_Error(SWIG_AttributeError,"Variable RoutingModelVisitor_kRemoveValues is read-only.");
64368  return 1;
64369 }
64370 
64371 
64373  PyObject *pyobj = 0;
64374 
64376  return pyobj;
64377 }
64378 
64379 
64380 SWIGINTERN PyObject *_wrap_new_RoutingModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64381  PyObject *resultobj = 0;
64383 
64384  if (!PyArg_UnpackTuple(args, "new_RoutingModelVisitor", 0, 0)) SWIG_fail;
64385  {
64386  try {
64388  }
64389  catch (Swig::DirectorException &e) {
64390  SWIG_fail;
64391  }
64392  }
64394  return resultobj;
64395 fail:
64396  return NULL;
64397 }
64398 
64399 
64400 SWIGINTERN PyObject *_wrap_delete_RoutingModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64401  PyObject *resultobj = 0;
64403  void *argp1 = 0 ;
64404  int res1 = 0 ;
64405  PyObject * obj0 = 0 ;
64406 
64407  if (!PyArg_UnpackTuple(args, "delete_RoutingModelVisitor", 1, 1, &obj0)) SWIG_fail;
64409  if (!SWIG_IsOK(res1)) {
64410  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RoutingModelVisitor" "', argument " "1"" of type '" "operations_research::RoutingModelVisitor *""'");
64411  }
64412  arg1 = reinterpret_cast< operations_research::RoutingModelVisitor * >(argp1);
64413  {
64414  try {
64415  delete arg1;
64416  }
64417  catch (Swig::DirectorException &e) {
64418  SWIG_fail;
64419  }
64420  }
64421  resultobj = SWIG_Py_Void();
64422  return resultobj;
64423 fail:
64424  return NULL;
64425 }
64426 
64427 
64428 SWIGINTERN PyObject *RoutingModelVisitor_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64429  PyObject *obj;
64430  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64432  return SWIG_Py_Void();
64433 }
64434 
64435 SWIGINTERN PyObject *RoutingModelVisitor_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64436  return SWIG_Python_InitShadowInstance(args);
64437 }
64438 
64439 SWIGINTERN PyObject *_wrap_new_GlobalVehicleBreaksConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64440  PyObject *resultobj = 0;
64442  void *argp1 = 0 ;
64443  int res1 = 0 ;
64444  PyObject * obj0 = 0 ;
64446 
64447  if (!PyArg_UnpackTuple(args, "new_GlobalVehicleBreaksConstraint", 1, 1, &obj0)) SWIG_fail;
64449  if (!SWIG_IsOK(res1)) {
64450  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_GlobalVehicleBreaksConstraint" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
64451  }
64452  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
64453  {
64454  try {
64456  }
64457  catch (Swig::DirectorException &e) {
64458  SWIG_fail;
64459  }
64460  }
64462  return resultobj;
64463 fail:
64464  return NULL;
64465 }
64466 
64467 
64469  PyObject *resultobj = 0;
64471  void *argp1 = 0 ;
64472  int res1 = 0 ;
64473  PyObject * obj0 = 0 ;
64474  std::string result;
64475 
64476  if (!PyArg_UnpackTuple(args, "GlobalVehicleBreaksConstraint_DebugString", 1, 1, &obj0)) SWIG_fail;
64478  if (!SWIG_IsOK(res1)) {
64479  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GlobalVehicleBreaksConstraint_DebugString" "', argument " "1"" of type '" "operations_research::GlobalVehicleBreaksConstraint const *""'");
64480  }
64481  arg1 = reinterpret_cast< operations_research::GlobalVehicleBreaksConstraint * >(argp1);
64482  {
64483  try {
64484  result = ((operations_research::GlobalVehicleBreaksConstraint const *)arg1)->DebugString();
64485  }
64486  catch (Swig::DirectorException &e) {
64487  SWIG_fail;
64488  }
64489  }
64490  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
64491  return resultobj;
64492 fail:
64493  return NULL;
64494 }
64495 
64496 
64497 SWIGINTERN PyObject *_wrap_GlobalVehicleBreaksConstraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64498  PyObject *resultobj = 0;
64500  void *argp1 = 0 ;
64501  int res1 = 0 ;
64502  PyObject * obj0 = 0 ;
64503 
64504  if (!PyArg_UnpackTuple(args, "GlobalVehicleBreaksConstraint_Post", 1, 1, &obj0)) SWIG_fail;
64506  if (!SWIG_IsOK(res1)) {
64507  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GlobalVehicleBreaksConstraint_Post" "', argument " "1"" of type '" "operations_research::GlobalVehicleBreaksConstraint *""'");
64508  }
64509  arg1 = reinterpret_cast< operations_research::GlobalVehicleBreaksConstraint * >(argp1);
64510  {
64511  try {
64512  (arg1)->Post();
64513  }
64514  catch (Swig::DirectorException &e) {
64515  SWIG_fail;
64516  }
64517  }
64518  resultobj = SWIG_Py_Void();
64519  return resultobj;
64520 fail:
64521  return NULL;
64522 }
64523 
64524 
64526  PyObject *resultobj = 0;
64528  void *argp1 = 0 ;
64529  int res1 = 0 ;
64530  PyObject * obj0 = 0 ;
64531 
64532  if (!PyArg_UnpackTuple(args, "GlobalVehicleBreaksConstraint_InitialPropagateWrapper", 1, 1, &obj0)) SWIG_fail;
64534  if (!SWIG_IsOK(res1)) {
64535  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GlobalVehicleBreaksConstraint_InitialPropagateWrapper" "', argument " "1"" of type '" "operations_research::GlobalVehicleBreaksConstraint *""'");
64536  }
64537  arg1 = reinterpret_cast< operations_research::GlobalVehicleBreaksConstraint * >(argp1);
64538  {
64539  try {
64540  (arg1)->InitialPropagate();
64541  }
64542  catch (Swig::DirectorException &e) {
64543  SWIG_fail;
64544  }
64545  }
64546  resultobj = SWIG_Py_Void();
64547  return resultobj;
64548 fail:
64549  return NULL;
64550 }
64551 
64552 
64553 SWIGINTERN PyObject *_wrap_delete_GlobalVehicleBreaksConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64554  PyObject *resultobj = 0;
64556  void *argp1 = 0 ;
64557  int res1 = 0 ;
64558  PyObject * obj0 = 0 ;
64559 
64560  if (!PyArg_UnpackTuple(args, "delete_GlobalVehicleBreaksConstraint", 1, 1, &obj0)) SWIG_fail;
64562  if (!SWIG_IsOK(res1)) {
64563  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_GlobalVehicleBreaksConstraint" "', argument " "1"" of type '" "operations_research::GlobalVehicleBreaksConstraint *""'");
64564  }
64565  arg1 = reinterpret_cast< operations_research::GlobalVehicleBreaksConstraint * >(argp1);
64566  {
64567  try {
64568  delete arg1;
64569  }
64570  catch (Swig::DirectorException &e) {
64571  SWIG_fail;
64572  }
64573  }
64574  resultobj = SWIG_Py_Void();
64575  return resultobj;
64576 fail:
64577  return NULL;
64578 }
64579 
64580 
64581 SWIGINTERN PyObject *GlobalVehicleBreaksConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64582  PyObject *obj;
64583  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64585  return SWIG_Py_Void();
64586 }
64587 
64588 SWIGINTERN PyObject *GlobalVehicleBreaksConstraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64589  return SWIG_Python_InitShadowInstance(args);
64590 }
64591 
64592 SWIGINTERN PyObject *_wrap_delete_TypeRegulationsChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64593  PyObject *resultobj = 0;
64595  void *argp1 = 0 ;
64596  int res1 = 0 ;
64597  PyObject * obj0 = 0 ;
64598 
64599  if (!PyArg_UnpackTuple(args, "delete_TypeRegulationsChecker", 1, 1, &obj0)) SWIG_fail;
64601  if (!SWIG_IsOK(res1)) {
64602  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TypeRegulationsChecker" "', argument " "1"" of type '" "operations_research::TypeRegulationsChecker *""'");
64603  }
64604  arg1 = reinterpret_cast< operations_research::TypeRegulationsChecker * >(argp1);
64605  {
64606  try {
64607  delete arg1;
64608  }
64609  catch (Swig::DirectorException &e) {
64610  SWIG_fail;
64611  }
64612  }
64613  resultobj = SWIG_Py_Void();
64614  return resultobj;
64615 fail:
64616  return NULL;
64617 }
64618 
64619 
64620 SWIGINTERN PyObject *_wrap_TypeRegulationsChecker_CheckVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64621  PyObject *resultobj = 0;
64623  int arg2 ;
64624  std::function< int64_t (int64_t) > *arg3 = 0 ;
64625  void *argp1 = 0 ;
64626  int res1 = 0 ;
64627  int val2 ;
64628  int ecode2 = 0 ;
64629  void *argp3 = 0 ;
64630  int res3 = 0 ;
64631  PyObject * obj0 = 0 ;
64632  PyObject * obj1 = 0 ;
64633  PyObject * obj2 = 0 ;
64634  bool result;
64635 
64636  if (!PyArg_UnpackTuple(args, "TypeRegulationsChecker_CheckVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
64638  if (!SWIG_IsOK(res1)) {
64639  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TypeRegulationsChecker_CheckVehicle" "', argument " "1"" of type '" "operations_research::TypeRegulationsChecker *""'");
64640  }
64641  arg1 = reinterpret_cast< operations_research::TypeRegulationsChecker * >(argp1);
64642  ecode2 = SWIG_AsVal_int(obj1, &val2);
64643  if (!SWIG_IsOK(ecode2)) {
64644  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TypeRegulationsChecker_CheckVehicle" "', argument " "2"" of type '" "int""'");
64645  }
64646  arg2 = static_cast< int >(val2);
64647  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_std__functionT_long_flongF_t, 0 | 0);
64648  if (!SWIG_IsOK(res3)) {
64649  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "TypeRegulationsChecker_CheckVehicle" "', argument " "3"" of type '" "std::function< int64_t (int64_t) > const &""'");
64650  }
64651  if (!argp3) {
64652  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TypeRegulationsChecker_CheckVehicle" "', argument " "3"" of type '" "std::function< int64_t (int64_t) > const &""'");
64653  }
64654  arg3 = reinterpret_cast< std::function< int64_t (int64_t) > * >(argp3);
64655  {
64656  try {
64657  result = (bool)(arg1)->CheckVehicle(arg2,(std::function< int64_t (int64_t) > const &)*arg3);
64658  }
64659  catch (Swig::DirectorException &e) {
64660  SWIG_fail;
64661  }
64662  }
64663  resultobj = SWIG_From_bool(static_cast< bool >(result));
64664  return resultobj;
64665 fail:
64666  return NULL;
64667 }
64668 
64669 
64670 SWIGINTERN PyObject *TypeRegulationsChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64671  PyObject *obj;
64672  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64674  return SWIG_Py_Void();
64675 }
64676 
64677 SWIGINTERN PyObject *_wrap_new_TypeIncompatibilityChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64678  PyObject *resultobj = 0;
64680  bool arg2 ;
64681  void *argp1 = 0 ;
64682  int res1 = 0 ;
64683  bool val2 ;
64684  int ecode2 = 0 ;
64685  PyObject * obj0 = 0 ;
64686  PyObject * obj1 = 0 ;
64688 
64689  if (!PyArg_UnpackTuple(args, "new_TypeIncompatibilityChecker", 2, 2, &obj0, &obj1)) SWIG_fail;
64691  if (!SWIG_IsOK(res1)) {
64692  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_TypeIncompatibilityChecker" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64693  }
64694  if (!argp1) {
64695  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_TypeIncompatibilityChecker" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64696  }
64697  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64698  ecode2 = SWIG_AsVal_bool(obj1, &val2);
64699  if (!SWIG_IsOK(ecode2)) {
64700  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_TypeIncompatibilityChecker" "', argument " "2"" of type '" "bool""'");
64701  }
64702  arg2 = static_cast< bool >(val2);
64703  {
64704  try {
64706  }
64707  catch (Swig::DirectorException &e) {
64708  SWIG_fail;
64709  }
64710  }
64712  return resultobj;
64713 fail:
64714  return NULL;
64715 }
64716 
64717 
64718 SWIGINTERN PyObject *_wrap_delete_TypeIncompatibilityChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64719  PyObject *resultobj = 0;
64721  void *argp1 = 0 ;
64722  int res1 = 0 ;
64723  PyObject * obj0 = 0 ;
64724 
64725  if (!PyArg_UnpackTuple(args, "delete_TypeIncompatibilityChecker", 1, 1, &obj0)) SWIG_fail;
64727  if (!SWIG_IsOK(res1)) {
64728  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TypeIncompatibilityChecker" "', argument " "1"" of type '" "operations_research::TypeIncompatibilityChecker *""'");
64729  }
64730  arg1 = reinterpret_cast< operations_research::TypeIncompatibilityChecker * >(argp1);
64731  {
64732  try {
64733  delete arg1;
64734  }
64735  catch (Swig::DirectorException &e) {
64736  SWIG_fail;
64737  }
64738  }
64739  resultobj = SWIG_Py_Void();
64740  return resultobj;
64741 fail:
64742  return NULL;
64743 }
64744 
64745 
64746 SWIGINTERN PyObject *TypeIncompatibilityChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64747  PyObject *obj;
64748  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64750  return SWIG_Py_Void();
64751 }
64752 
64753 SWIGINTERN PyObject *TypeIncompatibilityChecker_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64754  return SWIG_Python_InitShadowInstance(args);
64755 }
64756 
64757 SWIGINTERN PyObject *_wrap_new_TypeRequirementChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64758  PyObject *resultobj = 0;
64760  void *argp1 = 0 ;
64761  int res1 = 0 ;
64762  PyObject * obj0 = 0 ;
64764 
64765  if (!PyArg_UnpackTuple(args, "new_TypeRequirementChecker", 1, 1, &obj0)) SWIG_fail;
64767  if (!SWIG_IsOK(res1)) {
64768  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_TypeRequirementChecker" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64769  }
64770  if (!argp1) {
64771  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_TypeRequirementChecker" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64772  }
64773  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64774  {
64775  try {
64777  }
64778  catch (Swig::DirectorException &e) {
64779  SWIG_fail;
64780  }
64781  }
64783  return resultobj;
64784 fail:
64785  return NULL;
64786 }
64787 
64788 
64789 SWIGINTERN PyObject *_wrap_delete_TypeRequirementChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64790  PyObject *resultobj = 0;
64792  void *argp1 = 0 ;
64793  int res1 = 0 ;
64794  PyObject * obj0 = 0 ;
64795 
64796  if (!PyArg_UnpackTuple(args, "delete_TypeRequirementChecker", 1, 1, &obj0)) SWIG_fail;
64798  if (!SWIG_IsOK(res1)) {
64799  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TypeRequirementChecker" "', argument " "1"" of type '" "operations_research::TypeRequirementChecker *""'");
64800  }
64801  arg1 = reinterpret_cast< operations_research::TypeRequirementChecker * >(argp1);
64802  {
64803  try {
64804  delete arg1;
64805  }
64806  catch (Swig::DirectorException &e) {
64807  SWIG_fail;
64808  }
64809  }
64810  resultobj = SWIG_Py_Void();
64811  return resultobj;
64812 fail:
64813  return NULL;
64814 }
64815 
64816 
64817 SWIGINTERN PyObject *TypeRequirementChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64818  PyObject *obj;
64819  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64821  return SWIG_Py_Void();
64822 }
64823 
64824 SWIGINTERN PyObject *TypeRequirementChecker_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64825  return SWIG_Python_InitShadowInstance(args);
64826 }
64827 
64828 SWIGINTERN PyObject *_wrap_new_TypeRegulationsConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64829  PyObject *resultobj = 0;
64831  void *argp1 = 0 ;
64832  int res1 = 0 ;
64833  PyObject * obj0 = 0 ;
64835 
64836  if (!PyArg_UnpackTuple(args, "new_TypeRegulationsConstraint", 1, 1, &obj0)) SWIG_fail;
64838  if (!SWIG_IsOK(res1)) {
64839  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_TypeRegulationsConstraint" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64840  }
64841  if (!argp1) {
64842  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_TypeRegulationsConstraint" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
64843  }
64844  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
64845  {
64846  try {
64848  }
64849  catch (Swig::DirectorException &e) {
64850  SWIG_fail;
64851  }
64852  }
64854  return resultobj;
64855 fail:
64856  return NULL;
64857 }
64858 
64859 
64860 SWIGINTERN PyObject *_wrap_TypeRegulationsConstraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64861  PyObject *resultobj = 0;
64863  void *argp1 = 0 ;
64864  int res1 = 0 ;
64865  PyObject * obj0 = 0 ;
64866 
64867  if (!PyArg_UnpackTuple(args, "TypeRegulationsConstraint_Post", 1, 1, &obj0)) SWIG_fail;
64869  if (!SWIG_IsOK(res1)) {
64870  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TypeRegulationsConstraint_Post" "', argument " "1"" of type '" "operations_research::TypeRegulationsConstraint *""'");
64871  }
64872  arg1 = reinterpret_cast< operations_research::TypeRegulationsConstraint * >(argp1);
64873  {
64874  try {
64875  (arg1)->Post();
64876  }
64877  catch (Swig::DirectorException &e) {
64878  SWIG_fail;
64879  }
64880  }
64881  resultobj = SWIG_Py_Void();
64882  return resultobj;
64883 fail:
64884  return NULL;
64885 }
64886 
64887 
64889  PyObject *resultobj = 0;
64891  void *argp1 = 0 ;
64892  int res1 = 0 ;
64893  PyObject * obj0 = 0 ;
64894 
64895  if (!PyArg_UnpackTuple(args, "TypeRegulationsConstraint_InitialPropagateWrapper", 1, 1, &obj0)) SWIG_fail;
64897  if (!SWIG_IsOK(res1)) {
64898  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TypeRegulationsConstraint_InitialPropagateWrapper" "', argument " "1"" of type '" "operations_research::TypeRegulationsConstraint *""'");
64899  }
64900  arg1 = reinterpret_cast< operations_research::TypeRegulationsConstraint * >(argp1);
64901  {
64902  try {
64903  (arg1)->InitialPropagate();
64904  }
64905  catch (Swig::DirectorException &e) {
64906  SWIG_fail;
64907  }
64908  }
64909  resultobj = SWIG_Py_Void();
64910  return resultobj;
64911 fail:
64912  return NULL;
64913 }
64914 
64915 
64916 SWIGINTERN PyObject *_wrap_delete_TypeRegulationsConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64917  PyObject *resultobj = 0;
64919  void *argp1 = 0 ;
64920  int res1 = 0 ;
64921  PyObject * obj0 = 0 ;
64922 
64923  if (!PyArg_UnpackTuple(args, "delete_TypeRegulationsConstraint", 1, 1, &obj0)) SWIG_fail;
64925  if (!SWIG_IsOK(res1)) {
64926  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TypeRegulationsConstraint" "', argument " "1"" of type '" "operations_research::TypeRegulationsConstraint *""'");
64927  }
64928  arg1 = reinterpret_cast< operations_research::TypeRegulationsConstraint * >(argp1);
64929  {
64930  try {
64931  delete arg1;
64932  }
64933  catch (Swig::DirectorException &e) {
64934  SWIG_fail;
64935  }
64936  }
64937  resultobj = SWIG_Py_Void();
64938  return resultobj;
64939 fail:
64940  return NULL;
64941 }
64942 
64943 
64944 SWIGINTERN PyObject *TypeRegulationsConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64945  PyObject *obj;
64946  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
64948  return SWIG_Py_Void();
64949 }
64950 
64951 SWIGINTERN PyObject *TypeRegulationsConstraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64952  return SWIG_Python_InitShadowInstance(args);
64953 }
64954 
64955 SWIGINTERN PyObject *_wrap_delete_RoutingDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64956  PyObject *resultobj = 0;
64958  void *argp1 = 0 ;
64959  int res1 = 0 ;
64960  PyObject * obj0 = 0 ;
64961 
64962  if (!PyArg_UnpackTuple(args, "delete_RoutingDimension", 1, 1, &obj0)) SWIG_fail;
64964  if (!SWIG_IsOK(res1)) {
64965  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RoutingDimension" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
64966  }
64967  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
64968  {
64969  try {
64970  delete arg1;
64971  }
64972  catch (Swig::DirectorException &e) {
64973  SWIG_fail;
64974  }
64975  }
64976  resultobj = SWIG_Py_Void();
64977  return resultobj;
64978 fail:
64979  return NULL;
64980 }
64981 
64982 
64983 SWIGINTERN PyObject *_wrap_RoutingDimension_model(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
64984  PyObject *resultobj = 0;
64986  void *argp1 = 0 ;
64987  int res1 = 0 ;
64988  PyObject * obj0 = 0 ;
64989  operations_research::RoutingModel *result = 0 ;
64990 
64991  if (!PyArg_UnpackTuple(args, "RoutingDimension_model", 1, 1, &obj0)) SWIG_fail;
64993  if (!SWIG_IsOK(res1)) {
64994  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_model" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
64995  }
64996  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
64997  {
64998  try {
65000  }
65001  catch (Swig::DirectorException &e) {
65002  SWIG_fail;
65003  }
65004  }
65006  return resultobj;
65007 fail:
65008  return NULL;
65009 }
65010 
65011 
65012 SWIGINTERN PyObject *_wrap_RoutingDimension_GetTransitValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65013  PyObject *resultobj = 0;
65015  int64_t arg2 ;
65016  int64_t arg3 ;
65017  int64_t arg4 ;
65018  void *argp1 = 0 ;
65019  int res1 = 0 ;
65020  long val2 ;
65021  int ecode2 = 0 ;
65022  long val3 ;
65023  int ecode3 = 0 ;
65024  long val4 ;
65025  int ecode4 = 0 ;
65026  PyObject * obj0 = 0 ;
65027  PyObject * obj1 = 0 ;
65028  PyObject * obj2 = 0 ;
65029  PyObject * obj3 = 0 ;
65030  int64_t result;
65031 
65032  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetTransitValue", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65034  if (!SWIG_IsOK(res1)) {
65035  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetTransitValue" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65036  }
65037  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65038  ecode2 = SWIG_AsVal_long(obj1, &val2);
65039  if (!SWIG_IsOK(ecode2)) {
65040  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetTransitValue" "', argument " "2"" of type '" "int64_t""'");
65041  }
65042  arg2 = static_cast< int64_t >(val2);
65043  ecode3 = SWIG_AsVal_long(obj2, &val3);
65044  if (!SWIG_IsOK(ecode3)) {
65045  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_GetTransitValue" "', argument " "3"" of type '" "int64_t""'");
65046  }
65047  arg3 = static_cast< int64_t >(val3);
65048  ecode4 = SWIG_AsVal_long(obj3, &val4);
65049  if (!SWIG_IsOK(ecode4)) {
65050  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_GetTransitValue" "', argument " "4"" of type '" "int64_t""'");
65051  }
65052  arg4 = static_cast< int64_t >(val4);
65053  {
65054  try {
65055  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetTransitValue(arg2,arg3,arg4);
65056  }
65057  catch (Swig::DirectorException &e) {
65058  SWIG_fail;
65059  }
65060  }
65061  resultobj = SWIG_From_long(static_cast< long >(result));
65062  return resultobj;
65063 fail:
65064  return NULL;
65065 }
65066 
65067 
65069  PyObject *resultobj = 0;
65071  int64_t arg2 ;
65072  int64_t arg3 ;
65073  int64_t arg4 ;
65074  void *argp1 = 0 ;
65075  int res1 = 0 ;
65076  long val2 ;
65077  int ecode2 = 0 ;
65078  long val3 ;
65079  int ecode3 = 0 ;
65080  long val4 ;
65081  int ecode4 = 0 ;
65082  PyObject * obj0 = 0 ;
65083  PyObject * obj1 = 0 ;
65084  PyObject * obj2 = 0 ;
65085  PyObject * obj3 = 0 ;
65086  int64_t result;
65087 
65088  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetTransitValueFromClass", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65090  if (!SWIG_IsOK(res1)) {
65091  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetTransitValueFromClass" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65092  }
65093  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65094  ecode2 = SWIG_AsVal_long(obj1, &val2);
65095  if (!SWIG_IsOK(ecode2)) {
65096  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetTransitValueFromClass" "', argument " "2"" of type '" "int64_t""'");
65097  }
65098  arg2 = static_cast< int64_t >(val2);
65099  ecode3 = SWIG_AsVal_long(obj2, &val3);
65100  if (!SWIG_IsOK(ecode3)) {
65101  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_GetTransitValueFromClass" "', argument " "3"" of type '" "int64_t""'");
65102  }
65103  arg3 = static_cast< int64_t >(val3);
65104  ecode4 = SWIG_AsVal_long(obj3, &val4);
65105  if (!SWIG_IsOK(ecode4)) {
65106  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_GetTransitValueFromClass" "', argument " "4"" of type '" "int64_t""'");
65107  }
65108  arg4 = static_cast< int64_t >(val4);
65109  {
65110  try {
65111  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetTransitValueFromClass(arg2,arg3,arg4);
65112  }
65113  catch (Swig::DirectorException &e) {
65114  SWIG_fail;
65115  }
65116  }
65117  resultobj = SWIG_From_long(static_cast< long >(result));
65118  return resultobj;
65119 fail:
65120  return NULL;
65121 }
65122 
65123 
65124 SWIGINTERN PyObject *_wrap_RoutingDimension_CumulVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65125  PyObject *resultobj = 0;
65127  int64_t arg2 ;
65128  void *argp1 = 0 ;
65129  int res1 = 0 ;
65130  long val2 ;
65131  int ecode2 = 0 ;
65132  PyObject * obj0 = 0 ;
65133  PyObject * obj1 = 0 ;
65134  operations_research::IntVar *result = 0 ;
65135 
65136  if (!PyArg_UnpackTuple(args, "RoutingDimension_CumulVar", 2, 2, &obj0, &obj1)) SWIG_fail;
65138  if (!SWIG_IsOK(res1)) {
65139  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_CumulVar" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65140  }
65141  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65142  ecode2 = SWIG_AsVal_long(obj1, &val2);
65143  if (!SWIG_IsOK(ecode2)) {
65144  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_CumulVar" "', argument " "2"" of type '" "int64_t""'");
65145  }
65146  arg2 = static_cast< int64_t >(val2);
65147  {
65148  try {
65149  result = (operations_research::IntVar *)((operations_research::RoutingDimension const *)arg1)->CumulVar(arg2);
65150  }
65151  catch (Swig::DirectorException &e) {
65152  SWIG_fail;
65153  }
65154  }
65156  return resultobj;
65157 fail:
65158  return NULL;
65159 }
65160 
65161 
65162 SWIGINTERN PyObject *_wrap_RoutingDimension_TransitVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65163  PyObject *resultobj = 0;
65165  int64_t arg2 ;
65166  void *argp1 = 0 ;
65167  int res1 = 0 ;
65168  long val2 ;
65169  int ecode2 = 0 ;
65170  PyObject * obj0 = 0 ;
65171  PyObject * obj1 = 0 ;
65172  operations_research::IntVar *result = 0 ;
65173 
65174  if (!PyArg_UnpackTuple(args, "RoutingDimension_TransitVar", 2, 2, &obj0, &obj1)) SWIG_fail;
65176  if (!SWIG_IsOK(res1)) {
65177  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_TransitVar" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65178  }
65179  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65180  ecode2 = SWIG_AsVal_long(obj1, &val2);
65181  if (!SWIG_IsOK(ecode2)) {
65182  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_TransitVar" "', argument " "2"" of type '" "int64_t""'");
65183  }
65184  arg2 = static_cast< int64_t >(val2);
65185  {
65186  try {
65187  result = (operations_research::IntVar *)((operations_research::RoutingDimension const *)arg1)->TransitVar(arg2);
65188  }
65189  catch (Swig::DirectorException &e) {
65190  SWIG_fail;
65191  }
65192  }
65194  return resultobj;
65195 fail:
65196  return NULL;
65197 }
65198 
65199 
65200 SWIGINTERN PyObject *_wrap_RoutingDimension_FixedTransitVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65201  PyObject *resultobj = 0;
65203  int64_t arg2 ;
65204  void *argp1 = 0 ;
65205  int res1 = 0 ;
65206  long val2 ;
65207  int ecode2 = 0 ;
65208  PyObject * obj0 = 0 ;
65209  PyObject * obj1 = 0 ;
65210  operations_research::IntVar *result = 0 ;
65211 
65212  if (!PyArg_UnpackTuple(args, "RoutingDimension_FixedTransitVar", 2, 2, &obj0, &obj1)) SWIG_fail;
65214  if (!SWIG_IsOK(res1)) {
65215  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_FixedTransitVar" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65216  }
65217  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65218  ecode2 = SWIG_AsVal_long(obj1, &val2);
65219  if (!SWIG_IsOK(ecode2)) {
65220  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_FixedTransitVar" "', argument " "2"" of type '" "int64_t""'");
65221  }
65222  arg2 = static_cast< int64_t >(val2);
65223  {
65224  try {
65225  result = (operations_research::IntVar *)((operations_research::RoutingDimension const *)arg1)->FixedTransitVar(arg2);
65226  }
65227  catch (Swig::DirectorException &e) {
65228  SWIG_fail;
65229  }
65230  }
65232  return resultobj;
65233 fail:
65234  return NULL;
65235 }
65236 
65237 
65238 SWIGINTERN PyObject *_wrap_RoutingDimension_SlackVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65239  PyObject *resultobj = 0;
65241  int64_t arg2 ;
65242  void *argp1 = 0 ;
65243  int res1 = 0 ;
65244  long val2 ;
65245  int ecode2 = 0 ;
65246  PyObject * obj0 = 0 ;
65247  PyObject * obj1 = 0 ;
65248  operations_research::IntVar *result = 0 ;
65249 
65250  if (!PyArg_UnpackTuple(args, "RoutingDimension_SlackVar", 2, 2, &obj0, &obj1)) SWIG_fail;
65252  if (!SWIG_IsOK(res1)) {
65253  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SlackVar" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65254  }
65255  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65256  ecode2 = SWIG_AsVal_long(obj1, &val2);
65257  if (!SWIG_IsOK(ecode2)) {
65258  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SlackVar" "', argument " "2"" of type '" "int64_t""'");
65259  }
65260  arg2 = static_cast< int64_t >(val2);
65261  {
65262  try {
65263  result = (operations_research::IntVar *)((operations_research::RoutingDimension const *)arg1)->SlackVar(arg2);
65264  }
65265  catch (Swig::DirectorException &e) {
65266  SWIG_fail;
65267  }
65268  }
65270  return resultobj;
65271 fail:
65272  return NULL;
65273 }
65274 
65275 
65277  PyObject *resultobj = 0;
65279  int64_t arg2 ;
65280  int arg3 ;
65281  void *argp1 = 0 ;
65282  int res1 = 0 ;
65283  long val2 ;
65284  int ecode2 = 0 ;
65285  int val3 ;
65286  int ecode3 = 0 ;
65287  PyObject * obj0 = 0 ;
65288  PyObject * obj1 = 0 ;
65289  PyObject * obj2 = 0 ;
65290 
65291  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetSpanUpperBoundForVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
65293  if (!SWIG_IsOK(res1)) {
65294  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetSpanUpperBoundForVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65295  }
65296  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65297  ecode2 = SWIG_AsVal_long(obj1, &val2);
65298  if (!SWIG_IsOK(ecode2)) {
65299  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetSpanUpperBoundForVehicle" "', argument " "2"" of type '" "int64_t""'");
65300  }
65301  arg2 = static_cast< int64_t >(val2);
65302  ecode3 = SWIG_AsVal_int(obj2, &val3);
65303  if (!SWIG_IsOK(ecode3)) {
65304  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetSpanUpperBoundForVehicle" "', argument " "3"" of type '" "int""'");
65305  }
65306  arg3 = static_cast< int >(val3);
65307  {
65308  try {
65309  (arg1)->SetSpanUpperBoundForVehicle(arg2,arg3);
65310  }
65311  catch (Swig::DirectorException &e) {
65312  SWIG_fail;
65313  }
65314  }
65315  resultobj = SWIG_Py_Void();
65316  return resultobj;
65317 fail:
65318  return NULL;
65319 }
65320 
65321 
65323  PyObject *resultobj = 0;
65325  int64_t arg2 ;
65326  int arg3 ;
65327  void *argp1 = 0 ;
65328  int res1 = 0 ;
65329  long val2 ;
65330  int ecode2 = 0 ;
65331  int val3 ;
65332  int ecode3 = 0 ;
65333  PyObject * obj0 = 0 ;
65334  PyObject * obj1 = 0 ;
65335  PyObject * obj2 = 0 ;
65336 
65337  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetSpanCostCoefficientForVehicle", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
65339  if (!SWIG_IsOK(res1)) {
65340  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetSpanCostCoefficientForVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65341  }
65342  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65343  ecode2 = SWIG_AsVal_long(obj1, &val2);
65344  if (!SWIG_IsOK(ecode2)) {
65345  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetSpanCostCoefficientForVehicle" "', argument " "2"" of type '" "int64_t""'");
65346  }
65347  arg2 = static_cast< int64_t >(val2);
65348  ecode3 = SWIG_AsVal_int(obj2, &val3);
65349  if (!SWIG_IsOK(ecode3)) {
65350  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetSpanCostCoefficientForVehicle" "', argument " "3"" of type '" "int""'");
65351  }
65352  arg3 = static_cast< int >(val3);
65353  {
65354  try {
65355  (arg1)->SetSpanCostCoefficientForVehicle(arg2,arg3);
65356  }
65357  catch (Swig::DirectorException &e) {
65358  SWIG_fail;
65359  }
65360  }
65361  resultobj = SWIG_Py_Void();
65362  return resultobj;
65363 fail:
65364  return NULL;
65365 }
65366 
65367 
65369  PyObject *resultobj = 0;
65371  int64_t arg2 ;
65372  void *argp1 = 0 ;
65373  int res1 = 0 ;
65374  long val2 ;
65375  int ecode2 = 0 ;
65376  PyObject * obj0 = 0 ;
65377  PyObject * obj1 = 0 ;
65378 
65379  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetSpanCostCoefficientForAllVehicles", 2, 2, &obj0, &obj1)) SWIG_fail;
65381  if (!SWIG_IsOK(res1)) {
65382  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetSpanCostCoefficientForAllVehicles" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65383  }
65384  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65385  ecode2 = SWIG_AsVal_long(obj1, &val2);
65386  if (!SWIG_IsOK(ecode2)) {
65387  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetSpanCostCoefficientForAllVehicles" "', argument " "2"" of type '" "int64_t""'");
65388  }
65389  arg2 = static_cast< int64_t >(val2);
65390  {
65391  try {
65392  (arg1)->SetSpanCostCoefficientForAllVehicles(arg2);
65393  }
65394  catch (Swig::DirectorException &e) {
65395  SWIG_fail;
65396  }
65397  }
65398  resultobj = SWIG_Py_Void();
65399  return resultobj;
65400 fail:
65401  return NULL;
65402 }
65403 
65404 
65406  PyObject *resultobj = 0;
65408  int64_t arg2 ;
65409  void *argp1 = 0 ;
65410  int res1 = 0 ;
65411  long val2 ;
65412  int ecode2 = 0 ;
65413  PyObject * obj0 = 0 ;
65414  PyObject * obj1 = 0 ;
65415 
65416  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetGlobalSpanCostCoefficient", 2, 2, &obj0, &obj1)) SWIG_fail;
65418  if (!SWIG_IsOK(res1)) {
65419  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetGlobalSpanCostCoefficient" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65420  }
65421  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65422  ecode2 = SWIG_AsVal_long(obj1, &val2);
65423  if (!SWIG_IsOK(ecode2)) {
65424  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetGlobalSpanCostCoefficient" "', argument " "2"" of type '" "int64_t""'");
65425  }
65426  arg2 = static_cast< int64_t >(val2);
65427  {
65428  try {
65429  (arg1)->SetGlobalSpanCostCoefficient(arg2);
65430  }
65431  catch (Swig::DirectorException &e) {
65432  SWIG_fail;
65433  }
65434  }
65435  resultobj = SWIG_Py_Void();
65436  return resultobj;
65437 fail:
65438  return NULL;
65439 }
65440 
65441 
65443  PyObject *resultobj = 0;
65445  int64_t arg2 ;
65446  int64_t arg3 ;
65447  int64_t arg4 ;
65448  void *argp1 = 0 ;
65449  int res1 = 0 ;
65450  long val2 ;
65451  int ecode2 = 0 ;
65452  long val3 ;
65453  int ecode3 = 0 ;
65454  long val4 ;
65455  int ecode4 = 0 ;
65456  PyObject * obj0 = 0 ;
65457  PyObject * obj1 = 0 ;
65458  PyObject * obj2 = 0 ;
65459  PyObject * obj3 = 0 ;
65460 
65461  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetCumulVarSoftUpperBound", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65463  if (!SWIG_IsOK(res1)) {
65464  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetCumulVarSoftUpperBound" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65465  }
65466  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65467  ecode2 = SWIG_AsVal_long(obj1, &val2);
65468  if (!SWIG_IsOK(ecode2)) {
65469  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetCumulVarSoftUpperBound" "', argument " "2"" of type '" "int64_t""'");
65470  }
65471  arg2 = static_cast< int64_t >(val2);
65472  ecode3 = SWIG_AsVal_long(obj2, &val3);
65473  if (!SWIG_IsOK(ecode3)) {
65474  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetCumulVarSoftUpperBound" "', argument " "3"" of type '" "int64_t""'");
65475  }
65476  arg3 = static_cast< int64_t >(val3);
65477  ecode4 = SWIG_AsVal_long(obj3, &val4);
65478  if (!SWIG_IsOK(ecode4)) {
65479  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_SetCumulVarSoftUpperBound" "', argument " "4"" of type '" "int64_t""'");
65480  }
65481  arg4 = static_cast< int64_t >(val4);
65482  {
65483  try {
65484  (arg1)->SetCumulVarSoftUpperBound(arg2,arg3,arg4);
65485  }
65486  catch (Swig::DirectorException &e) {
65487  SWIG_fail;
65488  }
65489  }
65490  resultobj = SWIG_Py_Void();
65491  return resultobj;
65492 fail:
65493  return NULL;
65494 }
65495 
65496 
65498  PyObject *resultobj = 0;
65500  int64_t arg2 ;
65501  void *argp1 = 0 ;
65502  int res1 = 0 ;
65503  long val2 ;
65504  int ecode2 = 0 ;
65505  PyObject * obj0 = 0 ;
65506  PyObject * obj1 = 0 ;
65507  bool result;
65508 
65509  if (!PyArg_UnpackTuple(args, "RoutingDimension_HasCumulVarSoftUpperBound", 2, 2, &obj0, &obj1)) SWIG_fail;
65511  if (!SWIG_IsOK(res1)) {
65512  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_HasCumulVarSoftUpperBound" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65513  }
65514  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65515  ecode2 = SWIG_AsVal_long(obj1, &val2);
65516  if (!SWIG_IsOK(ecode2)) {
65517  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_HasCumulVarSoftUpperBound" "', argument " "2"" of type '" "int64_t""'");
65518  }
65519  arg2 = static_cast< int64_t >(val2);
65520  {
65521  try {
65522  result = (bool)((operations_research::RoutingDimension const *)arg1)->HasCumulVarSoftUpperBound(arg2);
65523  }
65524  catch (Swig::DirectorException &e) {
65525  SWIG_fail;
65526  }
65527  }
65528  resultobj = SWIG_From_bool(static_cast< bool >(result));
65529  return resultobj;
65530 fail:
65531  return NULL;
65532 }
65533 
65534 
65536  PyObject *resultobj = 0;
65538  int64_t arg2 ;
65539  void *argp1 = 0 ;
65540  int res1 = 0 ;
65541  long val2 ;
65542  int ecode2 = 0 ;
65543  PyObject * obj0 = 0 ;
65544  PyObject * obj1 = 0 ;
65545  int64_t result;
65546 
65547  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetCumulVarSoftUpperBound", 2, 2, &obj0, &obj1)) SWIG_fail;
65549  if (!SWIG_IsOK(res1)) {
65550  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetCumulVarSoftUpperBound" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65551  }
65552  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65553  ecode2 = SWIG_AsVal_long(obj1, &val2);
65554  if (!SWIG_IsOK(ecode2)) {
65555  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetCumulVarSoftUpperBound" "', argument " "2"" of type '" "int64_t""'");
65556  }
65557  arg2 = static_cast< int64_t >(val2);
65558  {
65559  try {
65560  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetCumulVarSoftUpperBound(arg2);
65561  }
65562  catch (Swig::DirectorException &e) {
65563  SWIG_fail;
65564  }
65565  }
65566  resultobj = SWIG_From_long(static_cast< long >(result));
65567  return resultobj;
65568 fail:
65569  return NULL;
65570 }
65571 
65572 
65574  PyObject *resultobj = 0;
65576  int64_t arg2 ;
65577  void *argp1 = 0 ;
65578  int res1 = 0 ;
65579  long val2 ;
65580  int ecode2 = 0 ;
65581  PyObject * obj0 = 0 ;
65582  PyObject * obj1 = 0 ;
65583  int64_t result;
65584 
65585  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetCumulVarSoftUpperBoundCoefficient", 2, 2, &obj0, &obj1)) SWIG_fail;
65587  if (!SWIG_IsOK(res1)) {
65588  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetCumulVarSoftUpperBoundCoefficient" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65589  }
65590  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65591  ecode2 = SWIG_AsVal_long(obj1, &val2);
65592  if (!SWIG_IsOK(ecode2)) {
65593  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetCumulVarSoftUpperBoundCoefficient" "', argument " "2"" of type '" "int64_t""'");
65594  }
65595  arg2 = static_cast< int64_t >(val2);
65596  {
65597  try {
65598  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetCumulVarSoftUpperBoundCoefficient(arg2);
65599  }
65600  catch (Swig::DirectorException &e) {
65601  SWIG_fail;
65602  }
65603  }
65604  resultobj = SWIG_From_long(static_cast< long >(result));
65605  return resultobj;
65606 fail:
65607  return NULL;
65608 }
65609 
65610 
65612  PyObject *resultobj = 0;
65614  int64_t arg2 ;
65615  int64_t arg3 ;
65616  int64_t arg4 ;
65617  void *argp1 = 0 ;
65618  int res1 = 0 ;
65619  long val2 ;
65620  int ecode2 = 0 ;
65621  long val3 ;
65622  int ecode3 = 0 ;
65623  long val4 ;
65624  int ecode4 = 0 ;
65625  PyObject * obj0 = 0 ;
65626  PyObject * obj1 = 0 ;
65627  PyObject * obj2 = 0 ;
65628  PyObject * obj3 = 0 ;
65629 
65630  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetCumulVarSoftLowerBound", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65632  if (!SWIG_IsOK(res1)) {
65633  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetCumulVarSoftLowerBound" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65634  }
65635  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65636  ecode2 = SWIG_AsVal_long(obj1, &val2);
65637  if (!SWIG_IsOK(ecode2)) {
65638  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetCumulVarSoftLowerBound" "', argument " "2"" of type '" "int64_t""'");
65639  }
65640  arg2 = static_cast< int64_t >(val2);
65641  ecode3 = SWIG_AsVal_long(obj2, &val3);
65642  if (!SWIG_IsOK(ecode3)) {
65643  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetCumulVarSoftLowerBound" "', argument " "3"" of type '" "int64_t""'");
65644  }
65645  arg3 = static_cast< int64_t >(val3);
65646  ecode4 = SWIG_AsVal_long(obj3, &val4);
65647  if (!SWIG_IsOK(ecode4)) {
65648  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_SetCumulVarSoftLowerBound" "', argument " "4"" of type '" "int64_t""'");
65649  }
65650  arg4 = static_cast< int64_t >(val4);
65651  {
65652  try {
65653  (arg1)->SetCumulVarSoftLowerBound(arg2,arg3,arg4);
65654  }
65655  catch (Swig::DirectorException &e) {
65656  SWIG_fail;
65657  }
65658  }
65659  resultobj = SWIG_Py_Void();
65660  return resultobj;
65661 fail:
65662  return NULL;
65663 }
65664 
65665 
65667  PyObject *resultobj = 0;
65669  int64_t arg2 ;
65670  void *argp1 = 0 ;
65671  int res1 = 0 ;
65672  long val2 ;
65673  int ecode2 = 0 ;
65674  PyObject * obj0 = 0 ;
65675  PyObject * obj1 = 0 ;
65676  bool result;
65677 
65678  if (!PyArg_UnpackTuple(args, "RoutingDimension_HasCumulVarSoftLowerBound", 2, 2, &obj0, &obj1)) SWIG_fail;
65680  if (!SWIG_IsOK(res1)) {
65681  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_HasCumulVarSoftLowerBound" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65682  }
65683  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65684  ecode2 = SWIG_AsVal_long(obj1, &val2);
65685  if (!SWIG_IsOK(ecode2)) {
65686  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_HasCumulVarSoftLowerBound" "', argument " "2"" of type '" "int64_t""'");
65687  }
65688  arg2 = static_cast< int64_t >(val2);
65689  {
65690  try {
65691  result = (bool)((operations_research::RoutingDimension const *)arg1)->HasCumulVarSoftLowerBound(arg2);
65692  }
65693  catch (Swig::DirectorException &e) {
65694  SWIG_fail;
65695  }
65696  }
65697  resultobj = SWIG_From_bool(static_cast< bool >(result));
65698  return resultobj;
65699 fail:
65700  return NULL;
65701 }
65702 
65703 
65705  PyObject *resultobj = 0;
65707  int64_t arg2 ;
65708  void *argp1 = 0 ;
65709  int res1 = 0 ;
65710  long val2 ;
65711  int ecode2 = 0 ;
65712  PyObject * obj0 = 0 ;
65713  PyObject * obj1 = 0 ;
65714  int64_t result;
65715 
65716  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetCumulVarSoftLowerBound", 2, 2, &obj0, &obj1)) SWIG_fail;
65718  if (!SWIG_IsOK(res1)) {
65719  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetCumulVarSoftLowerBound" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65720  }
65721  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65722  ecode2 = SWIG_AsVal_long(obj1, &val2);
65723  if (!SWIG_IsOK(ecode2)) {
65724  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetCumulVarSoftLowerBound" "', argument " "2"" of type '" "int64_t""'");
65725  }
65726  arg2 = static_cast< int64_t >(val2);
65727  {
65728  try {
65729  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetCumulVarSoftLowerBound(arg2);
65730  }
65731  catch (Swig::DirectorException &e) {
65732  SWIG_fail;
65733  }
65734  }
65735  resultobj = SWIG_From_long(static_cast< long >(result));
65736  return resultobj;
65737 fail:
65738  return NULL;
65739 }
65740 
65741 
65743  PyObject *resultobj = 0;
65745  int64_t arg2 ;
65746  void *argp1 = 0 ;
65747  int res1 = 0 ;
65748  long val2 ;
65749  int ecode2 = 0 ;
65750  PyObject * obj0 = 0 ;
65751  PyObject * obj1 = 0 ;
65752  int64_t result;
65753 
65754  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetCumulVarSoftLowerBoundCoefficient", 2, 2, &obj0, &obj1)) SWIG_fail;
65756  if (!SWIG_IsOK(res1)) {
65757  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetCumulVarSoftLowerBoundCoefficient" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65758  }
65759  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65760  ecode2 = SWIG_AsVal_long(obj1, &val2);
65761  if (!SWIG_IsOK(ecode2)) {
65762  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetCumulVarSoftLowerBoundCoefficient" "', argument " "2"" of type '" "int64_t""'");
65763  }
65764  arg2 = static_cast< int64_t >(val2);
65765  {
65766  try {
65767  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetCumulVarSoftLowerBoundCoefficient(arg2);
65768  }
65769  catch (Swig::DirectorException &e) {
65770  SWIG_fail;
65771  }
65772  }
65773  resultobj = SWIG_From_long(static_cast< long >(result));
65774  return resultobj;
65775 fail:
65776  return NULL;
65777 }
65778 
65779 
65781  PyObject *resultobj = 0;
65783  SwigValueWrapper< std::vector< operations_research::IntervalVar * > > arg2 ;
65784  int arg3 ;
65785  std::vector< int64_t > arg4 ;
65786  void *argp1 = 0 ;
65787  int res1 = 0 ;
65788  std::vector< operations_research::IntervalVar * > temp2 ;
65789  int val3 ;
65790  int ecode3 = 0 ;
65791  std::vector< int64_t > temp4 ;
65792  PyObject * obj0 = 0 ;
65793  PyObject * obj1 = 0 ;
65794  PyObject * obj2 = 0 ;
65795  PyObject * obj3 = 0 ;
65796 
65797  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetBreakIntervalsOfVehicle", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65799  if (!SWIG_IsOK(res1)) {
65800  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetBreakIntervalsOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65801  }
65802  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65803  {
65804  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntervalVar*>)) {
65805  if (!PyErr_Occurred())
65806  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntervalVar*) expected");
65807  return NULL;
65808  }
65809  arg2 = std::move(temp2);
65810  }
65811  ecode3 = SWIG_AsVal_int(obj2, &val3);
65812  if (!SWIG_IsOK(ecode3)) {
65813  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetBreakIntervalsOfVehicle" "', argument " "3"" of type '" "int""'");
65814  }
65815  arg3 = static_cast< int >(val3);
65816  {
65817  if (!vector_input_helper(obj3, &temp4, PyObjAs<int64_t>)) {
65818  if (!PyErr_Occurred())
65819  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
65820  return NULL;
65821  }
65822  arg4 = std::move(temp4);
65823  }
65824  {
65825  try {
65826  (arg1)->SetBreakIntervalsOfVehicle(arg2,arg3,arg4);
65827  }
65828  catch (Swig::DirectorException &e) {
65829  SWIG_fail;
65830  }
65831  }
65832  resultobj = SWIG_Py_Void();
65833  return resultobj;
65834 fail:
65835  return NULL;
65836 }
65837 
65838 
65840  PyObject *resultobj = 0;
65842  int64_t arg2 ;
65843  int64_t arg3 ;
65844  int arg4 ;
65845  void *argp1 = 0 ;
65846  int res1 = 0 ;
65847  long val2 ;
65848  int ecode2 = 0 ;
65849  long val3 ;
65850  int ecode3 = 0 ;
65851  int val4 ;
65852  int ecode4 = 0 ;
65853  PyObject * obj0 = 0 ;
65854  PyObject * obj1 = 0 ;
65855  PyObject * obj2 = 0 ;
65856  PyObject * obj3 = 0 ;
65857 
65858  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetBreakDistanceDurationOfVehicle", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
65860  if (!SWIG_IsOK(res1)) {
65861  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetBreakDistanceDurationOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65862  }
65863  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65864  ecode2 = SWIG_AsVal_long(obj1, &val2);
65865  if (!SWIG_IsOK(ecode2)) {
65866  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_SetBreakDistanceDurationOfVehicle" "', argument " "2"" of type '" "int64_t""'");
65867  }
65868  arg2 = static_cast< int64_t >(val2);
65869  ecode3 = SWIG_AsVal_long(obj2, &val3);
65870  if (!SWIG_IsOK(ecode3)) {
65871  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetBreakDistanceDurationOfVehicle" "', argument " "3"" of type '" "int64_t""'");
65872  }
65873  arg3 = static_cast< int64_t >(val3);
65874  ecode4 = SWIG_AsVal_int(obj3, &val4);
65875  if (!SWIG_IsOK(ecode4)) {
65876  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_SetBreakDistanceDurationOfVehicle" "', argument " "4"" of type '" "int""'");
65877  }
65878  arg4 = static_cast< int >(val4);
65879  {
65880  try {
65881  (arg1)->SetBreakDistanceDurationOfVehicle(arg2,arg3,arg4);
65882  }
65883  catch (Swig::DirectorException &e) {
65884  SWIG_fail;
65885  }
65886  }
65887  resultobj = SWIG_Py_Void();
65888  return resultobj;
65889 fail:
65890  return NULL;
65891 }
65892 
65893 
65894 SWIGINTERN PyObject *_wrap_RoutingDimension_InitializeBreaks(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65895  PyObject *resultobj = 0;
65897  void *argp1 = 0 ;
65898  int res1 = 0 ;
65899  PyObject * obj0 = 0 ;
65900 
65901  if (!PyArg_UnpackTuple(args, "RoutingDimension_InitializeBreaks", 1, 1, &obj0)) SWIG_fail;
65903  if (!SWIG_IsOK(res1)) {
65904  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_InitializeBreaks" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
65905  }
65906  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65907  {
65908  try {
65909  (arg1)->InitializeBreaks();
65910  }
65911  catch (Swig::DirectorException &e) {
65912  SWIG_fail;
65913  }
65914  }
65915  resultobj = SWIG_Py_Void();
65916  return resultobj;
65917 fail:
65918  return NULL;
65919 }
65920 
65921 
65922 SWIGINTERN PyObject *_wrap_RoutingDimension_HasBreakConstraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
65923  PyObject *resultobj = 0;
65925  void *argp1 = 0 ;
65926  int res1 = 0 ;
65927  PyObject * obj0 = 0 ;
65928  bool result;
65929 
65930  if (!PyArg_UnpackTuple(args, "RoutingDimension_HasBreakConstraints", 1, 1, &obj0)) SWIG_fail;
65932  if (!SWIG_IsOK(res1)) {
65933  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_HasBreakConstraints" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65934  }
65935  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65936  {
65937  try {
65938  result = (bool)((operations_research::RoutingDimension const *)arg1)->HasBreakConstraints();
65939  }
65940  catch (Swig::DirectorException &e) {
65941  SWIG_fail;
65942  }
65943  }
65944  resultobj = SWIG_From_bool(static_cast< bool >(result));
65945  return resultobj;
65946 fail:
65947  return NULL;
65948 }
65949 
65950 
65952  PyObject *resultobj = 0;
65954  int arg2 ;
65955  void *argp1 = 0 ;
65956  int res1 = 0 ;
65957  int val2 ;
65958  int ecode2 = 0 ;
65959  PyObject * obj0 = 0 ;
65960  PyObject * obj1 = 0 ;
65961  int result;
65962 
65963  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetPreTravelEvaluatorOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
65965  if (!SWIG_IsOK(res1)) {
65966  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetPreTravelEvaluatorOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
65967  }
65968  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
65969  ecode2 = SWIG_AsVal_int(obj1, &val2);
65970  if (!SWIG_IsOK(ecode2)) {
65971  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetPreTravelEvaluatorOfVehicle" "', argument " "2"" of type '" "int""'");
65972  }
65973  arg2 = static_cast< int >(val2);
65974  {
65975  try {
65976  result = (int)((operations_research::RoutingDimension const *)arg1)->GetPreTravelEvaluatorOfVehicle(arg2);
65977  }
65978  catch (Swig::DirectorException &e) {
65979  SWIG_fail;
65980  }
65981  }
65982  resultobj = SWIG_From_int(static_cast< int >(result));
65983  return resultobj;
65984 fail:
65985  return NULL;
65986 }
65987 
65988 
65990  PyObject *resultobj = 0;
65992  int arg2 ;
65993  void *argp1 = 0 ;
65994  int res1 = 0 ;
65995  int val2 ;
65996  int ecode2 = 0 ;
65997  PyObject * obj0 = 0 ;
65998  PyObject * obj1 = 0 ;
65999  int result;
66000 
66001  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetPostTravelEvaluatorOfVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
66003  if (!SWIG_IsOK(res1)) {
66004  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetPostTravelEvaluatorOfVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66005  }
66006  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66007  ecode2 = SWIG_AsVal_int(obj1, &val2);
66008  if (!SWIG_IsOK(ecode2)) {
66009  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetPostTravelEvaluatorOfVehicle" "', argument " "2"" of type '" "int""'");
66010  }
66011  arg2 = static_cast< int >(val2);
66012  {
66013  try {
66014  result = (int)((operations_research::RoutingDimension const *)arg1)->GetPostTravelEvaluatorOfVehicle(arg2);
66015  }
66016  catch (Swig::DirectorException &e) {
66017  SWIG_fail;
66018  }
66019  }
66020  resultobj = SWIG_From_int(static_cast< int >(result));
66021  return resultobj;
66022 fail:
66023  return NULL;
66024 }
66025 
66026 
66027 SWIGINTERN PyObject *_wrap_RoutingDimension_base_dimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66028  PyObject *resultobj = 0;
66030  void *argp1 = 0 ;
66031  int res1 = 0 ;
66032  PyObject * obj0 = 0 ;
66034 
66035  if (!PyArg_UnpackTuple(args, "RoutingDimension_base_dimension", 1, 1, &obj0)) SWIG_fail;
66037  if (!SWIG_IsOK(res1)) {
66038  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_base_dimension" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66039  }
66040  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66041  {
66042  try {
66043  result = (operations_research::RoutingDimension *)((operations_research::RoutingDimension const *)arg1)->base_dimension();
66044  }
66045  catch (Swig::DirectorException &e) {
66046  SWIG_fail;
66047  }
66048  }
66050  return resultobj;
66051 fail:
66052  return NULL;
66053 }
66054 
66055 
66057  PyObject *resultobj = 0;
66059  int64_t arg2 ;
66060  void *argp1 = 0 ;
66061  int res1 = 0 ;
66062  long val2 ;
66063  int ecode2 = 0 ;
66064  PyObject * obj0 = 0 ;
66065  PyObject * obj1 = 0 ;
66066  int64_t result;
66067 
66068  if (!PyArg_UnpackTuple(args, "RoutingDimension_ShortestTransitionSlack", 2, 2, &obj0, &obj1)) SWIG_fail;
66070  if (!SWIG_IsOK(res1)) {
66071  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_ShortestTransitionSlack" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66072  }
66073  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66074  ecode2 = SWIG_AsVal_long(obj1, &val2);
66075  if (!SWIG_IsOK(ecode2)) {
66076  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_ShortestTransitionSlack" "', argument " "2"" of type '" "int64_t""'");
66077  }
66078  arg2 = static_cast< int64_t >(val2);
66079  {
66080  try {
66081  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->ShortestTransitionSlack(arg2);
66082  }
66083  catch (Swig::DirectorException &e) {
66084  SWIG_fail;
66085  }
66086  }
66087  resultobj = SWIG_From_long(static_cast< long >(result));
66088  return resultobj;
66089 fail:
66090  return NULL;
66091 }
66092 
66093 
66094 SWIGINTERN PyObject *_wrap_RoutingDimension_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66095  PyObject *resultobj = 0;
66097  void *argp1 = 0 ;
66098  int res1 = 0 ;
66099  PyObject * obj0 = 0 ;
66100  std::string *result = 0 ;
66101 
66102  if (!PyArg_UnpackTuple(args, "RoutingDimension_name", 1, 1, &obj0)) SWIG_fail;
66104  if (!SWIG_IsOK(res1)) {
66105  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_name" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66106  }
66107  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66108  {
66109  try {
66110  result = (std::string *) &((operations_research::RoutingDimension const *)arg1)->name();
66111  }
66112  catch (Swig::DirectorException &e) {
66113  SWIG_fail;
66114  }
66115  }
66116  resultobj = SWIG_From_std_string(static_cast< std::string >(*result));
66117  return resultobj;
66118 fail:
66119  return NULL;
66120 }
66121 
66122 
66124  PyObject *resultobj = 0;
66127  int arg3 ;
66128  void *argp1 = 0 ;
66129  int res1 = 0 ;
66130  int val3 ;
66131  int ecode3 = 0 ;
66132  PyObject * obj0 = 0 ;
66133  PyObject * obj1 = 0 ;
66134  PyObject * obj2 = 0 ;
66135 
66136  if (!PyArg_UnpackTuple(args, "RoutingDimension_SetPickupToDeliveryLimitFunctionForPair", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
66138  if (!SWIG_IsOK(res1)) {
66139  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_SetPickupToDeliveryLimitFunctionForPair" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
66140  }
66141  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66142  {
66143  SharedPyPtr input(obj1);
66144  arg2 = [input](int i, int j) {
66145  return InvokePythonCallableReturning<int64_t>(input.get(), "ii", i, j);
66146  };
66147  }
66148  ecode3 = SWIG_AsVal_int(obj2, &val3);
66149  if (!SWIG_IsOK(ecode3)) {
66150  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_SetPickupToDeliveryLimitFunctionForPair" "', argument " "3"" of type '" "int""'");
66151  }
66152  arg3 = static_cast< int >(val3);
66153  {
66154  try {
66155  (arg1)->SetPickupToDeliveryLimitFunctionForPair(arg2,arg3);
66156  }
66157  catch (Swig::DirectorException &e) {
66158  SWIG_fail;
66159  }
66160  }
66161  resultobj = SWIG_Py_Void();
66162  return resultobj;
66163 fail:
66164  return NULL;
66165 }
66166 
66167 
66169  PyObject *resultobj = 0;
66171  void *argp1 = 0 ;
66172  int res1 = 0 ;
66173  PyObject * obj0 = 0 ;
66174  bool result;
66175 
66176  if (!PyArg_UnpackTuple(args, "RoutingDimension_HasPickupToDeliveryLimits", 1, 1, &obj0)) SWIG_fail;
66178  if (!SWIG_IsOK(res1)) {
66179  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_HasPickupToDeliveryLimits" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66180  }
66181  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66182  {
66183  try {
66184  result = (bool)((operations_research::RoutingDimension const *)arg1)->HasPickupToDeliveryLimits();
66185  }
66186  catch (Swig::DirectorException &e) {
66187  SWIG_fail;
66188  }
66189  }
66190  resultobj = SWIG_From_bool(static_cast< bool >(result));
66191  return resultobj;
66192 fail:
66193  return NULL;
66194 }
66195 
66196 
66197 SWIGINTERN PyObject *_wrap_RoutingDimension_AddNodePrecedence(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66198  PyObject *resultobj = 0;
66200  int64_t arg2 ;
66201  int64_t arg3 ;
66202  int64_t arg4 ;
66203  void *argp1 = 0 ;
66204  int res1 = 0 ;
66205  long val2 ;
66206  int ecode2 = 0 ;
66207  long val3 ;
66208  int ecode3 = 0 ;
66209  long val4 ;
66210  int ecode4 = 0 ;
66211  PyObject * obj0 = 0 ;
66212  PyObject * obj1 = 0 ;
66213  PyObject * obj2 = 0 ;
66214  PyObject * obj3 = 0 ;
66215 
66216  if (!PyArg_UnpackTuple(args, "RoutingDimension_AddNodePrecedence", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
66218  if (!SWIG_IsOK(res1)) {
66219  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_AddNodePrecedence" "', argument " "1"" of type '" "operations_research::RoutingDimension *""'");
66220  }
66221  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66222  ecode2 = SWIG_AsVal_long(obj1, &val2);
66223  if (!SWIG_IsOK(ecode2)) {
66224  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_AddNodePrecedence" "', argument " "2"" of type '" "int64_t""'");
66225  }
66226  arg2 = static_cast< int64_t >(val2);
66227  ecode3 = SWIG_AsVal_long(obj2, &val3);
66228  if (!SWIG_IsOK(ecode3)) {
66229  SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RoutingDimension_AddNodePrecedence" "', argument " "3"" of type '" "int64_t""'");
66230  }
66231  arg3 = static_cast< int64_t >(val3);
66232  ecode4 = SWIG_AsVal_long(obj3, &val4);
66233  if (!SWIG_IsOK(ecode4)) {
66234  SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "RoutingDimension_AddNodePrecedence" "', argument " "4"" of type '" "int64_t""'");
66235  }
66236  arg4 = static_cast< int64_t >(val4);
66237  {
66238  try {
66239  (arg1)->AddNodePrecedence(arg2,arg3,arg4);
66240  }
66241  catch (Swig::DirectorException &e) {
66242  SWIG_fail;
66243  }
66244  }
66245  resultobj = SWIG_Py_Void();
66246  return resultobj;
66247 fail:
66248  return NULL;
66249 }
66250 
66251 
66253  PyObject *resultobj = 0;
66255  int arg2 ;
66256  void *argp1 = 0 ;
66257  int res1 = 0 ;
66258  int val2 ;
66259  int ecode2 = 0 ;
66260  PyObject * obj0 = 0 ;
66261  PyObject * obj1 = 0 ;
66262  int64_t result;
66263 
66264  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetSpanUpperBoundForVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
66266  if (!SWIG_IsOK(res1)) {
66267  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetSpanUpperBoundForVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66268  }
66269  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66270  ecode2 = SWIG_AsVal_int(obj1, &val2);
66271  if (!SWIG_IsOK(ecode2)) {
66272  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetSpanUpperBoundForVehicle" "', argument " "2"" of type '" "int""'");
66273  }
66274  arg2 = static_cast< int >(val2);
66275  {
66276  try {
66277  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetSpanUpperBoundForVehicle(arg2);
66278  }
66279  catch (Swig::DirectorException &e) {
66280  SWIG_fail;
66281  }
66282  }
66283  resultobj = SWIG_From_long(static_cast< long >(result));
66284  return resultobj;
66285 fail:
66286  return NULL;
66287 }
66288 
66289 
66291  PyObject *resultobj = 0;
66293  int arg2 ;
66294  void *argp1 = 0 ;
66295  int res1 = 0 ;
66296  int val2 ;
66297  int ecode2 = 0 ;
66298  PyObject * obj0 = 0 ;
66299  PyObject * obj1 = 0 ;
66300  int64_t result;
66301 
66302  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetSpanCostCoefficientForVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
66304  if (!SWIG_IsOK(res1)) {
66305  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetSpanCostCoefficientForVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66306  }
66307  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66308  ecode2 = SWIG_AsVal_int(obj1, &val2);
66309  if (!SWIG_IsOK(ecode2)) {
66310  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetSpanCostCoefficientForVehicle" "', argument " "2"" of type '" "int""'");
66311  }
66312  arg2 = static_cast< int >(val2);
66313  {
66314  try {
66315  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetSpanCostCoefficientForVehicle(arg2);
66316  }
66317  catch (Swig::DirectorException &e) {
66318  SWIG_fail;
66319  }
66320  }
66321  resultobj = SWIG_From_long(static_cast< long >(result));
66322  return resultobj;
66323 fail:
66324  return NULL;
66325 }
66326 
66327 
66329  PyObject *resultobj = 0;
66331  void *argp1 = 0 ;
66332  int res1 = 0 ;
66333  PyObject * obj0 = 0 ;
66334  int64_t result;
66335 
66336  if (!PyArg_UnpackTuple(args, "RoutingDimension_global_span_cost_coefficient", 1, 1, &obj0)) SWIG_fail;
66338  if (!SWIG_IsOK(res1)) {
66339  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_global_span_cost_coefficient" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66340  }
66341  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66342  {
66343  try {
66344  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->global_span_cost_coefficient();
66345  }
66346  catch (Swig::DirectorException &e) {
66347  SWIG_fail;
66348  }
66349  }
66350  resultobj = SWIG_From_long(static_cast< long >(result));
66351  return resultobj;
66352 fail:
66353  return NULL;
66354 }
66355 
66356 
66358  PyObject *resultobj = 0;
66360  void *argp1 = 0 ;
66361  int res1 = 0 ;
66362  PyObject * obj0 = 0 ;
66363  int64_t result;
66364 
66365  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetGlobalOptimizerOffset", 1, 1, &obj0)) SWIG_fail;
66367  if (!SWIG_IsOK(res1)) {
66368  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetGlobalOptimizerOffset" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66369  }
66370  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66371  {
66372  try {
66373  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetGlobalOptimizerOffset();
66374  }
66375  catch (Swig::DirectorException &e) {
66376  SWIG_fail;
66377  }
66378  }
66379  resultobj = SWIG_From_long(static_cast< long >(result));
66380  return resultobj;
66381 fail:
66382  return NULL;
66383 }
66384 
66385 
66387  PyObject *resultobj = 0;
66389  int arg2 ;
66390  void *argp1 = 0 ;
66391  int res1 = 0 ;
66392  int val2 ;
66393  int ecode2 = 0 ;
66394  PyObject * obj0 = 0 ;
66395  PyObject * obj1 = 0 ;
66396  int64_t result;
66397 
66398  if (!PyArg_UnpackTuple(args, "RoutingDimension_GetLocalOptimizerOffsetForVehicle", 2, 2, &obj0, &obj1)) SWIG_fail;
66400  if (!SWIG_IsOK(res1)) {
66401  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RoutingDimension_GetLocalOptimizerOffsetForVehicle" "', argument " "1"" of type '" "operations_research::RoutingDimension const *""'");
66402  }
66403  arg1 = reinterpret_cast< operations_research::RoutingDimension * >(argp1);
66404  ecode2 = SWIG_AsVal_int(obj1, &val2);
66405  if (!SWIG_IsOK(ecode2)) {
66406  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RoutingDimension_GetLocalOptimizerOffsetForVehicle" "', argument " "2"" of type '" "int""'");
66407  }
66408  arg2 = static_cast< int >(val2);
66409  {
66410  try {
66411  result = (int64_t)((operations_research::RoutingDimension const *)arg1)->GetLocalOptimizerOffsetForVehicle(arg2);
66412  }
66413  catch (Swig::DirectorException &e) {
66414  SWIG_fail;
66415  }
66416  }
66417  resultobj = SWIG_From_long(static_cast< long >(result));
66418  return resultobj;
66419 fail:
66420  return NULL;
66421 }
66422 
66423 
66424 SWIGINTERN PyObject *RoutingDimension_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66425  PyObject *obj;
66426  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
66428  return SWIG_Py_Void();
66429 }
66430 
66431 SWIGINTERN PyObject *_wrap_MakeSetValuesFromTargets(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66432  PyObject *resultobj = 0;
66434  SwigValueWrapper< std::vector< operations_research::IntVar * > > arg2 ;
66435  std::vector< int64_t > arg3 ;
66436  void *argp1 = 0 ;
66437  int res1 = 0 ;
66438  std::vector< operations_research::IntVar * > temp2 ;
66439  std::vector< int64_t > temp3 ;
66440  PyObject * obj0 = 0 ;
66441  PyObject * obj1 = 0 ;
66442  PyObject * obj2 = 0 ;
66444 
66445  if (!PyArg_UnpackTuple(args, "MakeSetValuesFromTargets", 3, 3, &obj0, &obj1, &obj2)) SWIG_fail;
66446  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_operations_research__Solver, 0 | 0 );
66447  if (!SWIG_IsOK(res1)) {
66448  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MakeSetValuesFromTargets" "', argument " "1"" of type '" "operations_research::Solver *""'");
66449  }
66450  arg1 = reinterpret_cast< operations_research::Solver * >(argp1);
66451  {
66452  if (!vector_input_helper(obj1, &temp2, PyObjAs<operations_research::IntVar*>)) {
66453  if (!PyErr_Occurred())
66454  SWIG_Error(SWIG_TypeError, "sequence(operations_research::IntVar*) expected");
66455  return NULL;
66456  }
66457  arg2 = std::move(temp2);
66458  }
66459  {
66460  if (!vector_input_helper(obj2, &temp3, PyObjAs<int64_t>)) {
66461  if (!PyErr_Occurred())
66462  SWIG_Error(SWIG_TypeError, "sequence(int64_t) expected");
66463  return NULL;
66464  }
66465  arg3 = std::move(temp3);
66466  }
66467  {
66468  try {
66470  }
66471  catch (Swig::DirectorException &e) {
66472  SWIG_fail;
66473  }
66474  }
66476  return resultobj;
66477 fail:
66478  return NULL;
66479 }
66480 
66481 
66482 SWIGINTERN PyObject *_wrap_SolveModelWithSat(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
66483  PyObject *resultobj = 0;
66488  void *argp1 = 0 ;
66489  int res1 = 0 ;
66490  void *argp3 = 0 ;
66491  int res3 = 0 ;
66492  void *argp4 = 0 ;
66493  int res4 = 0 ;
66494  PyObject * obj0 = 0 ;
66495  PyObject * obj1 = 0 ;
66496  PyObject * obj2 = 0 ;
66497  PyObject * obj3 = 0 ;
66498  bool result;
66499 
66500  if (!PyArg_UnpackTuple(args, "SolveModelWithSat", 4, 4, &obj0, &obj1, &obj2, &obj3)) SWIG_fail;
66502  if (!SWIG_IsOK(res1)) {
66503  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SolveModelWithSat" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
66504  }
66505  if (!argp1) {
66506  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SolveModelWithSat" "', argument " "1"" of type '" "operations_research::RoutingModel const &""'");
66507  }
66508  arg1 = reinterpret_cast< operations_research::RoutingModel * >(argp1);
66509  {
66511  PyObject* const pyresult = PyObject_CallMethod(
66512  obj1, const_cast<char*>("SerializeToString"), nullptr);
66513  if (pyresult != nullptr) {
66514  char* buffer = nullptr;
66515  Py_ssize_t length = 0;
66516  int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
66517  if (buffer != nullptr) {
66518  arg2->ParseFromArray(buffer, length);
66519  }
66520  Py_DECREF(pyresult);
66521  }
66522  }
66523  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
66524  if (!SWIG_IsOK(res3)) {
66525  SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SolveModelWithSat" "', argument " "3"" of type '" "operations_research::Assignment const *""'");
66526  }
66527  arg3 = reinterpret_cast< operations_research::Assignment * >(argp3);
66528  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_operations_research__Assignment, 0 | 0 );
66529  if (!SWIG_IsOK(res4)) {
66530  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SolveModelWithSat" "', argument " "4"" of type '" "operations_research::Assignment *""'");
66531  }
66532  arg4 = reinterpret_cast< operations_research::Assignment * >(argp4);
66533  {
66534  try {
66536  }
66537  catch (Swig::DirectorException &e) {
66538  SWIG_fail;
66539  }
66540  }
66541  resultobj = SWIG_From_bool(static_cast< bool >(result));
66542  {
66543  delete arg2;
66544  }
66545  return resultobj;
66546 fail:
66547  {
66548  delete arg2;
66549  }
66550  return NULL;
66551 }
66552 
66553 
66554 static PyMethodDef SwigMethods[] = {
66555  { "SWIG_PyInstanceMethod_New", SWIG_PyInstanceMethod_New, METH_O, NULL},
66556  { "DefaultPhaseParameters_var_selection_schema_set", _wrap_DefaultPhaseParameters_var_selection_schema_set, METH_VARARGS, " This parameter describes how the next variable to instantiate will be chosen."},
66557  { "DefaultPhaseParameters_var_selection_schema_get", _wrap_DefaultPhaseParameters_var_selection_schema_get, METH_VARARGS, " This parameter describes how the next variable to instantiate will be chosen."},
66558  { "DefaultPhaseParameters_value_selection_schema_set", _wrap_DefaultPhaseParameters_value_selection_schema_set, METH_VARARGS, " This parameter describes which value to select for a given var."},
66559  { "DefaultPhaseParameters_value_selection_schema_get", _wrap_DefaultPhaseParameters_value_selection_schema_get, METH_VARARGS, " This parameter describes which value to select for a given var."},
66560  { "DefaultPhaseParameters_initialization_splits_set", _wrap_DefaultPhaseParameters_initialization_splits_set, METH_VARARGS, " Maximum number of intervals that the initialization of impacts will scan per variable."},
66561  { "DefaultPhaseParameters_initialization_splits_get", _wrap_DefaultPhaseParameters_initialization_splits_get, METH_VARARGS, " Maximum number of intervals that the initialization of impacts will scan per variable."},
66562  { "DefaultPhaseParameters_run_all_heuristics_set", _wrap_DefaultPhaseParameters_run_all_heuristics_set, METH_VARARGS, " The default phase will run heuristics periodically. This parameter indicates if we should run all heuristics, or a randomly selected one."},
66563  { "DefaultPhaseParameters_run_all_heuristics_get", _wrap_DefaultPhaseParameters_run_all_heuristics_get, METH_VARARGS, " The default phase will run heuristics periodically. This parameter indicates if we should run all heuristics, or a randomly selected one."},
66564  { "DefaultPhaseParameters_heuristic_period_set", _wrap_DefaultPhaseParameters_heuristic_period_set, METH_VARARGS, " The distance in nodes between each run of the heuristics. A negative or null value will mean that we will not run heuristics at all."},
66565  { "DefaultPhaseParameters_heuristic_period_get", _wrap_DefaultPhaseParameters_heuristic_period_get, METH_VARARGS, " The distance in nodes between each run of the heuristics. A negative or null value will mean that we will not run heuristics at all."},
66566  { "DefaultPhaseParameters_heuristic_num_failures_limit_set", _wrap_DefaultPhaseParameters_heuristic_num_failures_limit_set, METH_VARARGS, " The failure limit for each heuristic that we run."},
66567  { "DefaultPhaseParameters_heuristic_num_failures_limit_get", _wrap_DefaultPhaseParameters_heuristic_num_failures_limit_get, METH_VARARGS, " The failure limit for each heuristic that we run."},
66568  { "DefaultPhaseParameters_persistent_impact_set", _wrap_DefaultPhaseParameters_persistent_impact_set, METH_VARARGS, " Whether to keep the impact from the first search for other searches, or to recompute the impact for each new search."},
66569  { "DefaultPhaseParameters_persistent_impact_get", _wrap_DefaultPhaseParameters_persistent_impact_get, METH_VARARGS, " Whether to keep the impact from the first search for other searches, or to recompute the impact for each new search."},
66570  { "DefaultPhaseParameters_random_seed_set", _wrap_DefaultPhaseParameters_random_seed_set, METH_VARARGS, " Seed used to initialize the random part in some heuristics."},
66571  { "DefaultPhaseParameters_random_seed_get", _wrap_DefaultPhaseParameters_random_seed_get, METH_VARARGS, " Seed used to initialize the random part in some heuristics."},
66572  { "DefaultPhaseParameters_display_level_set", _wrap_DefaultPhaseParameters_display_level_set, METH_VARARGS, " This represents the amount of information displayed by the default search. NONE means no display, VERBOSE means extra information."},
66573  { "DefaultPhaseParameters_display_level_get", _wrap_DefaultPhaseParameters_display_level_get, METH_VARARGS, " This represents the amount of information displayed by the default search. NONE means no display, VERBOSE means extra information."},
66574  { "DefaultPhaseParameters_decision_builder_set", _wrap_DefaultPhaseParameters_decision_builder_set, METH_VARARGS, " When defined, this overrides the default impact based decision builder."},
66575  { "DefaultPhaseParameters_decision_builder_get", _wrap_DefaultPhaseParameters_decision_builder_get, METH_VARARGS, " When defined, this overrides the default impact based decision builder."},
66576  { "new_DefaultPhaseParameters", _wrap_new_DefaultPhaseParameters, METH_VARARGS, NULL},
66577  { "delete_DefaultPhaseParameters", _wrap_delete_DefaultPhaseParameters, METH_VARARGS, NULL},
66578  { "DefaultPhaseParameters_swigregister", DefaultPhaseParameters_swigregister, METH_O, NULL},
66579  { "DefaultPhaseParameters_swiginit", DefaultPhaseParameters_swiginit, METH_VARARGS, NULL},
66580  { "new_Solver", _wrap_new_Solver, METH_VARARGS, " Solver API"},
66581  { "delete_Solver", _wrap_delete_Solver, METH_VARARGS, NULL},
66582  { "Solver_Parameters", _wrap_Solver_Parameters, METH_VARARGS, " Stored Parameters."},
66583  { "Solver_DefaultSolverParameters", _wrap_Solver_DefaultSolverParameters, METH_VARARGS, " Create a ConstraintSolverParameters proto with all the default values."},
66584  { "Solver_AddConstraint", _wrap_Solver_AddConstraint, METH_VARARGS, " Adds the constraint 'c' to the model. After calling this method, and until there is a backtrack that undoes the addition, any assignment of variables to values must satisfy the given constraint in order to be considered feasible. There are two fairly different use cases: - the most common use case is modeling: the given constraint is really part of the problem that the user is trying to solve. In this use case, AddConstraint is called outside of search (i.e., with state() == OUTSIDE_SEARCH). Most users should only use AddConstraint in this way. In this case, the constraint will belong to the model forever: it cannot not be removed by backtracking. - a rarer use case is that 'c' is not a real constraint of the model. It may be a constraint generated by a branching decision (a constraint whose goal is to restrict the search space), a symmetry breaking constraint (a constraint that does restrict the search space, but in a way that cannot have an impact on the quality of the solutions in the subtree), or an inferred constraint that, while having no semantic value to the model (it does not restrict the set of solutions), is worth having because we believe it may strengthen the propagation. In these cases, it happens that the constraint is added during the search (i.e., with state() == IN_SEARCH or state() == IN_ROOT_NODE). When a constraint is added during a search, it applies only to the subtree of the search tree rooted at the current node, and will be automatically removed by backtracking. This method does not take ownership of the constraint. If the constraint has been created by any factory method (Solver::MakeXXX), it will automatically be deleted. However, power users who implement their own constraints should do: solver.AddConstraint(solver.RevAlloc(new MyConstraint(...));"},
66585  { "Solver_Solve", _wrap_Solver_Solve, METH_VARARGS, NULL},
66586  { "Solver_NewSearch", _wrap_Solver_NewSearch, METH_VARARGS, NULL},
66587  { "Solver_NextSolution", _wrap_Solver_NextSolution, METH_VARARGS, NULL},
66588  { "Solver_RestartSearch", _wrap_Solver_RestartSearch, METH_VARARGS, NULL},
66589  { "Solver_EndSearch", _wrap_Solver_EndSearch, METH_VARARGS, NULL},
66590  { "Solver_SolveAndCommit", _wrap_Solver_SolveAndCommit, METH_VARARGS, NULL},
66591  { "Solver_CheckAssignment", _wrap_Solver_CheckAssignment, METH_VARARGS, " Checks whether the given assignment satisfies all relevant constraints."},
66592  { "Solver_CheckConstraint", _wrap_Solver_CheckConstraint, METH_VARARGS, " Checks whether adding this constraint will lead to an immediate failure. It will return false if the model is already inconsistent, or if adding the constraint makes it inconsistent."},
66593  { "Solver_Fail", _wrap_Solver_Fail, METH_VARARGS, " Abandon the current branch in the search tree. A backtrack will follow."},
66594  { "Solver_MemoryUsage", _wrap_Solver_MemoryUsage, METH_VARARGS, " Current memory usage in bytes"},
66595  { "Solver_WallTime", _wrap_Solver_WallTime, METH_VARARGS, " DEPRECATED: Use Now() instead. Time elapsed, in ms since the creation of the solver."},
66596  { "Solver_Branches", _wrap_Solver_Branches, METH_VARARGS, " The number of branches explored since the creation of the solver."},
66597  { "Solver_Solutions", _wrap_Solver_Solutions, METH_VARARGS, " The number of solutions found since the start of the search."},
66598  { "Solver_Failures", _wrap_Solver_Failures, METH_VARARGS, " The number of failures encountered since the creation of the solver."},
66599  { "Solver_AcceptedNeighbors", _wrap_Solver_AcceptedNeighbors, METH_VARARGS, " The number of accepted neighbors."},
66600  { "Solver_Stamp", _wrap_Solver_Stamp, METH_VARARGS, " The stamp indicates how many moves in the search tree we have performed. It is useful to detect if we need to update same lazy structures."},
66601  { "Solver_FailStamp", _wrap_Solver_FailStamp, METH_VARARGS, " The fail_stamp() is incremented after each backtrack."},
66602  { "Solver_IntVar", _wrap_Solver_IntVar, METH_VARARGS, "\n"
66603  "*Overload 1:*\n"
66604  "MakeIntVar will create the best range based int var for the bounds given.\n"
66605  "\n"
66606  "|\n"
66607  "\n"
66608  "*Overload 2:*\n"
66609  "MakeIntVar will create a variable with the given sparse domain.\n"
66610  "\n"
66611  "|\n"
66612  "\n"
66613  "*Overload 3:*\n"
66614  "MakeIntVar will create a variable with the given sparse domain.\n"
66615  "\n"
66616  "|\n"
66617  "\n"
66618  "*Overload 4:*\n"
66619  "MakeIntVar will create the best range based int var for the bounds given.\n"
66620  "\n"
66621  "|\n"
66622  "\n"
66623  "*Overload 5:*\n"
66624  "MakeIntVar will create a variable with the given sparse domain.\n"
66625  "\n"
66626  "|\n"
66627  "\n"
66628  "*Overload 6:*\n"
66629  "MakeIntVar will create a variable with the given sparse domain.\n"
66630  ""},
66631  { "Solver_BoolVar", _wrap_Solver_BoolVar, METH_VARARGS, "\n"
66632  "*Overload 1:*\n"
66633  "MakeBoolVar will create a variable with a {0, 1} domain.\n"
66634  "\n"
66635  "|\n"
66636  "\n"
66637  "*Overload 2:*\n"
66638  "MakeBoolVar will create a variable with a {0, 1} domain.\n"
66639  ""},
66640  { "Solver_IntConst", _wrap_Solver_IntConst, METH_VARARGS, "\n"
66641  "*Overload 1:*\n"
66642  "IntConst will create a constant expression.\n"
66643  "\n"
66644  "|\n"
66645  "\n"
66646  "*Overload 2:*\n"
66647  "IntConst will create a constant expression.\n"
66648  ""},
66649  { "Solver_Sum", _wrap_Solver_Sum, METH_VARARGS, " sum of all vars."},
66650  { "Solver_ScalProd", _wrap_Solver_ScalProd, METH_VARARGS, "\n"
66651  "*Overload 1:*\n"
66652  "scalar product\n"
66653  "\n"
66654  "|\n"
66655  "\n"
66656  "*Overload 2:*\n"
66657  "scalar product\n"
66658  ""},
66659  { "Solver_MonotonicElement", _wrap_Solver_MonotonicElement, METH_VARARGS, " Function based element. The constraint takes ownership of the callback. The callback must be monotonic. It must be able to cope with any possible value in the domain of 'index' (potentially negative ones too). Furtermore, monotonicity is not checked. Thus giving a non-monotonic function, or specifying an incorrect increasing parameter will result in undefined behavior."},
66660  { "Solver_Element", _wrap_Solver_Element, METH_VARARGS, "\n"
66661  "*Overload 1:*\n"
66662  "values[index]\n"
66663  "\n"
66664  "|\n"
66665  "\n"
66666  "*Overload 2:*\n"
66667  "values[index]\n"
66668  "\n"
66669  "|\n"
66670  "\n"
66671  "*Overload 3:*\n"
66672  "Function-based element. The constraint takes ownership of the callback. The callback must be able to cope with any possible value in the domain of 'index' (potentially negative ones too).\n"
66673  "\n"
66674  "|\n"
66675  "\n"
66676  "*Overload 4:*\n"
66677  "2D version of function-based element expression, values(expr1, expr2).\n"
66678  "\n"
66679  "|\n"
66680  "\n"
66681  "*Overload 5:*\n"
66682  "vars[expr]\n"
66683  ""},
66684  { "Solver_IndexExpression", _wrap_Solver_IndexExpression, METH_VARARGS, " Returns the expression expr such that vars[expr] == value. It assumes that vars are all different."},
66685  { "Solver_Min", _wrap_Solver_Min, METH_VARARGS, "\n"
66686  "*Overload 1:*\n"
66687  "std::min(vars)\n"
66688  "\n"
66689  "|\n"
66690  "\n"
66691  "*Overload 2:*\n"
66692  "std::min (left, right)\n"
66693  "\n"
66694  "|\n"
66695  "\n"
66696  "*Overload 3:*\n"
66697  "std::min(expr, value)\n"
66698  "\n"
66699  "|\n"
66700  "\n"
66701  "*Overload 4:*\n"
66702  "std::min(expr, value)\n"
66703  ""},
66704  { "Solver_Max", _wrap_Solver_Max, METH_VARARGS, "\n"
66705  "*Overload 1:*\n"
66706  "std::max(vars)\n"
66707  "\n"
66708  "|\n"
66709  "\n"
66710  "*Overload 2:*\n"
66711  "std::max(left, right)\n"
66712  "\n"
66713  "|\n"
66714  "\n"
66715  "*Overload 3:*\n"
66716  "std::max(expr, value)\n"
66717  "\n"
66718  "|\n"
66719  "\n"
66720  "*Overload 4:*\n"
66721  "std::max(expr, value)\n"
66722  ""},
66723  { "Solver_ConvexPiecewiseExpr", _wrap_Solver_ConvexPiecewiseExpr, METH_VARARGS, " Convex piecewise function."},
66724  { "Solver_SemiContinuousExpr", _wrap_Solver_SemiContinuousExpr, METH_VARARGS, " Semi continuous Expression (x <= 0 -> f(x) = 0; x > 0 -> f(x) = ax + b) a >= 0 and b >= 0"},
66725  { "Solver_ConditionalExpression", _wrap_Solver_ConditionalExpression, METH_VARARGS, " Conditional Expr condition ? expr : unperformed_value"},
66726  { "Solver_TrueConstraint", _wrap_Solver_TrueConstraint, METH_VARARGS, " This constraint always succeeds."},
66727  { "Solver_FalseConstraint", _wrap_Solver_FalseConstraint, METH_VARARGS, " This constraint always fails."},
66728  { "Solver_IsEqualCstCt", _wrap_Solver_IsEqualCstCt, METH_VARARGS, " boolvar == (var == value)"},
66729  { "Solver_IsEqualCstVar", _wrap_Solver_IsEqualCstVar, METH_VARARGS, " status var of (var == value)"},
66730  { "Solver_IsEqualCt", _wrap_Solver_IsEqualCt, METH_VARARGS, " b == (v1 == v2)"},
66731  { "Solver_IsEqualVar", _wrap_Solver_IsEqualVar, METH_VARARGS, " status var of (v1 == v2)"},
66732  { "Solver_IsDifferentCstCt", _wrap_Solver_IsDifferentCstCt, METH_VARARGS, " boolvar == (var != value)"},
66733  { "Solver_IsDifferentCstVar", _wrap_Solver_IsDifferentCstVar, METH_VARARGS, " status var of (var != value)"},
66734  { "Solver_IsDifferentVar", _wrap_Solver_IsDifferentVar, METH_VARARGS, " status var of (v1 != v2)"},
66735  { "Solver_IsDifferentCt", _wrap_Solver_IsDifferentCt, METH_VARARGS, " b == (v1 != v2)"},
66736  { "Solver_IsLessOrEqualCstCt", _wrap_Solver_IsLessOrEqualCstCt, METH_VARARGS, " boolvar == (var <= value)"},
66737  { "Solver_IsLessOrEqualCstVar", _wrap_Solver_IsLessOrEqualCstVar, METH_VARARGS, " status var of (var <= value)"},
66738  { "Solver_IsLessOrEqualVar", _wrap_Solver_IsLessOrEqualVar, METH_VARARGS, " status var of (left <= right)"},
66739  { "Solver_IsLessOrEqualCt", _wrap_Solver_IsLessOrEqualCt, METH_VARARGS, " b == (left <= right)"},
66740  { "Solver_IsGreaterOrEqualCstCt", _wrap_Solver_IsGreaterOrEqualCstCt, METH_VARARGS, " boolvar == (var >= value)"},
66741  { "Solver_IsGreaterOrEqualCstVar", _wrap_Solver_IsGreaterOrEqualCstVar, METH_VARARGS, " status var of (var >= value)"},
66742  { "Solver_IsGreaterOrEqualVar", _wrap_Solver_IsGreaterOrEqualVar, METH_VARARGS, " status var of (left >= right)"},
66743  { "Solver_IsGreaterOrEqualCt", _wrap_Solver_IsGreaterOrEqualCt, METH_VARARGS, " b == (left >= right)"},
66744  { "Solver_IsGreaterCstCt", _wrap_Solver_IsGreaterCstCt, METH_VARARGS, " b == (v > c)"},
66745  { "Solver_IsGreaterCstVar", _wrap_Solver_IsGreaterCstVar, METH_VARARGS, " status var of (var > value)"},
66746  { "Solver_IsGreaterVar", _wrap_Solver_IsGreaterVar, METH_VARARGS, " status var of (left > right)"},
66747  { "Solver_IsGreaterCt", _wrap_Solver_IsGreaterCt, METH_VARARGS, " b == (left > right)"},
66748  { "Solver_IsLessCstCt", _wrap_Solver_IsLessCstCt, METH_VARARGS, " b == (v < c)"},
66749  { "Solver_IsLessCstVar", _wrap_Solver_IsLessCstVar, METH_VARARGS, " status var of (var < value)"},
66750  { "Solver_IsLessVar", _wrap_Solver_IsLessVar, METH_VARARGS, " status var of (left < right)"},
66751  { "Solver_IsLessCt", _wrap_Solver_IsLessCt, METH_VARARGS, " b == (left < right)"},
66752  { "Solver_SumLessOrEqual", _wrap_Solver_SumLessOrEqual, METH_VARARGS, " Variation on arrays."},
66753  { "Solver_SumGreaterOrEqual", _wrap_Solver_SumGreaterOrEqual, METH_VARARGS, NULL},
66754  { "Solver_SumEquality", _wrap_Solver_SumEquality, METH_VARARGS, NULL},
66755  { "Solver_ScalProdEquality", _wrap_Solver_ScalProdEquality, METH_VARARGS, NULL},
66756  { "Solver_ScalProdGreaterOrEqual", _wrap_Solver_ScalProdGreaterOrEqual, METH_VARARGS, NULL},
66757  { "Solver_ScalProdLessOrEqual", _wrap_Solver_ScalProdLessOrEqual, METH_VARARGS, NULL},
66758  { "Solver_MinEquality", _wrap_Solver_MinEquality, METH_VARARGS, NULL},
66759  { "Solver_MaxEquality", _wrap_Solver_MaxEquality, METH_VARARGS, NULL},
66760  { "Solver_ElementEquality", _wrap_Solver_ElementEquality, METH_VARARGS, NULL},
66761  { "Solver_AbsEquality", _wrap_Solver_AbsEquality, METH_VARARGS, " Creates the constraint abs(var) == abs_var."},
66762  { "Solver_IndexOfConstraint", _wrap_Solver_IndexOfConstraint, METH_VARARGS, " This constraint is a special case of the element constraint with an array of integer variables, where the variables are all different and the index variable is constrained such that vars[index] == target."},
66763  { "Solver_ConstraintInitialPropagateCallback", _wrap_Solver_ConstraintInitialPropagateCallback, METH_VARARGS, " This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct'."},
66764  { "Solver_DelayedConstraintInitialPropagateCallback", _wrap_Solver_DelayedConstraintInitialPropagateCallback, METH_VARARGS, " This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of the constraint 'ct' with low priority."},
66765  { "Solver_ClosureDemon", _wrap_Solver_ClosureDemon, METH_VARARGS, " Creates a demon from a closure."},
66766  { "Solver_BetweenCt", _wrap_Solver_BetweenCt, METH_VARARGS, " (l <= expr <= u)"},
66767  { "Solver_IsBetweenCt", _wrap_Solver_IsBetweenCt, METH_VARARGS, " b == (l <= expr <= u)"},
66768  { "Solver_IsBetweenVar", _wrap_Solver_IsBetweenVar, METH_VARARGS, NULL},
66769  { "Solver_MemberCt", _wrap_Solver_MemberCt, METH_VARARGS, " expr in set. Propagation is lazy, i.e. this constraint does not creates holes in the domain of the variable."},
66770  { "Solver_NotMemberCt", _wrap_Solver_NotMemberCt, METH_VARARGS, "\n"
66771  "*Overload 1:*\n"
66772  "expr not in set.\n"
66773  "\n"
66774  "|\n"
66775  "\n"
66776  "*Overload 2:*\n"
66777  "expr should not be in the list of forbidden intervals [start[i]..end[i]].\n"
66778  "\n"
66779  "|\n"
66780  "\n"
66781  "*Overload 3:*\n"
66782  "expr should not be in the list of forbidden intervals [start[i]..end[i]].\n"
66783  ""},
66784  { "Solver_IsMemberCt", _wrap_Solver_IsMemberCt, METH_VARARGS, " boolvar == (expr in set)"},
66785  { "Solver_IsMemberVar", _wrap_Solver_IsMemberVar, METH_VARARGS, NULL},
66786  { "Solver_Count", _wrap_Solver_Count, METH_VARARGS, "\n"
66787  "*Overload 1:*\n"
66788  "|{i | vars[i] == value}| == max_count\n"
66789  "\n"
66790  "|\n"
66791  "\n"
66792  "*Overload 2:*\n"
66793  "|{i | vars[i] == value}| == max_count\n"
66794  ""},
66795  { "Solver_Distribute", _wrap_Solver_Distribute, METH_VARARGS, "\n"
66796  "*Overload 1:*\n"
66797  "Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]\n"
66798  "\n"
66799  "|\n"
66800  "\n"
66801  "*Overload 2:*\n"
66802  "Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]\n"
66803  "\n"
66804  "|\n"
66805  "\n"
66806  "*Overload 3:*\n"
66807  "Aggregated version of count: |{i | v[i] == j}| == cards[j]\n"
66808  "\n"
66809  "|\n"
66810  "\n"
66811  "*Overload 4:*\n"
66812  "Aggregated version of count with bounded cardinalities: forall j in 0 .. card_size - 1: card_min <= |{i | v[i] == j}| <= card_max\n"
66813  "\n"
66814  "|\n"
66815  "\n"
66816  "*Overload 5:*\n"
66817  "Aggregated version of count with bounded cardinalities: forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == j}| <= card_max[j]\n"
66818  "\n"
66819  "|\n"
66820  "\n"
66821  "*Overload 6:*\n"
66822  "Aggregated version of count with bounded cardinalities: forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == j}| <= card_max[j]\n"
66823  "\n"
66824  "|\n"
66825  "\n"
66826  "*Overload 7:*\n"
66827  "Aggregated version of count with bounded cardinalities: forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == values[j]}| <= card_max[j]\n"
66828  "\n"
66829  "|\n"
66830  "\n"
66831  "*Overload 8:*\n"
66832  "Aggregated version of count with bounded cardinalities: forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == values[j]}| <= card_max[j]\n"
66833  ""},
66834  { "Solver_Deviation", _wrap_Solver_Deviation, METH_VARARGS, " Deviation constraint: sum_i |n * vars[i] - total_sum| <= deviation_var and sum_i vars[i] == total_sum n = #vars"},
66835  { "Solver_AllDifferent", _wrap_Solver_AllDifferent, METH_VARARGS, "\n"
66836  "*Overload 1:*\n"
66837  "All variables are pairwise different. This corresponds to the stronger version of the propagation algorithm.\n"
66838  "\n"
66839  "|\n"
66840  "\n"
66841  "*Overload 2:*\n"
66842  "All variables are pairwise different. If 'stronger_propagation' is true, stronger, and potentially slower propagation will occur. This API will be deprecated in the future.\n"
66843  ""},
66844  { "Solver_AllDifferentExcept", _wrap_Solver_AllDifferentExcept, METH_VARARGS, " All variables are pairwise different, unless they are assigned to the escape value."},
66845  { "Solver_SortingConstraint", _wrap_Solver_SortingConstraint, METH_VARARGS, " Creates a constraint binding the arrays of variables \"vars\" and \"sorted_vars\": sorted_vars[0] must be equal to the minimum of all variables in vars, and so on: the value of sorted_vars[i] must be equal to the i-th value of variables invars. This constraint propagates in both directions: from \"vars\" to \"sorted_vars\" and vice-versa. Behind the scenes, this constraint maintains that: - sorted is always increasing. - whatever the values of vars, there exists a permutation that injects its values into the sorted variables. For more info, please have a look at: https://mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Thiel.pdf"},
66846  { "Solver_LexicalLess", _wrap_Solver_LexicalLess, METH_VARARGS, " Creates a constraint that enforces that left is lexicographically less than right."},
66847  { "Solver_LexicalLessOrEqual", _wrap_Solver_LexicalLessOrEqual, METH_VARARGS, " Creates a constraint that enforces that left is lexicographically less than or equal to right."},
66848  { "Solver_InversePermutationConstraint", _wrap_Solver_InversePermutationConstraint, METH_VARARGS, " Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0..left.size()-1], and that 'right' is the inverse permutation of 'left', i.e. for all i in [0..left.size()-1], right[left[i]] = i."},
66849  { "Solver_NullIntersect", _wrap_Solver_NullIntersect, METH_VARARGS, " Creates a constraint that states that all variables in the first vector are different from all variables in the second group. Thus the set of values in the first vector does not intersect with the set of values in the second vector."},
66850  { "Solver_NullIntersectExcept", _wrap_Solver_NullIntersectExcept, METH_VARARGS, " Creates a constraint that states that all variables in the first vector are different from all variables from the second group, unless they are assigned to the escape value. Thus the set of values in the first vector minus the escape value does not intersect with the set of values in the second vector."},
66851  { "Solver_Circuit", _wrap_Solver_Circuit, METH_VARARGS, " Force the \"nexts\" variable to create a complete Hamiltonian path."},
66852  { "Solver_SubCircuit", _wrap_Solver_SubCircuit, METH_VARARGS, " Force the \"nexts\" variable to create a complete Hamiltonian path for those that do not loop upon themselves."},
66853  { "Solver_DelayedPathCumul", _wrap_Solver_DelayedPathCumul, METH_VARARGS, " Delayed version of the same constraint: propagation on the nexts variables is delayed until all constraints have propagated."},
66854  { "Solver_PathCumul", _wrap_Solver_PathCumul, METH_VARARGS, "\n"
66855  "*Overload 1:*\n"
66856  "Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transits[i]. Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem.\n"
66857  "\n"
66858  "|\n"
66859  "\n"
66860  "*Overload 2:*\n"
66861  "Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]). Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. Ownership of transit_evaluator is taken and it must be a repeatable callback.\n"
66862  "\n"
66863  "|\n"
66864  "\n"
66865  "*Overload 3:*\n"
66866  "Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]) + slacks[i]. Active variables indicate if the corresponding next variable is active; this could be useful to model unperformed nodes in a routing problem. Ownership of transit_evaluator is taken and it must be a repeatable callback.\n"
66867  ""},
66868  { "Solver_AllowedAssignments", _wrap_Solver_AllowedAssignments, METH_VARARGS, "\n"
66869  "*Overload 1:*\n"
66870  "This method creates a constraint where the graph of the relation between the variables is given in extension. There are 'arity' variables involved in the relation and the graph is given by a integer tuple set.\n"
66871  "\n"
66872  "|\n"
66873  "\n"
66874  "*Overload 2:*\n"
66875  "Compatibility layer for Python API.\n"
66876  ""},
66877  { "Solver_TransitionConstraint", _wrap_Solver_TransitionConstraint, METH_VARARGS, "\n"
66878  "*Overload 1:*\n"
66879  "This constraint create a finite automaton that will check the sequence of variables vars. It uses a transition table called 'transition_table'. Each transition is a triple (current_state, variable_value, new_state). The initial state is given, and the set of accepted states is decribed by 'final_states'. These states are hidden inside the constraint. Only the transitions (i.e. the variables) are visible.\n"
66880  "\n"
66881  "|\n"
66882  "\n"
66883  "*Overload 2:*\n"
66884  "This constraint create a finite automaton that will check the sequence of variables vars. It uses a transition table called 'transition_table'. Each transition is a triple (current_state, variable_value, new_state). The initial state is given, and the set of accepted states is decribed by 'final_states'. These states are hidden inside the constraint. Only the transitions (i.e. the variables) are visible.\n"
66885  ""},
66886  { "Solver_NonOverlappingBoxesConstraint", _wrap_Solver_NonOverlappingBoxesConstraint, METH_VARARGS, NULL},
66887  { "Solver_Pack", _wrap_Solver_Pack, METH_VARARGS, " This constraint packs all variables onto 'number_of_bins' variables. For any given variable, a value of 'number_of_bins' indicates that the variable is not assigned to any bin. Dimensions, i.e., cumulative constraints on this packing, can be added directly from the pack class."},
66888  { "Solver_FixedDurationIntervalVar", _wrap_Solver_FixedDurationIntervalVar, METH_VARARGS, "\n"
66889  "*Overload 1:*\n"
66890  "Creates an interval var with a fixed duration. The duration must be greater than 0. If optional is true, then the interval can be performed or unperformed. If optional is false, then the interval is always performed.\n"
66891  "\n"
66892  "|\n"
66893  "\n"
66894  "*Overload 2:*\n"
66895  "Creates a performed interval var with a fixed duration. The duration must be greater than 0.\n"
66896  "\n"
66897  "|\n"
66898  "\n"
66899  "*Overload 3:*\n"
66900  "Creates an interval var with a fixed duration, and performed_variable. The duration must be greater than 0.\n"
66901  ""},
66902  { "Solver_FixedInterval", _wrap_Solver_FixedInterval, METH_VARARGS, " Creates a fixed and performed interval."},
66903  { "Solver_IntervalVar", _wrap_Solver_IntervalVar, METH_VARARGS, " Creates an interval var by specifying the bounds on start, duration, and end."},
66904  { "Solver_MirrorInterval", _wrap_Solver_MirrorInterval, METH_VARARGS, " Creates an interval var that is the mirror image of the given one, that is, the interval var obtained by reversing the axis."},
66905  { "Solver_FixedDurationStartSyncedOnStartIntervalVar", _wrap_Solver_FixedDurationStartSyncedOnStartIntervalVar, METH_VARARGS, " Creates an interval var with a fixed duration whose start is synchronized with the start of another interval, with a given offset. The performed status is also in sync with the performed status of the given interval variable."},
66906  { "Solver_FixedDurationStartSyncedOnEndIntervalVar", _wrap_Solver_FixedDurationStartSyncedOnEndIntervalVar, METH_VARARGS, " Creates an interval var with a fixed duration whose start is synchronized with the end of another interval, with a given offset. The performed status is also in sync with the performed status of the given interval variable."},
66907  { "Solver_FixedDurationEndSyncedOnStartIntervalVar", _wrap_Solver_FixedDurationEndSyncedOnStartIntervalVar, METH_VARARGS, " Creates an interval var with a fixed duration whose end is synchronized with the start of another interval, with a given offset. The performed status is also in sync with the performed status of the given interval variable."},
66908  { "Solver_FixedDurationEndSyncedOnEndIntervalVar", _wrap_Solver_FixedDurationEndSyncedOnEndIntervalVar, METH_VARARGS, " Creates an interval var with a fixed duration whose end is synchronized with the end of another interval, with a given offset. The performed status is also in sync with the performed status of the given interval variable."},
66909  { "Solver_IntervalRelaxedMin", _wrap_Solver_IntervalRelaxedMin, METH_VARARGS, " Creates and returns an interval variable that wraps around the given one, relaxing the min start and end. Relaxing means making unbounded when optional. If the variable is non-optional, this method returns interval_var. More precisely, such an interval variable behaves as follows: * When the underlying must be performed, the returned interval variable behaves exactly as the underlying; * When the underlying may or may not be performed, the returned interval variable behaves like the underlying, except that it is unbounded on the min side; * When the underlying cannot be performed, the returned interval variable is of duration 0 and must be performed in an interval unbounded on both sides. This is very useful to implement propagators that may only modify the start max or end max."},
66910  { "Solver_IntervalRelaxedMax", _wrap_Solver_IntervalRelaxedMax, METH_VARARGS, " Creates and returns an interval variable that wraps around the given one, relaxing the max start and end. Relaxing means making unbounded when optional. If the variable is non optional, this method returns interval_var. More precisely, such an interval variable behaves as follows: * When the underlying must be performed, the returned interval variable behaves exactly as the underlying; * When the underlying may or may not be performed, the returned interval variable behaves like the underlying, except that it is unbounded on the max side; * When the underlying cannot be performed, the returned interval variable is of duration 0 and must be performed in an interval unbounded on both sides. This is very useful for implementing propagators that may only modify the start min or end min."},
66911  { "Solver_TemporalDisjunction", _wrap_Solver_TemporalDisjunction, METH_VARARGS, "\n"
66912  "*Overload 1:*\n"
66913  "This constraint implements a temporal disjunction between two interval vars t1 and t2. 'alt' indicates which alternative was chosen (alt == 0 is equivalent to t1 before t2).\n"
66914  "\n"
66915  "|\n"
66916  "\n"
66917  "*Overload 2:*\n"
66918  "This constraint implements a temporal disjunction between two interval vars.\n"
66919  ""},
66920  { "Solver_DisjunctiveConstraint", _wrap_Solver_DisjunctiveConstraint, METH_VARARGS, " This constraint forces all interval vars into an non-overlapping sequence. Intervals with zero duration can be scheduled anywhere."},
66921  { "Solver_Cumulative", _wrap_Solver_Cumulative, METH_VARARGS, "\n"
66922  "*Overload 1:*\n"
66923  "This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint.\n"
66924  "\n"
66925  "|\n"
66926  "\n"
66927  "*Overload 2:*\n"
66928  "This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint.\n"
66929  "\n"
66930  "|\n"
66931  "\n"
66932  "*Overload 3:*\n"
66933  "This constraint forces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint.\n"
66934  "\n"
66935  "|\n"
66936  "\n"
66937  "*Overload 4:*\n"
66938  "This constraint enforces that, for any integer t, the sum of the demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should only contain non-negative values. Zero values are supported, and the corresponding intervals are filtered out, as they neither impact nor are impacted by this constraint.\n"
66939  "\n"
66940  "|\n"
66941  "\n"
66942  "*Overload 5:*\n"
66943  "This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should be positive.\n"
66944  "\n"
66945  "|\n"
66946  "\n"
66947  "*Overload 6:*\n"
66948  "This constraint enforces that, for any integer t, the sum of demands corresponding to an interval containing t does not exceed the given capacity. Intervals and demands should be vectors of equal size. Demands should be positive.\n"
66949  ""},
66950  { "Solver_Cover", _wrap_Solver_Cover, METH_VARARGS, " This constraint states that the target_var is the convex hull of the intervals. If none of the interval variables is performed, then the target var is unperformed too. Also, if the target variable is unperformed, then all the intervals variables are unperformed too."},
66951  { "Solver_Assignment", _wrap_Solver_Assignment, METH_VARARGS, "\n"
66952  "*Overload 1:*\n"
66953  "This method creates an empty assignment.\n"
66954  "\n"
66955  "|\n"
66956  "\n"
66957  "*Overload 2:*\n"
66958  "This method creates an assignment which is a copy of 'a'.\n"
66959  ""},
66960  { "Solver_FirstSolutionCollector", _wrap_Solver_FirstSolutionCollector, METH_VARARGS, "\n"
66961  "*Overload 1:*\n"
66962  "Collect the first solution of the search.\n"
66963  "\n"
66964  "|\n"
66965  "\n"
66966  "*Overload 2:*\n"
66967  "Collect the first solution of the search. The variables will need to be added later.\n"
66968  ""},
66969  { "Solver_LastSolutionCollector", _wrap_Solver_LastSolutionCollector, METH_VARARGS, "\n"
66970  "*Overload 1:*\n"
66971  "Collect the last solution of the search.\n"
66972  "\n"
66973  "|\n"
66974  "\n"
66975  "*Overload 2:*\n"
66976  "Collect the last solution of the search. The variables will need to be added later.\n"
66977  ""},
66978  { "Solver_BestValueSolutionCollector", _wrap_Solver_BestValueSolutionCollector, METH_VARARGS, "\n"
66979  "*Overload 1:*\n"
66980  "Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. This collector only collects one solution corresponding to the best objective value (the first one found).\n"
66981  "\n"
66982  "|\n"
66983  "\n"
66984  "*Overload 2:*\n"
66985  "Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignment' does not have an objective no solution is collected. This collector only collects one solution corresponding to the best objective value (the first one found). The variables will need to be added later.\n"
66986  ""},
66987  { "Solver_AllSolutionCollector", _wrap_Solver_AllSolutionCollector, METH_VARARGS, "\n"
66988  "*Overload 1:*\n"
66989  "Collect all solutions of the search.\n"
66990  "\n"
66991  "|\n"
66992  "\n"
66993  "*Overload 2:*\n"
66994  "Collect all solutions of the search. The variables will need to be added later.\n"
66995  ""},
66996  { "Solver_Minimize", _wrap_Solver_Minimize, METH_VARARGS, " Creates a minimization objective."},
66997  { "Solver_Maximize", _wrap_Solver_Maximize, METH_VARARGS, " Creates a maximization objective."},
66998  { "Solver_Optimize", _wrap_Solver_Optimize, METH_VARARGS, " Creates a objective with a given sense (true = maximization)."},
66999  { "Solver_WeightedMinimize", _wrap_Solver_WeightedMinimize, METH_VARARGS, "\n"
67000  "*Overload 1:*\n"
67001  "Creates a minimization weighted objective. The actual objective is scalar_prod(sub_objectives, weights).\n"
67002  "\n"
67003  "|\n"
67004  "\n"
67005  "*Overload 2:*\n"
67006  "Creates a minimization weighted objective. The actual objective is scalar_prod(sub_objectives, weights).\n"
67007  ""},
67008  { "Solver_WeightedMaximize", _wrap_Solver_WeightedMaximize, METH_VARARGS, "\n"
67009  "*Overload 1:*\n"
67010  "Creates a maximization weigthed objective.\n"
67011  "\n"
67012  "|\n"
67013  "\n"
67014  "*Overload 2:*\n"
67015  "Creates a maximization weigthed objective.\n"
67016  ""},
67017  { "Solver_WeightedOptimize", _wrap_Solver_WeightedOptimize, METH_VARARGS, "\n"
67018  "*Overload 1:*\n"
67019  "Creates a weighted objective with a given sense (true = maximization).\n"
67020  "\n"
67021  "|\n"
67022  "\n"
67023  "*Overload 2:*\n"
67024  "Creates a weighted objective with a given sense (true = maximization).\n"
67025  ""},
67026  { "Solver_TabuSearch", _wrap_Solver_TabuSearch, METH_VARARGS, " MetaHeuristics which try to get the search out of local optima. Creates a Tabu Search monitor. In the context of local search the behavior is similar to MakeOptimize(), creating an objective in a given sense. The behavior differs once a local optimum is reached: thereafter solutions which degrade the value of the objective are allowed if they are not \"tabu\". A solution is \"tabu\" if it doesn't respect the following rules: - improving the best solution found so far - variables in the \"keep\" list must keep their value, variables in the \"forbid\" list must not take the value they have in the list. Variables with new values enter the tabu lists after each new solution found and leave the lists after a given number of iterations (called tenure). Only the variables passed to the method can enter the lists. The tabu criterion is softened by the tabu factor which gives the number of \"tabu\" violations which is tolerated; a factor of 1 means no violations allowed; a factor of 0 means all violations are allowed."},
67027  { "Solver_SimulatedAnnealing", _wrap_Solver_SimulatedAnnealing, METH_VARARGS, " Creates a Simulated Annealing monitor."},
67028  { "Solver_LubyRestart", _wrap_Solver_LubyRestart, METH_VARARGS, " This search monitor will restart the search periodically. At the iteration n, it will restart after scale_factor * Luby(n) failures where Luby is the Luby Strategy (i.e. 1 1 2 1 1 2 4 1 1 2 1 1 2 4 8...)."},
67029  { "Solver_ConstantRestart", _wrap_Solver_ConstantRestart, METH_VARARGS, " This search monitor will restart the search periodically after 'frequency' failures."},
67030  { "Solver_TimeLimit", _wrap_Solver_TimeLimit, METH_VARARGS, " Creates a search limit that constrains the running time."},
67031  { "Solver_BranchesLimit", _wrap_Solver_BranchesLimit, METH_VARARGS, " Creates a search limit that constrains the number of branches explored in the search tree."},
67032  { "Solver_FailuresLimit", _wrap_Solver_FailuresLimit, METH_VARARGS, " Creates a search limit that constrains the number of failures that can happen when exploring the search tree."},
67033  { "Solver_SolutionsLimit", _wrap_Solver_SolutionsLimit, METH_VARARGS, " Creates a search limit that constrains the number of solutions found during the search."},
67034  { "Solver_Limit", _wrap_Solver_Limit, METH_VARARGS, NULL},
67035  { "Solver_CustomLimit", _wrap_Solver_CustomLimit, METH_VARARGS, " Callback-based search limit. Search stops when limiter returns true; if this happens at a leaf the corresponding solution will be rejected."},
67036  { "Solver_SearchLog", _wrap_Solver_SearchLog, METH_VARARGS, "\n"
67037  "*Overload 1:*\n"
67038  "The SearchMonitors below will display a periodic search log on LOG(INFO) every branch_period branches explored.\n"
67039  "\n"
67040  "|\n"
67041  "\n"
67042  "*Overload 2:*\n"
67043  "At each solution, this monitor also display the var value.\n"
67044  "\n"
67045  "|\n"
67046  "\n"
67047  "*Overload 3:*\n"
67048  "At each solution, this monitor will also display result of display_callback.\n"
67049  "\n"
67050  "|\n"
67051  "\n"
67052  "*Overload 4:*\n"
67053  "At each solution, this monitor will display the 'var' value and the result of display_callback.\n"
67054  "\n"
67055  "|\n"
67056  "\n"
67057  "*Overload 5:*\n"
67058  "OptimizeVar Search Logs At each solution, this monitor will also display the 'opt_var' value.\n"
67059  "\n"
67060  "|\n"
67061  "\n"
67062  "*Overload 6:*\n"
67063  "Creates a search monitor that will also print the result of the display callback.\n"
67064  ""},
67065  { "Solver_SearchTrace", _wrap_Solver_SearchTrace, METH_VARARGS, " Creates a search monitor that will trace precisely the behavior of the search. Use this only for low level debugging."},
67066  { "Solver_PrintModelVisitor", _wrap_Solver_PrintModelVisitor, METH_VARARGS, " Prints the model."},
67067  { "Solver_StatisticsModelVisitor", _wrap_Solver_StatisticsModelVisitor, METH_VARARGS, " Displays some nice statistics on the model."},
67068  { "Solver_AssignVariableValue", _wrap_Solver_AssignVariableValue, METH_VARARGS, " Decisions."},
67069  { "Solver_VariableLessOrEqualValue", _wrap_Solver_VariableLessOrEqualValue, METH_VARARGS, NULL},
67070  { "Solver_VariableGreaterOrEqualValue", _wrap_Solver_VariableGreaterOrEqualValue, METH_VARARGS, NULL},
67071  { "Solver_SplitVariableDomain", _wrap_Solver_SplitVariableDomain, METH_VARARGS, NULL},
67072  { "Solver_AssignVariableValueOrFail", _wrap_Solver_AssignVariableValueOrFail, METH_VARARGS, NULL},
67073  { "Solver_AssignVariablesValues", _wrap_Solver_AssignVariablesValues, METH_VARARGS, NULL},
67074  { "Solver_FailDecision", _wrap_Solver_FailDecision, METH_VARARGS, NULL},
67075  { "Solver_Decision", _wrap_Solver_Decision, METH_VARARGS, NULL},
67076  { "Solver_Compose", _wrap_Solver_Compose, METH_VARARGS, NULL},
67077  { "Solver_Try", _wrap_Solver_Try, METH_VARARGS, NULL},
67078  { "Solver_DefaultPhase", _wrap_Solver_DefaultPhase, METH_VARARGS, NULL},
67079  { "Solver_ScheduleOrPostpone", _wrap_Solver_ScheduleOrPostpone, METH_VARARGS, " Returns a decision that tries to schedule a task at a given time. On the Apply branch, it will set that interval var as performed and set its start to 'est'. On the Refute branch, it will just update the 'marker' to 'est' + 1. This decision is used in the INTERVAL_SET_TIMES_FORWARD strategy."},
67080  { "Solver_ScheduleOrExpedite", _wrap_Solver_ScheduleOrExpedite, METH_VARARGS, " Returns a decision that tries to schedule a task at a given time. On the Apply branch, it will set that interval var as performed and set its end to 'est'. On the Refute branch, it will just update the 'marker' to 'est' - 1. This decision is used in the INTERVAL_SET_TIMES_BACKWARD strategy."},
67081  { "Solver_RankFirstInterval", _wrap_Solver_RankFirstInterval, METH_VARARGS, " Returns a decision that tries to rank first the ith interval var in the sequence variable."},
67082  { "Solver_RankLastInterval", _wrap_Solver_RankLastInterval, METH_VARARGS, " Returns a decision that tries to rank last the ith interval var in the sequence variable."},
67083  { "Solver_Phase", _wrap_Solver_Phase, METH_VARARGS, "\n"
67084  "*Overload 1:*\n"
67085  "Phases on IntVar arrays. for all other functions that have several homonyms in this .h).\n"
67086  "\n"
67087  "|\n"
67088  "\n"
67089  "*Overload 2:*\n"
67090  "Scheduling phases.\n"
67091  ""},
67092  { "Solver_DecisionBuilderFromAssignment", _wrap_Solver_DecisionBuilderFromAssignment, METH_VARARGS, " Returns a decision builder for which the left-most leaf corresponds to assignment, the rest of the tree being explored using 'db'."},
67093  { "Solver_ConstraintAdder", _wrap_Solver_ConstraintAdder, METH_VARARGS, " Returns a decision builder that will add the given constraint to the model."},
67094  { "Solver_SolveOnce", _wrap_Solver_SolveOnce, METH_VARARGS, NULL},
67095  { "Solver_NestedOptimize", _wrap_Solver_NestedOptimize, METH_VARARGS, NULL},
67096  { "Solver_RestoreAssignment", _wrap_Solver_RestoreAssignment, METH_VARARGS, " Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())"},
67097  { "Solver_StoreAssignment", _wrap_Solver_StoreAssignment, METH_VARARGS, " Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())"},
67098  { "Solver_Operator", _wrap_Solver_Operator, METH_VARARGS, NULL},
67099  { "Solver_RandomLnsOperator", _wrap_Solver_RandomLnsOperator, METH_VARARGS, " Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with up to number_of_variables random variables (sampling with replacement is performed meaning that at most number_of_variables variables are selected). Warning: this operator will always return neighbors; using it without a search limit will result in a non-ending search. Optionally a random seed can be specified."},
67100  { "Solver_MoveTowardTargetOperator", _wrap_Solver_MoveTowardTargetOperator, METH_VARARGS, "\n"
67101  "*Overload 1:*\n"
67102  "Creates a local search operator that tries to move the assignment of some variables toward a target. The target is given as an Assignment. This operator generates neighbors in which the only difference compared to the current state is that one variable that belongs to the target assignment is set to its target value.\n"
67103  "\n"
67104  "|\n"
67105  "\n"
67106  "*Overload 2:*\n"
67107  "Creates a local search operator that tries to move the assignment of some variables toward a target. The target is given either as two vectors: a vector of variables and a vector of associated target values. The two vectors should be of the same length. This operator generates neighbors in which the only difference compared to the current state is that one variable that belongs to the given vector is set to its target value.\n"
67108  ""},
67109  { "Solver_ConcatenateOperators", _wrap_Solver_ConcatenateOperators, METH_VARARGS, NULL},
67110  { "Solver_RandomConcatenateOperators", _wrap_Solver_RandomConcatenateOperators, METH_VARARGS, "\n"
67111  "*Overload 1:*\n"
67112  "Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor().\n"
67113  "\n"
67114  "|\n"
67115  "\n"
67116  "*Overload 2:*\n"
67117  "Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeighbor(). The provided seed is used to initialize the random number generator.\n"
67118  ""},
67119  { "Solver_NeighborhoodLimit", _wrap_Solver_NeighborhoodLimit, METH_VARARGS, " Creates a local search operator that wraps another local search operator and limits the number of neighbors explored (i.e., calls to MakeNextNeighbor from the current solution (between two calls to Start()). When this limit is reached, MakeNextNeighbor() returns false. The counter is cleared when Start() is called."},
67120  { "Solver_LocalSearchPhase", _wrap_Solver_LocalSearchPhase, METH_VARARGS, "\n"
67121  "*Overload 1:*\n"
67122  "Local Search decision builders factories. Local search is used to improve a given solution. This initial solution can be specified either by an Assignment or by a DecisionBulder, and the corresponding variables, the initial solution being the first solution found by the DecisionBuilder. The LocalSearchPhaseParameters parameter holds the actual definition of the local search phase: - a local search operator used to explore the neighborhood of the current solution, - a decision builder to instantiate unbound variables once a neighbor has been defined; in the case of LNS-based operators instantiates fragment variables; search monitors can be added to this sub-search by wrapping the decision builder with MakeSolveOnce. - a search limit specifying how long local search looks for neighbors before accepting one; the last neighbor is always taken and in the case of a greedy search, this corresponds to the best local neighbor; first-accept (which is the default behavior) can be modeled using a solution found limit of 1, - a vector of local search filters used to speed up the search by pruning unfeasible neighbors. Metaheuristics can be added by defining specialized search monitors; currently down/up-hill climbing is available through OptimizeVar, as well as Guided Local Search, Tabu Search and Simulated Annealing.\n"
67123  "\n"
67124  "|\n"
67125  "\n"
67126  "*Overload 2:*\n"
67127  "Variant with a sub_decison_builder specific to the first solution.\n"
67128  ""},
67129  { "Solver_LocalSearchPhaseParameters", _wrap_Solver_LocalSearchPhaseParameters, METH_VARARGS, NULL},
67130  { "Solver_SearchDepth", _wrap_Solver_SearchDepth, METH_VARARGS, " Gets the search depth of the current active search. Returns -1 if there is no active search opened."},
67131  { "Solver_SearchLeftDepth", _wrap_Solver_SearchLeftDepth, METH_VARARGS, " Gets the search left depth of the current active search. Returns -1 if there is no active search opened."},
67132  { "Solver_SolveDepth", _wrap_Solver_SolveDepth, METH_VARARGS, " Gets the number of nested searches. It returns 0 outside search, 1 during the top level search, 2 or more in case of nested searches."},
67133  { "Solver_Rand64", _wrap_Solver_Rand64, METH_VARARGS, " Returns a random value between 0 and 'size' - 1;"},
67134  { "Solver_Rand32", _wrap_Solver_Rand32, METH_VARARGS, " Returns a random value between 0 and 'size' - 1;"},
67135  { "Solver_ReSeed", _wrap_Solver_ReSeed, METH_VARARGS, " Reseed the solver random generator."},
67136  { "Solver_LocalSearchProfile", _wrap_Solver_LocalSearchProfile, METH_VARARGS, " Returns local search profiling information in a human readable format."},
67137  { "Solver_Constraints", _wrap_Solver_Constraints, METH_VARARGS, " Counts the number of constraints that have been added to the solver before the search."},
67138  { "Solver_Accept", _wrap_Solver_Accept, METH_VARARGS, " Accepts the given model visitor."},
67139  { "Solver_FinishCurrentSearch", _wrap_Solver_FinishCurrentSearch, METH_VARARGS, " Tells the solver to kill or restart the current search."},
67140  { "Solver_RestartCurrentSearch", _wrap_Solver_RestartCurrentSearch, METH_VARARGS, NULL},
67141  { "Solver_ShouldFail", _wrap_Solver_ShouldFail, METH_VARARGS, " These methods are only useful for the SWIG wrappers, which need a way to externally cause the Solver to fail."},
67142  { "Solver___str__", _wrap_Solver___str__, METH_VARARGS, NULL},
67143  { "Solver_TreeNoCycle", _wrap_Solver_TreeNoCycle, METH_VARARGS, NULL},
67144  { "Solver_SearchLogWithCallback", _wrap_Solver_SearchLogWithCallback, METH_VARARGS, NULL},
67145  { "Solver_ElementFunction", _wrap_Solver_ElementFunction, METH_VARARGS, NULL},
67146  { "Solver_VarEvalValStrPhase", _wrap_Solver_VarEvalValStrPhase, METH_VARARGS, NULL},
67147  { "Solver_VarStrValEvalPhase", _wrap_Solver_VarStrValEvalPhase, METH_VARARGS, NULL},
67148  { "Solver_VarEvalValEvalPhase", _wrap_Solver_VarEvalValEvalPhase, METH_VARARGS, NULL},
67149  { "Solver_VarStrValEvalTieBreakPhase", _wrap_Solver_VarStrValEvalTieBreakPhase, METH_VARARGS, NULL},
67150  { "Solver_VarEvalValEvalTieBreakPhase", _wrap_Solver_VarEvalValEvalTieBreakPhase, METH_VARARGS, NULL},
67151  { "Solver_EvalEvalStrPhase", _wrap_Solver_EvalEvalStrPhase, METH_VARARGS, NULL},
67152  { "Solver_EvalEvalStrTieBreakPhase", _wrap_Solver_EvalEvalStrTieBreakPhase, METH_VARARGS, NULL},
67153  { "Solver_GuidedLocalSearch", _wrap_Solver_GuidedLocalSearch, METH_VARARGS, NULL},
67154  { "Solver_SumObjectiveFilter", _wrap_Solver_SumObjectiveFilter, METH_VARARGS, NULL},
67155  { "Solver_swigregister", Solver_swigregister, METH_O, NULL},
67156  { "Solver_swiginit", Solver_swiginit, METH_VARARGS, NULL},
67157  { "new_BaseObject", _wrap_new_BaseObject, METH_VARARGS, NULL},
67158  { "delete_BaseObject", _wrap_delete_BaseObject, METH_VARARGS, NULL},
67159  { "BaseObject_DebugString", _wrap_BaseObject_DebugString, METH_VARARGS, NULL},
67160  { "BaseObject___str__", _wrap_BaseObject___str__, METH_VARARGS, NULL},
67161  { "BaseObject___repr__", _wrap_BaseObject___repr__, METH_VARARGS, NULL},
67162  { "disown_BaseObject", _wrap_disown_BaseObject, METH_VARARGS, NULL},
67163  { "BaseObject_swigregister", BaseObject_swigregister, METH_O, NULL},
67164  { "BaseObject_swiginit", BaseObject_swiginit, METH_VARARGS, NULL},
67165  { "new_PropagationBaseObject", _wrap_new_PropagationBaseObject, METH_VARARGS, NULL},
67166  { "delete_PropagationBaseObject", _wrap_delete_PropagationBaseObject, METH_VARARGS, NULL},
67167  { "PropagationBaseObject_DebugString", _wrap_PropagationBaseObject_DebugString, METH_VARARGS, NULL},
67168  { "PropagationBaseObject_solver", _wrap_PropagationBaseObject_solver, METH_VARARGS, NULL},
67169  { "PropagationBaseObject_Name", _wrap_PropagationBaseObject_Name, METH_VARARGS, " Object naming."},
67170  { "disown_PropagationBaseObject", _wrap_disown_PropagationBaseObject, METH_VARARGS, NULL},
67171  { "PropagationBaseObject_swigregister", PropagationBaseObject_swigregister, METH_O, NULL},
67172  { "PropagationBaseObject_swiginit", PropagationBaseObject_swiginit, METH_VARARGS, NULL},
67173  { "new_Decision", _wrap_new_Decision, METH_VARARGS, NULL},
67174  { "delete_Decision", _wrap_delete_Decision, METH_VARARGS, NULL},
67175  { "Decision_ApplyWrapper", _wrap_Decision_ApplyWrapper, METH_VARARGS, " Apply will be called first when the decision is executed."},
67176  { "Decision_RefuteWrapper", _wrap_Decision_RefuteWrapper, METH_VARARGS, " Refute will be called after a backtrack."},
67177  { "Decision_DebugString", _wrap_Decision_DebugString, METH_VARARGS, NULL},
67178  { "Decision___repr__", _wrap_Decision___repr__, METH_VARARGS, NULL},
67179  { "Decision___str__", _wrap_Decision___str__, METH_VARARGS, NULL},
67180  { "disown_Decision", _wrap_disown_Decision, METH_VARARGS, NULL},
67181  { "Decision_swigregister", Decision_swigregister, METH_O, NULL},
67182  { "Decision_swiginit", Decision_swiginit, METH_VARARGS, NULL},
67183  { "new_DecisionBuilder", _wrap_new_DecisionBuilder, METH_VARARGS, NULL},
67184  { "delete_DecisionBuilder", _wrap_delete_DecisionBuilder, METH_VARARGS, NULL},
67185  { "DecisionBuilder_NextWrapper", _wrap_DecisionBuilder_NextWrapper, METH_VARARGS, " This is the main method of the decision builder class. It must return a decision (an instance of the class Decision). If it returns nullptr, this means that the decision builder has finished its work."},
67186  { "DecisionBuilder_DebugString", _wrap_DecisionBuilder_DebugString, METH_VARARGS, NULL},
67187  { "DecisionBuilder___repr__", _wrap_DecisionBuilder___repr__, METH_VARARGS, NULL},
67188  { "DecisionBuilder___str__", _wrap_DecisionBuilder___str__, METH_VARARGS, NULL},
67189  { "disown_DecisionBuilder", _wrap_disown_DecisionBuilder, METH_VARARGS, NULL},
67190  { "DecisionBuilder_swigregister", DecisionBuilder_swigregister, METH_O, NULL},
67191  { "DecisionBuilder_swiginit", DecisionBuilder_swiginit, METH_VARARGS, NULL},
67192  { "new_Demon", _wrap_new_Demon, METH_VARARGS, " This indicates the priority of a demon. Immediate demons are treated separately and corresponds to variables."},
67193  { "delete_Demon", _wrap_delete_Demon, METH_VARARGS, NULL},
67194  { "Demon_RunWrapper", _wrap_Demon_RunWrapper, METH_VARARGS, " This is the main callback of the demon."},
67195  { "Demon_Priority", _wrap_Demon_Priority, METH_VARARGS, " This method returns the priority of the demon. Usually a demon is fast, slow or normal. Immediate demons are reserved for internal use to maintain variables."},
67196  { "Demon_DebugString", _wrap_Demon_DebugString, METH_VARARGS, NULL},
67197  { "Demon_Inhibit", _wrap_Demon_Inhibit, METH_VARARGS, " This method inhibits the demon in the search tree below the current position."},
67198  { "Demon_Desinhibit", _wrap_Demon_Desinhibit, METH_VARARGS, " This method un-inhibits the demon that was previously inhibited."},
67199  { "disown_Demon", _wrap_disown_Demon, METH_VARARGS, NULL},
67200  { "Demon_swigregister", Demon_swigregister, METH_O, NULL},
67201  { "Demon_swiginit", Demon_swiginit, METH_VARARGS, NULL},
67202  { "new_Constraint", _wrap_new_Constraint, METH_VARARGS, NULL},
67203  { "delete_Constraint", _wrap_delete_Constraint, METH_VARARGS, NULL},
67204  { "Constraint_Post", _wrap_Constraint_Post, METH_VARARGS, " This method is called when the constraint is processed by the solver. Its main usage is to attach demons to variables."},
67205  { "Constraint_InitialPropagateWrapper", _wrap_Constraint_InitialPropagateWrapper, METH_VARARGS, " This method performs the initial propagation of the constraint. It is called just after the post."},
67206  { "Constraint_DebugString", _wrap_Constraint_DebugString, METH_VARARGS, NULL},
67207  { "Constraint_Var", _wrap_Constraint_Var, METH_VARARGS, " Creates a Boolean variable representing the status of the constraint (false = constraint is violated, true = constraint is satisfied). It returns nullptr if the constraint does not support this API."},
67208  { "Constraint___repr__", _wrap_Constraint___repr__, METH_VARARGS, NULL},
67209  { "Constraint___str__", _wrap_Constraint___str__, METH_VARARGS, NULL},
67210  { "Constraint___add__", _wrap_Constraint___add__, METH_VARARGS, NULL},
67211  { "Constraint___radd__", _wrap_Constraint___radd__, METH_VARARGS, NULL},
67212  { "Constraint___sub__", _wrap_Constraint___sub__, METH_VARARGS, NULL},
67213  { "Constraint___rsub__", _wrap_Constraint___rsub__, METH_VARARGS, NULL},
67214  { "Constraint___mul__", _wrap_Constraint___mul__, METH_VARARGS, NULL},
67215  { "Constraint___rmul__", _wrap_Constraint___rmul__, METH_VARARGS, NULL},
67216  { "Constraint___floordiv__", _wrap_Constraint___floordiv__, METH_VARARGS, NULL},
67217  { "Constraint___neg__", _wrap_Constraint___neg__, METH_VARARGS, NULL},
67218  { "Constraint___abs__", _wrap_Constraint___abs__, METH_VARARGS, NULL},
67219  { "Constraint_Square", _wrap_Constraint_Square, METH_VARARGS, NULL},
67220  { "Constraint___eq__", _wrap_Constraint___eq__, METH_VARARGS, NULL},
67221  { "Constraint___ne__", _wrap_Constraint___ne__, METH_VARARGS, NULL},
67222  { "Constraint___ge__", _wrap_Constraint___ge__, METH_VARARGS, NULL},
67223  { "Constraint___gt__", _wrap_Constraint___gt__, METH_VARARGS, NULL},
67224  { "Constraint___le__", _wrap_Constraint___le__, METH_VARARGS, NULL},
67225  { "Constraint___lt__", _wrap_Constraint___lt__, METH_VARARGS, NULL},
67226  { "Constraint_MapTo", _wrap_Constraint_MapTo, METH_VARARGS, NULL},
67227  { "Constraint_IndexOf", _wrap_Constraint_IndexOf, METH_VARARGS, NULL},
67228  { "disown_Constraint", _wrap_disown_Constraint, METH_VARARGS, NULL},
67229  { "Constraint_swigregister", Constraint_swigregister, METH_O, NULL},
67230  { "Constraint_swiginit", Constraint_swiginit, METH_VARARGS, NULL},
67231  { "new_SearchMonitor", _wrap_new_SearchMonitor, METH_VARARGS, NULL},
67232  { "delete_SearchMonitor", _wrap_delete_SearchMonitor, METH_VARARGS, NULL},
67233  { "SearchMonitor_EnterSearch", _wrap_SearchMonitor_EnterSearch, METH_VARARGS, " Beginning of the search."},
67234  { "SearchMonitor_RestartSearch", _wrap_SearchMonitor_RestartSearch, METH_VARARGS, " Restart the search."},
67235  { "SearchMonitor_ExitSearch", _wrap_SearchMonitor_ExitSearch, METH_VARARGS, " End of the search."},
67236  { "SearchMonitor_BeginNextDecision", _wrap_SearchMonitor_BeginNextDecision, METH_VARARGS, " Before calling DecisionBuilder::Next."},
67237  { "SearchMonitor_EndNextDecision", _wrap_SearchMonitor_EndNextDecision, METH_VARARGS, " After calling DecisionBuilder::Next, along with the returned decision."},
67238  { "SearchMonitor_ApplyDecision", _wrap_SearchMonitor_ApplyDecision, METH_VARARGS, " Before applying the decision."},
67239  { "SearchMonitor_RefuteDecision", _wrap_SearchMonitor_RefuteDecision, METH_VARARGS, " Before refuting the decision."},
67240  { "SearchMonitor_AfterDecision", _wrap_SearchMonitor_AfterDecision, METH_VARARGS, " Just after refuting or applying the decision, apply is true after Apply. This is called only if the Apply() or Refute() methods have not failed."},
67241  { "SearchMonitor_BeginFail", _wrap_SearchMonitor_BeginFail, METH_VARARGS, " Just when the failure occurs."},
67242  { "SearchMonitor_EndFail", _wrap_SearchMonitor_EndFail, METH_VARARGS, " After completing the backtrack."},
67243  { "SearchMonitor_BeginInitialPropagation", _wrap_SearchMonitor_BeginInitialPropagation, METH_VARARGS, " Before the initial propagation."},
67244  { "SearchMonitor_EndInitialPropagation", _wrap_SearchMonitor_EndInitialPropagation, METH_VARARGS, " After the initial propagation."},
67245  { "SearchMonitor_AcceptSolution", _wrap_SearchMonitor_AcceptSolution, METH_VARARGS, " This method is called when a solution is found. It asserts whether the solution is valid. A value of false indicates that the solution should be discarded."},
67246  { "SearchMonitor_AtSolution", _wrap_SearchMonitor_AtSolution, METH_VARARGS, " This method is called when a valid solution is found. If the return value is true, then search will resume after. If the result is false, then search will stop there."},
67247  { "SearchMonitor_NoMoreSolutions", _wrap_SearchMonitor_NoMoreSolutions, METH_VARARGS, " When the search tree is finished."},
67248  { "SearchMonitor_LocalOptimum", _wrap_SearchMonitor_LocalOptimum, METH_VARARGS, " When a local optimum is reached. If 'true' is returned, the last solution is discarded and the search proceeds with the next one."},
67249  { "SearchMonitor_AcceptDelta", _wrap_SearchMonitor_AcceptDelta, METH_VARARGS, NULL},
67250  { "SearchMonitor_AcceptNeighbor", _wrap_SearchMonitor_AcceptNeighbor, METH_VARARGS, " After accepting a neighbor during local search."},
67251  { "SearchMonitor_solver", _wrap_SearchMonitor_solver, METH_VARARGS, NULL},
67252  { "SearchMonitor___repr__", _wrap_SearchMonitor___repr__, METH_VARARGS, NULL},
67253  { "SearchMonitor___str__", _wrap_SearchMonitor___str__, METH_VARARGS, NULL},
67254  { "disown_SearchMonitor", _wrap_disown_SearchMonitor, METH_VARARGS, NULL},
67255  { "SearchMonitor_swigregister", SearchMonitor_swigregister, METH_O, NULL},
67256  { "SearchMonitor_swiginit", SearchMonitor_swiginit, METH_VARARGS, NULL},
67257  { "IntExpr_Min", _wrap_IntExpr_Min, METH_VARARGS, NULL},
67258  { "IntExpr_SetMin", _wrap_IntExpr_SetMin, METH_VARARGS, NULL},
67259  { "IntExpr_Max", _wrap_IntExpr_Max, METH_VARARGS, NULL},
67260  { "IntExpr_SetMax", _wrap_IntExpr_SetMax, METH_VARARGS, NULL},
67261  { "IntExpr_SetRange", _wrap_IntExpr_SetRange, METH_VARARGS, " This method sets both the min and the max of the expression."},
67262  { "IntExpr_SetValue", _wrap_IntExpr_SetValue, METH_VARARGS, " This method sets the value of the expression."},
67263  { "IntExpr_Bound", _wrap_IntExpr_Bound, METH_VARARGS, " Returns true if the min and the max of the expression are equal."},
67264  { "IntExpr_IsVar", _wrap_IntExpr_IsVar, METH_VARARGS, " Returns true if the expression is indeed a variable."},
67265  { "IntExpr_Var", _wrap_IntExpr_Var, METH_VARARGS, " Creates a variable from the expression."},
67266  { "IntExpr_VarWithName", _wrap_IntExpr_VarWithName, METH_VARARGS, " Creates a variable from the expression and set the name of the resulting var. If the expression is already a variable, then it will set the name of the expression, possibly overwriting it. This is just a shortcut to Var() followed by set_name()."},
67267  { "IntExpr_WhenRange", _wrap_IntExpr_WhenRange, METH_VARARGS, "\n"
67268  "*Overload 1:*\n"
67269  "Attach a demon that will watch the min or the max of the expression.\n"
67270  "\n"
67271  "|\n"
67272  "\n"
67273  "*Overload 2:*\n"
67274  "Attach a demon that will watch the min or the max of the expression.\n"
67275  ""},
67276  { "IntExpr___repr__", _wrap_IntExpr___repr__, METH_VARARGS, NULL},
67277  { "IntExpr___str__", _wrap_IntExpr___str__, METH_VARARGS, NULL},
67278  { "IntExpr___add__", _wrap_IntExpr___add__, METH_VARARGS, NULL},
67279  { "IntExpr___radd__", _wrap_IntExpr___radd__, METH_VARARGS, NULL},
67280  { "IntExpr___sub__", _wrap_IntExpr___sub__, METH_VARARGS, NULL},
67281  { "IntExpr___rsub__", _wrap_IntExpr___rsub__, METH_VARARGS, NULL},
67282  { "IntExpr___mul__", _wrap_IntExpr___mul__, METH_VARARGS, NULL},
67283  { "IntExpr___rmul__", _wrap_IntExpr___rmul__, METH_VARARGS, NULL},
67284  { "IntExpr___floordiv__", _wrap_IntExpr___floordiv__, METH_VARARGS, NULL},
67285  { "IntExpr___mod__", _wrap_IntExpr___mod__, METH_VARARGS, NULL},
67286  { "IntExpr___neg__", _wrap_IntExpr___neg__, METH_VARARGS, NULL},
67287  { "IntExpr___abs__", _wrap_IntExpr___abs__, METH_VARARGS, NULL},
67288  { "IntExpr_Square", _wrap_IntExpr_Square, METH_VARARGS, NULL},
67289  { "IntExpr___eq__", _wrap_IntExpr___eq__, METH_VARARGS, NULL},
67290  { "IntExpr___ne__", _wrap_IntExpr___ne__, METH_VARARGS, NULL},
67291  { "IntExpr___ge__", _wrap_IntExpr___ge__, METH_VARARGS, NULL},
67292  { "IntExpr___gt__", _wrap_IntExpr___gt__, METH_VARARGS, NULL},
67293  { "IntExpr___le__", _wrap_IntExpr___le__, METH_VARARGS, NULL},
67294  { "IntExpr___lt__", _wrap_IntExpr___lt__, METH_VARARGS, NULL},
67295  { "IntExpr_MapTo", _wrap_IntExpr_MapTo, METH_VARARGS, NULL},
67296  { "IntExpr_IndexOf", _wrap_IntExpr_IndexOf, METH_VARARGS, NULL},
67297  { "IntExpr_IsMember", _wrap_IntExpr_IsMember, METH_VARARGS, NULL},
67298  { "IntExpr_Member", _wrap_IntExpr_Member, METH_VARARGS, NULL},
67299  { "IntExpr_NotMember", _wrap_IntExpr_NotMember, METH_VARARGS, NULL},
67300  { "IntExpr_swigregister", IntExpr_swigregister, METH_O, NULL},
67301  { "IntVarIterator_Init", _wrap_IntVarIterator_Init, METH_VARARGS, " This method must be called before each loop."},
67302  { "IntVarIterator_Ok", _wrap_IntVarIterator_Ok, METH_VARARGS, " This method indicates if we can call Value() or not."},
67303  { "IntVarIterator_Value", _wrap_IntVarIterator_Value, METH_VARARGS, " This method returns the current value of the iterator."},
67304  { "IntVarIterator_Next", _wrap_IntVarIterator_Next, METH_VARARGS, " This method moves the iterator to the next value."},
67305  { "IntVarIterator_DebugString", _wrap_IntVarIterator_DebugString, METH_VARARGS, " Pretty Print."},
67306  { "IntVarIterator_swigregister", IntVarIterator_swigregister, METH_O, NULL},
67307  { "IntVar_IsVar", _wrap_IntVar_IsVar, METH_VARARGS, NULL},
67308  { "IntVar_Var", _wrap_IntVar_Var, METH_VARARGS, NULL},
67309  { "IntVar_Value", _wrap_IntVar_Value, METH_VARARGS, " This method returns the value of the variable. This method checks before that the variable is bound."},
67310  { "IntVar_RemoveValue", _wrap_IntVar_RemoveValue, METH_VARARGS, " This method removes the value 'v' from the domain of the variable."},
67311  { "IntVar_RemoveInterval", _wrap_IntVar_RemoveInterval, METH_VARARGS, " This method removes the interval 'l' .. 'u' from the domain of the variable. It assumes that 'l' <= 'u'."},
67312  { "IntVar_RemoveValues", _wrap_IntVar_RemoveValues, METH_VARARGS, " This method remove the values from the domain of the variable."},
67313  { "IntVar_SetValues", _wrap_IntVar_SetValues, METH_VARARGS, " This method intersects the current domain with the values in the array."},
67314  { "IntVar_WhenBound", _wrap_IntVar_WhenBound, METH_VARARGS, "\n"
67315  "*Overload 1:*\n"
67316  "This method attaches a demon that will be awakened when the variable is bound.\n"
67317  "\n"
67318  "|\n"
67319  "\n"
67320  "*Overload 2:*\n"
67321  "This method attaches a closure that will be awakened when the variable is bound.\n"
67322  ""},
67323  { "IntVar_WhenDomain", _wrap_IntVar_WhenDomain, METH_VARARGS, "\n"
67324  "*Overload 1:*\n"
67325  "This method attaches a demon that will watch any domain modification of the domain of the variable.\n"
67326  "\n"
67327  "|\n"
67328  "\n"
67329  "*Overload 2:*\n"
67330  "This method attaches a closure that will watch any domain modification of the domain of the variable.\n"
67331  ""},
67332  { "IntVar_Size", _wrap_IntVar_Size, METH_VARARGS, " This method returns the number of values in the domain of the variable."},
67333  { "IntVar_Contains", _wrap_IntVar_Contains, METH_VARARGS, " This method returns whether the value 'v' is in the domain of the variable."},
67334  { "IntVar_HoleIteratorAux", _wrap_IntVar_HoleIteratorAux, METH_VARARGS, " Creates a hole iterator. When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object."},
67335  { "IntVar_DomainIteratorAux", _wrap_IntVar_DomainIteratorAux, METH_VARARGS, " Creates a domain iterator. When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object."},
67336  { "IntVar_OldMin", _wrap_IntVar_OldMin, METH_VARARGS, " Returns the previous min."},
67337  { "IntVar_OldMax", _wrap_IntVar_OldMax, METH_VARARGS, " Returns the previous max."},
67338  { "IntVar___repr__", _wrap_IntVar___repr__, METH_VARARGS, NULL},
67339  { "IntVar___str__", _wrap_IntVar___str__, METH_VARARGS, NULL},
67340  { "IntVar_swigregister", IntVar_swigregister, METH_O, NULL},
67341  { "SolutionCollector_DebugString", _wrap_SolutionCollector_DebugString, METH_VARARGS, NULL},
67342  { "SolutionCollector_Add", _wrap_SolutionCollector_Add, METH_VARARGS, NULL},
67343  { "SolutionCollector_AddObjective", _wrap_SolutionCollector_AddObjective, METH_VARARGS, NULL},
67344  { "SolutionCollector_EnterSearch", _wrap_SolutionCollector_EnterSearch, METH_VARARGS, " Beginning of the search."},
67345  { "SolutionCollector_SolutionCount", _wrap_SolutionCollector_SolutionCount, METH_VARARGS, " Returns how many solutions were stored during the search."},
67346  { "SolutionCollector_Solution", _wrap_SolutionCollector_Solution, METH_VARARGS, " Returns the nth solution."},
67347  { "SolutionCollector_WallTime", _wrap_SolutionCollector_WallTime, METH_VARARGS, " Returns the wall time in ms for the nth solution."},
67348  { "SolutionCollector_Branches", _wrap_SolutionCollector_Branches, METH_VARARGS, " Returns the number of branches when the nth solution was found."},
67349  { "SolutionCollector_Failures", _wrap_SolutionCollector_Failures, METH_VARARGS, " Returns the number of failures encountered at the time of the nth solution."},
67350  { "SolutionCollector_ObjectiveValue", _wrap_SolutionCollector_ObjectiveValue, METH_VARARGS, " Returns the objective value of the nth solution."},
67351  { "SolutionCollector_Value", _wrap_SolutionCollector_Value, METH_VARARGS, " This is a shortcut to get the Value of 'var' in the nth solution."},
67352  { "SolutionCollector_StartValue", _wrap_SolutionCollector_StartValue, METH_VARARGS, " This is a shortcut to get the StartValue of 'var' in the nth solution."},
67353  { "SolutionCollector_EndValue", _wrap_SolutionCollector_EndValue, METH_VARARGS, " This is a shortcut to get the EndValue of 'var' in the nth solution."},
67354  { "SolutionCollector_DurationValue", _wrap_SolutionCollector_DurationValue, METH_VARARGS, " This is a shortcut to get the DurationValue of 'var' in the nth solution."},
67355  { "SolutionCollector_PerformedValue", _wrap_SolutionCollector_PerformedValue, METH_VARARGS, " This is a shortcut to get the PerformedValue of 'var' in the nth solution."},
67356  { "SolutionCollector_ForwardSequence", _wrap_SolutionCollector_ForwardSequence, METH_VARARGS, " This is a shortcut to get the ForwardSequence of 'var' in the nth solution. The forward sequence is the list of ranked interval variables starting from the start of the sequence."},
67357  { "SolutionCollector_BackwardSequence", _wrap_SolutionCollector_BackwardSequence, METH_VARARGS, " This is a shortcut to get the BackwardSequence of 'var' in the nth solution. The backward sequence is the list of ranked interval variables starting from the end of the sequence."},
67358  { "SolutionCollector_Unperformed", _wrap_SolutionCollector_Unperformed, METH_VARARGS, " This is a shortcut to get the list of unperformed of 'var' in the nth solution."},
67359  { "SolutionCollector_swigregister", SolutionCollector_swigregister, METH_O, NULL},
67360  { "OptimizeVar_Best", _wrap_OptimizeVar_Best, METH_VARARGS, " Returns the best value found during search."},
67361  { "OptimizeVar_Var", _wrap_OptimizeVar_Var, METH_VARARGS, " Returns the variable that is optimized."},
67362  { "OptimizeVar_AcceptDelta", _wrap_OptimizeVar_AcceptDelta, METH_VARARGS, " Internal methods."},
67363  { "OptimizeVar_EnterSearch", _wrap_OptimizeVar_EnterSearch, METH_VARARGS, NULL},
67364  { "OptimizeVar_BeginNextDecision", _wrap_OptimizeVar_BeginNextDecision, METH_VARARGS, NULL},
67365  { "OptimizeVar_RefuteDecision", _wrap_OptimizeVar_RefuteDecision, METH_VARARGS, NULL},
67366  { "OptimizeVar_AtSolution", _wrap_OptimizeVar_AtSolution, METH_VARARGS, NULL},
67367  { "OptimizeVar_AcceptSolution", _wrap_OptimizeVar_AcceptSolution, METH_VARARGS, NULL},
67368  { "OptimizeVar_DebugString", _wrap_OptimizeVar_DebugString, METH_VARARGS, NULL},
67369  { "OptimizeVar_swigregister", OptimizeVar_swigregister, METH_O, NULL},
67370  { "delete_SearchLimit", _wrap_delete_SearchLimit, METH_VARARGS, NULL},
67371  { "SearchLimit_Crossed", _wrap_SearchLimit_Crossed, METH_VARARGS, " Returns true if the limit has been crossed."},
67372  { "SearchLimit_Check", _wrap_SearchLimit_Check, METH_VARARGS, " This method is called to check the status of the limit. A return value of true indicates that we have indeed crossed the limit. In that case, this method will not be called again and the remaining search will be discarded."},
67373  { "SearchLimit_Init", _wrap_SearchLimit_Init, METH_VARARGS, " This method is called when the search limit is initialized."},
67374  { "SearchLimit_EnterSearch", _wrap_SearchLimit_EnterSearch, METH_VARARGS, " Internal methods."},
67375  { "SearchLimit_BeginNextDecision", _wrap_SearchLimit_BeginNextDecision, METH_VARARGS, NULL},
67376  { "SearchLimit_RefuteDecision", _wrap_SearchLimit_RefuteDecision, METH_VARARGS, NULL},
67377  { "SearchLimit_DebugString", _wrap_SearchLimit_DebugString, METH_VARARGS, NULL},
67378  { "SearchLimit_swigregister", SearchLimit_swigregister, METH_O, NULL},
67379  { "IntervalVar_StartMin", _wrap_IntervalVar_StartMin, METH_VARARGS, " These methods query, set, and watch the start position of the interval var."},
67380  { "IntervalVar_StartMax", _wrap_IntervalVar_StartMax, METH_VARARGS, NULL},
67381  { "IntervalVar_SetStartMin", _wrap_IntervalVar_SetStartMin, METH_VARARGS, NULL},
67382  { "IntervalVar_SetStartMax", _wrap_IntervalVar_SetStartMax, METH_VARARGS, NULL},
67383  { "IntervalVar_SetStartRange", _wrap_IntervalVar_SetStartRange, METH_VARARGS, NULL},
67384  { "IntervalVar_OldStartMin", _wrap_IntervalVar_OldStartMin, METH_VARARGS, NULL},
67385  { "IntervalVar_OldStartMax", _wrap_IntervalVar_OldStartMax, METH_VARARGS, NULL},
67386  { "IntervalVar_WhenStartRange", _wrap_IntervalVar_WhenStartRange, METH_VARARGS, NULL},
67387  { "IntervalVar_WhenStartBound", _wrap_IntervalVar_WhenStartBound, METH_VARARGS, NULL},
67388  { "IntervalVar_DurationMin", _wrap_IntervalVar_DurationMin, METH_VARARGS, " These methods query, set, and watch the duration of the interval var."},
67389  { "IntervalVar_DurationMax", _wrap_IntervalVar_DurationMax, METH_VARARGS, NULL},
67390  { "IntervalVar_SetDurationMin", _wrap_IntervalVar_SetDurationMin, METH_VARARGS, NULL},
67391  { "IntervalVar_SetDurationMax", _wrap_IntervalVar_SetDurationMax, METH_VARARGS, NULL},
67392  { "IntervalVar_SetDurationRange", _wrap_IntervalVar_SetDurationRange, METH_VARARGS, NULL},
67393  { "IntervalVar_OldDurationMin", _wrap_IntervalVar_OldDurationMin, METH_VARARGS, NULL},
67394  { "IntervalVar_OldDurationMax", _wrap_IntervalVar_OldDurationMax, METH_VARARGS, NULL},
67395  { "IntervalVar_WhenDurationRange", _wrap_IntervalVar_WhenDurationRange, METH_VARARGS, NULL},
67396  { "IntervalVar_WhenDurationBound", _wrap_IntervalVar_WhenDurationBound, METH_VARARGS, NULL},
67397  { "IntervalVar_EndMin", _wrap_IntervalVar_EndMin, METH_VARARGS, " These methods query, set, and watch the end position of the interval var."},
67398  { "IntervalVar_EndMax", _wrap_IntervalVar_EndMax, METH_VARARGS, NULL},
67399  { "IntervalVar_SetEndMin", _wrap_IntervalVar_SetEndMin, METH_VARARGS, NULL},
67400  { "IntervalVar_SetEndMax", _wrap_IntervalVar_SetEndMax, METH_VARARGS, NULL},
67401  { "IntervalVar_SetEndRange", _wrap_IntervalVar_SetEndRange, METH_VARARGS, NULL},
67402  { "IntervalVar_OldEndMin", _wrap_IntervalVar_OldEndMin, METH_VARARGS, NULL},
67403  { "IntervalVar_OldEndMax", _wrap_IntervalVar_OldEndMax, METH_VARARGS, NULL},
67404  { "IntervalVar_WhenEndRange", _wrap_IntervalVar_WhenEndRange, METH_VARARGS, NULL},
67405  { "IntervalVar_WhenEndBound", _wrap_IntervalVar_WhenEndBound, METH_VARARGS, NULL},
67406  { "IntervalVar_MustBePerformed", _wrap_IntervalVar_MustBePerformed, METH_VARARGS, " These methods query, set, and watch the performed status of the interval var."},
67407  { "IntervalVar_MayBePerformed", _wrap_IntervalVar_MayBePerformed, METH_VARARGS, NULL},
67408  { "IntervalVar_CannotBePerformed", _wrap_IntervalVar_CannotBePerformed, METH_VARARGS, NULL},
67409  { "IntervalVar_IsPerformedBound", _wrap_IntervalVar_IsPerformedBound, METH_VARARGS, NULL},
67410  { "IntervalVar_SetPerformed", _wrap_IntervalVar_SetPerformed, METH_VARARGS, NULL},
67411  { "IntervalVar_WasPerformedBound", _wrap_IntervalVar_WasPerformedBound, METH_VARARGS, NULL},
67412  { "IntervalVar_WhenPerformedBound", _wrap_IntervalVar_WhenPerformedBound, METH_VARARGS, NULL},
67413  { "IntervalVar_WhenAnything", _wrap_IntervalVar_WhenAnything, METH_VARARGS, "\n"
67414  "*Overload 1:*\n"
67415  "Attaches a demon awakened when anything about this interval changes.\n"
67416  "\n"
67417  "|\n"
67418  "\n"
67419  "*Overload 2:*\n"
67420  "Attaches a closure awakened when anything about this interval changes.\n"
67421  ""},
67422  { "IntervalVar_StartExpr", _wrap_IntervalVar_StartExpr, METH_VARARGS, " These methods create expressions encapsulating the start, end and duration of the interval var. Please note that these must not be used if the interval var is unperformed."},
67423  { "IntervalVar_DurationExpr", _wrap_IntervalVar_DurationExpr, METH_VARARGS, NULL},
67424  { "IntervalVar_EndExpr", _wrap_IntervalVar_EndExpr, METH_VARARGS, NULL},
67425  { "IntervalVar_PerformedExpr", _wrap_IntervalVar_PerformedExpr, METH_VARARGS, NULL},
67426  { "IntervalVar_SafeStartExpr", _wrap_IntervalVar_SafeStartExpr, METH_VARARGS, " These methods create expressions encapsulating the start, end and duration of the interval var. If the interval var is unperformed, they will return the unperformed_value."},
67427  { "IntervalVar_SafeDurationExpr", _wrap_IntervalVar_SafeDurationExpr, METH_VARARGS, NULL},
67428  { "IntervalVar_SafeEndExpr", _wrap_IntervalVar_SafeEndExpr, METH_VARARGS, NULL},
67429  { "IntervalVar_EndsAfterEnd", _wrap_IntervalVar_EndsAfterEnd, METH_VARARGS, NULL},
67430  { "IntervalVar_EndsAfterEndWithDelay", _wrap_IntervalVar_EndsAfterEndWithDelay, METH_VARARGS, NULL},
67431  { "IntervalVar_EndsAfterStart", _wrap_IntervalVar_EndsAfterStart, METH_VARARGS, NULL},
67432  { "IntervalVar_EndsAfterStartWithDelay", _wrap_IntervalVar_EndsAfterStartWithDelay, METH_VARARGS, NULL},
67433  { "IntervalVar_EndsAtEnd", _wrap_IntervalVar_EndsAtEnd, METH_VARARGS, NULL},
67434  { "IntervalVar_EndsAtEndWithDelay", _wrap_IntervalVar_EndsAtEndWithDelay, METH_VARARGS, NULL},
67435  { "IntervalVar_EndsAtStart", _wrap_IntervalVar_EndsAtStart, METH_VARARGS, NULL},
67436  { "IntervalVar_EndsAtStartWithDelay", _wrap_IntervalVar_EndsAtStartWithDelay, METH_VARARGS, NULL},
67437  { "IntervalVar_StartsAfterEnd", _wrap_IntervalVar_StartsAfterEnd, METH_VARARGS, NULL},
67438  { "IntervalVar_StartsAfterEndWithDelay", _wrap_IntervalVar_StartsAfterEndWithDelay, METH_VARARGS, NULL},
67439  { "IntervalVar_StartsAfterStart", _wrap_IntervalVar_StartsAfterStart, METH_VARARGS, NULL},
67440  { "IntervalVar_StartsAfterStartWithDelay", _wrap_IntervalVar_StartsAfterStartWithDelay, METH_VARARGS, NULL},
67441  { "IntervalVar_StartsAtEnd", _wrap_IntervalVar_StartsAtEnd, METH_VARARGS, NULL},
67442  { "IntervalVar_StartsAtEndWithDelay", _wrap_IntervalVar_StartsAtEndWithDelay, METH_VARARGS, NULL},
67443  { "IntervalVar_StartsAtStart", _wrap_IntervalVar_StartsAtStart, METH_VARARGS, NULL},
67444  { "IntervalVar_StartsAtStartWithDelay", _wrap_IntervalVar_StartsAtStartWithDelay, METH_VARARGS, NULL},
67445  { "IntervalVar_StaysInSync", _wrap_IntervalVar_StaysInSync, METH_VARARGS, NULL},
67446  { "IntervalVar_StaysInSyncWithDelay", _wrap_IntervalVar_StaysInSyncWithDelay, METH_VARARGS, NULL},
67447  { "IntervalVar_EndsAfter", _wrap_IntervalVar_EndsAfter, METH_VARARGS, NULL},
67448  { "IntervalVar_EndsAt", _wrap_IntervalVar_EndsAt, METH_VARARGS, NULL},
67449  { "IntervalVar_EndsBefore", _wrap_IntervalVar_EndsBefore, METH_VARARGS, NULL},
67450  { "IntervalVar_StartsAfter", _wrap_IntervalVar_StartsAfter, METH_VARARGS, NULL},
67451  { "IntervalVar_StartsAt", _wrap_IntervalVar_StartsAt, METH_VARARGS, NULL},
67452  { "IntervalVar_StartsBefore", _wrap_IntervalVar_StartsBefore, METH_VARARGS, NULL},
67453  { "IntervalVar_CrossesDate", _wrap_IntervalVar_CrossesDate, METH_VARARGS, NULL},
67454  { "IntervalVar_AvoidsDate", _wrap_IntervalVar_AvoidsDate, METH_VARARGS, NULL},
67455  { "IntervalVar___repr__", _wrap_IntervalVar___repr__, METH_VARARGS, NULL},
67456  { "IntervalVar___str__", _wrap_IntervalVar___str__, METH_VARARGS, NULL},
67457  { "IntervalVar_swigregister", IntervalVar_swigregister, METH_O, NULL},
67458  { "SequenceVar_DebugString", _wrap_SequenceVar_DebugString, METH_VARARGS, NULL},
67459  { "SequenceVar_RankFirst", _wrap_SequenceVar_RankFirst, METH_VARARGS, " Ranks the index_th interval var first of all unranked interval vars. After that, it will no longer be considered ranked."},
67460  { "SequenceVar_RankNotFirst", _wrap_SequenceVar_RankNotFirst, METH_VARARGS, " Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars."},
67461  { "SequenceVar_RankLast", _wrap_SequenceVar_RankLast, METH_VARARGS, " Ranks the index_th interval var first of all unranked interval vars. After that, it will no longer be considered ranked."},
67462  { "SequenceVar_RankNotLast", _wrap_SequenceVar_RankNotLast, METH_VARARGS, " Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars."},
67463  { "SequenceVar_Interval", _wrap_SequenceVar_Interval, METH_VARARGS, " Returns the index_th interval of the sequence."},
67464  { "SequenceVar_Next", _wrap_SequenceVar_Next, METH_VARARGS, " Returns the next of the index_th interval of the sequence."},
67465  { "SequenceVar_Size", _wrap_SequenceVar_Size, METH_VARARGS, " Returns the number of interval vars in the sequence."},
67466  { "SequenceVar___repr__", _wrap_SequenceVar___repr__, METH_VARARGS, NULL},
67467  { "SequenceVar___str__", _wrap_SequenceVar___str__, METH_VARARGS, NULL},
67468  { "SequenceVar_swigregister", SequenceVar_swigregister, METH_O, NULL},
67469  { "AssignmentElement_Activate", _wrap_AssignmentElement_Activate, METH_VARARGS, NULL},
67470  { "AssignmentElement_Deactivate", _wrap_AssignmentElement_Deactivate, METH_VARARGS, NULL},
67471  { "AssignmentElement_Activated", _wrap_AssignmentElement_Activated, METH_VARARGS, NULL},
67472  { "delete_AssignmentElement", _wrap_delete_AssignmentElement, METH_VARARGS, NULL},
67473  { "AssignmentElement_swigregister", AssignmentElement_swigregister, METH_O, NULL},
67474  { "IntVarElement_Var", _wrap_IntVarElement_Var, METH_VARARGS, NULL},
67475  { "IntVarElement_Min", _wrap_IntVarElement_Min, METH_VARARGS, NULL},
67476  { "IntVarElement_SetMin", _wrap_IntVarElement_SetMin, METH_VARARGS, NULL},
67477  { "IntVarElement_Max", _wrap_IntVarElement_Max, METH_VARARGS, NULL},
67478  { "IntVarElement_SetMax", _wrap_IntVarElement_SetMax, METH_VARARGS, NULL},
67479  { "IntVarElement_Value", _wrap_IntVarElement_Value, METH_VARARGS, NULL},
67480  { "IntVarElement_Bound", _wrap_IntVarElement_Bound, METH_VARARGS, NULL},
67481  { "IntVarElement_SetRange", _wrap_IntVarElement_SetRange, METH_VARARGS, NULL},
67482  { "IntVarElement_SetValue", _wrap_IntVarElement_SetValue, METH_VARARGS, NULL},
67483  { "IntVarElement___eq__", _wrap_IntVarElement___eq__, METH_VARARGS, NULL},
67484  { "IntVarElement___ne__", _wrap_IntVarElement___ne__, METH_VARARGS, NULL},
67485  { "delete_IntVarElement", _wrap_delete_IntVarElement, METH_VARARGS, NULL},
67486  { "IntVarElement_swigregister", IntVarElement_swigregister, METH_O, NULL},
67487  { "IntervalVarElement_Var", _wrap_IntervalVarElement_Var, METH_VARARGS, NULL},
67488  { "IntervalVarElement_StartMin", _wrap_IntervalVarElement_StartMin, METH_VARARGS, NULL},
67489  { "IntervalVarElement_StartMax", _wrap_IntervalVarElement_StartMax, METH_VARARGS, NULL},
67490  { "IntervalVarElement_StartValue", _wrap_IntervalVarElement_StartValue, METH_VARARGS, NULL},
67491  { "IntervalVarElement_DurationMin", _wrap_IntervalVarElement_DurationMin, METH_VARARGS, NULL},
67492  { "IntervalVarElement_DurationMax", _wrap_IntervalVarElement_DurationMax, METH_VARARGS, NULL},
67493  { "IntervalVarElement_DurationValue", _wrap_IntervalVarElement_DurationValue, METH_VARARGS, NULL},
67494  { "IntervalVarElement_EndMin", _wrap_IntervalVarElement_EndMin, METH_VARARGS, NULL},
67495  { "IntervalVarElement_EndMax", _wrap_IntervalVarElement_EndMax, METH_VARARGS, NULL},
67496  { "IntervalVarElement_EndValue", _wrap_IntervalVarElement_EndValue, METH_VARARGS, NULL},
67497  { "IntervalVarElement_PerformedMin", _wrap_IntervalVarElement_PerformedMin, METH_VARARGS, NULL},
67498  { "IntervalVarElement_PerformedMax", _wrap_IntervalVarElement_PerformedMax, METH_VARARGS, NULL},
67499  { "IntervalVarElement_PerformedValue", _wrap_IntervalVarElement_PerformedValue, METH_VARARGS, NULL},
67500  { "IntervalVarElement_SetStartMin", _wrap_IntervalVarElement_SetStartMin, METH_VARARGS, NULL},
67501  { "IntervalVarElement_SetStartMax", _wrap_IntervalVarElement_SetStartMax, METH_VARARGS, NULL},
67502  { "IntervalVarElement_SetStartRange", _wrap_IntervalVarElement_SetStartRange, METH_VARARGS, NULL},
67503  { "IntervalVarElement_SetStartValue", _wrap_IntervalVarElement_SetStartValue, METH_VARARGS, NULL},
67504  { "IntervalVarElement_SetDurationMin", _wrap_IntervalVarElement_SetDurationMin, METH_VARARGS, NULL},
67505  { "IntervalVarElement_SetDurationMax", _wrap_IntervalVarElement_SetDurationMax, METH_VARARGS, NULL},
67506  { "IntervalVarElement_SetDurationRange", _wrap_IntervalVarElement_SetDurationRange, METH_VARARGS, NULL},
67507  { "IntervalVarElement_SetDurationValue", _wrap_IntervalVarElement_SetDurationValue, METH_VARARGS, NULL},
67508  { "IntervalVarElement_SetEndMin", _wrap_IntervalVarElement_SetEndMin, METH_VARARGS, NULL},
67509  { "IntervalVarElement_SetEndMax", _wrap_IntervalVarElement_SetEndMax, METH_VARARGS, NULL},
67510  { "IntervalVarElement_SetEndRange", _wrap_IntervalVarElement_SetEndRange, METH_VARARGS, NULL},
67511  { "IntervalVarElement_SetEndValue", _wrap_IntervalVarElement_SetEndValue, METH_VARARGS, NULL},
67512  { "IntervalVarElement_SetPerformedMin", _wrap_IntervalVarElement_SetPerformedMin, METH_VARARGS, NULL},
67513  { "IntervalVarElement_SetPerformedMax", _wrap_IntervalVarElement_SetPerformedMax, METH_VARARGS, NULL},
67514  { "IntervalVarElement_SetPerformedRange", _wrap_IntervalVarElement_SetPerformedRange, METH_VARARGS, NULL},
67515  { "IntervalVarElement_SetPerformedValue", _wrap_IntervalVarElement_SetPerformedValue, METH_VARARGS, NULL},
67516  { "IntervalVarElement___eq__", _wrap_IntervalVarElement___eq__, METH_VARARGS, NULL},
67517  { "IntervalVarElement___ne__", _wrap_IntervalVarElement___ne__, METH_VARARGS, NULL},
67518  { "delete_IntervalVarElement", _wrap_delete_IntervalVarElement, METH_VARARGS, NULL},
67519  { "IntervalVarElement_swigregister", IntervalVarElement_swigregister, METH_O, NULL},
67520  { "SequenceVarElement_Var", _wrap_SequenceVarElement_Var, METH_VARARGS, NULL},
67521  { "SequenceVarElement_ForwardSequence", _wrap_SequenceVarElement_ForwardSequence, METH_VARARGS, NULL},
67522  { "SequenceVarElement_BackwardSequence", _wrap_SequenceVarElement_BackwardSequence, METH_VARARGS, NULL},
67523  { "SequenceVarElement_Unperformed", _wrap_SequenceVarElement_Unperformed, METH_VARARGS, NULL},
67524  { "SequenceVarElement_SetSequence", _wrap_SequenceVarElement_SetSequence, METH_VARARGS, NULL},
67525  { "SequenceVarElement_SetForwardSequence", _wrap_SequenceVarElement_SetForwardSequence, METH_VARARGS, NULL},
67526  { "SequenceVarElement_SetBackwardSequence", _wrap_SequenceVarElement_SetBackwardSequence, METH_VARARGS, NULL},
67527  { "SequenceVarElement_SetUnperformed", _wrap_SequenceVarElement_SetUnperformed, METH_VARARGS, NULL},
67528  { "SequenceVarElement___eq__", _wrap_SequenceVarElement___eq__, METH_VARARGS, NULL},
67529  { "SequenceVarElement___ne__", _wrap_SequenceVarElement___ne__, METH_VARARGS, NULL},
67530  { "delete_SequenceVarElement", _wrap_delete_SequenceVarElement, METH_VARARGS, NULL},
67531  { "SequenceVarElement_swigregister", SequenceVarElement_swigregister, METH_O, NULL},
67532  { "Assignment_Clear", _wrap_Assignment_Clear, METH_VARARGS, NULL},
67533  { "Assignment_Empty", _wrap_Assignment_Empty, METH_VARARGS, NULL},
67534  { "Assignment_Size", _wrap_Assignment_Size, METH_VARARGS, NULL},
67535  { "Assignment_NumIntVars", _wrap_Assignment_NumIntVars, METH_VARARGS, NULL},
67536  { "Assignment_NumIntervalVars", _wrap_Assignment_NumIntervalVars, METH_VARARGS, NULL},
67537  { "Assignment_NumSequenceVars", _wrap_Assignment_NumSequenceVars, METH_VARARGS, NULL},
67538  { "Assignment_Store", _wrap_Assignment_Store, METH_VARARGS, NULL},
67539  { "Assignment_Restore", _wrap_Assignment_Restore, METH_VARARGS, NULL},
67540  { "Assignment_Load", _wrap_Assignment_Load, METH_VARARGS, " Loads an assignment from a file; does not add variables to the assignment (only the variables contained in the assignment are modified)."},
67541  { "Assignment_Save", _wrap_Assignment_Save, METH_VARARGS, " Saves the assignment to a file."},
67542  { "Assignment_AddObjective", _wrap_Assignment_AddObjective, METH_VARARGS, NULL},
67543  { "Assignment_Objective", _wrap_Assignment_Objective, METH_VARARGS, NULL},
67544  { "Assignment_HasObjective", _wrap_Assignment_HasObjective, METH_VARARGS, NULL},
67545  { "Assignment_ObjectiveMin", _wrap_Assignment_ObjectiveMin, METH_VARARGS, NULL},
67546  { "Assignment_ObjectiveMax", _wrap_Assignment_ObjectiveMax, METH_VARARGS, NULL},
67547  { "Assignment_ObjectiveValue", _wrap_Assignment_ObjectiveValue, METH_VARARGS, NULL},
67548  { "Assignment_ObjectiveBound", _wrap_Assignment_ObjectiveBound, METH_VARARGS, NULL},
67549  { "Assignment_SetObjectiveMin", _wrap_Assignment_SetObjectiveMin, METH_VARARGS, NULL},
67550  { "Assignment_SetObjectiveMax", _wrap_Assignment_SetObjectiveMax, METH_VARARGS, NULL},
67551  { "Assignment_SetObjectiveValue", _wrap_Assignment_SetObjectiveValue, METH_VARARGS, NULL},
67552  { "Assignment_SetObjectiveRange", _wrap_Assignment_SetObjectiveRange, METH_VARARGS, NULL},
67553  { "Assignment_Min", _wrap_Assignment_Min, METH_VARARGS, NULL},
67554  { "Assignment_Max", _wrap_Assignment_Max, METH_VARARGS, NULL},
67555  { "Assignment_Value", _wrap_Assignment_Value, METH_VARARGS, NULL},
67556  { "Assignment_Bound", _wrap_Assignment_Bound, METH_VARARGS, NULL},
67557  { "Assignment_SetMin", _wrap_Assignment_SetMin, METH_VARARGS, NULL},
67558  { "Assignment_SetMax", _wrap_Assignment_SetMax, METH_VARARGS, NULL},
67559  { "Assignment_SetRange", _wrap_Assignment_SetRange, METH_VARARGS, NULL},
67560  { "Assignment_SetValue", _wrap_Assignment_SetValue, METH_VARARGS, NULL},
67561  { "Assignment_StartMin", _wrap_Assignment_StartMin, METH_VARARGS, NULL},
67562  { "Assignment_StartMax", _wrap_Assignment_StartMax, METH_VARARGS, NULL},
67563  { "Assignment_StartValue", _wrap_Assignment_StartValue, METH_VARARGS, NULL},
67564  { "Assignment_DurationMin", _wrap_Assignment_DurationMin, METH_VARARGS, NULL},
67565  { "Assignment_DurationMax", _wrap_Assignment_DurationMax, METH_VARARGS, NULL},
67566  { "Assignment_DurationValue", _wrap_Assignment_DurationValue, METH_VARARGS, NULL},
67567  { "Assignment_EndMin", _wrap_Assignment_EndMin, METH_VARARGS, NULL},
67568  { "Assignment_EndMax", _wrap_Assignment_EndMax, METH_VARARGS, NULL},
67569  { "Assignment_EndValue", _wrap_Assignment_EndValue, METH_VARARGS, NULL},
67570  { "Assignment_PerformedMin", _wrap_Assignment_PerformedMin, METH_VARARGS, NULL},
67571  { "Assignment_PerformedMax", _wrap_Assignment_PerformedMax, METH_VARARGS, NULL},
67572  { "Assignment_PerformedValue", _wrap_Assignment_PerformedValue, METH_VARARGS, NULL},
67573  { "Assignment_SetStartMin", _wrap_Assignment_SetStartMin, METH_VARARGS, NULL},
67574  { "Assignment_SetStartMax", _wrap_Assignment_SetStartMax, METH_VARARGS, NULL},
67575  { "Assignment_SetStartRange", _wrap_Assignment_SetStartRange, METH_VARARGS, NULL},
67576  { "Assignment_SetStartValue", _wrap_Assignment_SetStartValue, METH_VARARGS, NULL},
67577  { "Assignment_SetDurationMin", _wrap_Assignment_SetDurationMin, METH_VARARGS, NULL},
67578  { "Assignment_SetDurationMax", _wrap_Assignment_SetDurationMax, METH_VARARGS, NULL},
67579  { "Assignment_SetDurationRange", _wrap_Assignment_SetDurationRange, METH_VARARGS, NULL},
67580  { "Assignment_SetDurationValue", _wrap_Assignment_SetDurationValue, METH_VARARGS, NULL},
67581  { "Assignment_SetEndMin", _wrap_Assignment_SetEndMin, METH_VARARGS, NULL},
67582  { "Assignment_SetEndMax", _wrap_Assignment_SetEndMax, METH_VARARGS, NULL},
67583  { "Assignment_SetEndRange", _wrap_Assignment_SetEndRange, METH_VARARGS, NULL},
67584  { "Assignment_SetEndValue", _wrap_Assignment_SetEndValue, METH_VARARGS, NULL},
67585  { "Assignment_SetPerformedMin", _wrap_Assignment_SetPerformedMin, METH_VARARGS, NULL},
67586  { "Assignment_SetPerformedMax", _wrap_Assignment_SetPerformedMax, METH_VARARGS, NULL},
67587  { "Assignment_SetPerformedRange", _wrap_Assignment_SetPerformedRange, METH_VARARGS, NULL},
67588  { "Assignment_SetPerformedValue", _wrap_Assignment_SetPerformedValue, METH_VARARGS, NULL},
67589  { "Assignment_Add", _wrap_Assignment_Add, METH_VARARGS, NULL},
67590  { "Assignment_ForwardSequence", _wrap_Assignment_ForwardSequence, METH_VARARGS, NULL},
67591  { "Assignment_BackwardSequence", _wrap_Assignment_BackwardSequence, METH_VARARGS, NULL},
67592  { "Assignment_Unperformed", _wrap_Assignment_Unperformed, METH_VARARGS, NULL},
67593  { "Assignment_SetSequence", _wrap_Assignment_SetSequence, METH_VARARGS, NULL},
67594  { "Assignment_SetForwardSequence", _wrap_Assignment_SetForwardSequence, METH_VARARGS, NULL},
67595  { "Assignment_SetBackwardSequence", _wrap_Assignment_SetBackwardSequence, METH_VARARGS, NULL},
67596  { "Assignment_SetUnperformed", _wrap_Assignment_SetUnperformed, METH_VARARGS, NULL},
67597  { "Assignment_Activate", _wrap_Assignment_Activate, METH_VARARGS, NULL},
67598  { "Assignment_Deactivate", _wrap_Assignment_Deactivate, METH_VARARGS, NULL},
67599  { "Assignment_Activated", _wrap_Assignment_Activated, METH_VARARGS, NULL},
67600  { "Assignment_DebugString", _wrap_Assignment_DebugString, METH_VARARGS, NULL},
67601  { "Assignment_IntVarContainer", _wrap_Assignment_IntVarContainer, METH_VARARGS, NULL},
67602  { "Assignment_MutableIntVarContainer", _wrap_Assignment_MutableIntVarContainer, METH_VARARGS, NULL},
67603  { "Assignment_IntervalVarContainer", _wrap_Assignment_IntervalVarContainer, METH_VARARGS, NULL},
67604  { "Assignment_MutableIntervalVarContainer", _wrap_Assignment_MutableIntervalVarContainer, METH_VARARGS, NULL},
67605  { "Assignment_SequenceVarContainer", _wrap_Assignment_SequenceVarContainer, METH_VARARGS, NULL},
67606  { "Assignment_MutableSequenceVarContainer", _wrap_Assignment_MutableSequenceVarContainer, METH_VARARGS, NULL},
67607  { "Assignment___eq__", _wrap_Assignment___eq__, METH_VARARGS, NULL},
67608  { "Assignment___ne__", _wrap_Assignment___ne__, METH_VARARGS, NULL},
67609  { "Assignment_swigregister", Assignment_swigregister, METH_O, NULL},
67610  { "__lshift__", _wrap___lshift__, METH_VARARGS, NULL},
67611  { "Pack_AddWeightedSumLessOrEqualConstantDimension", _wrap_Pack_AddWeightedSumLessOrEqualConstantDimension, METH_VARARGS, "\n"
67612  "*Overload 1:*\n"
67613  "Dimensions are additional constraints than can restrict what is possible with the pack constraint. It can be used to set capacity limits, to count objects per bin, to compute unassigned penalties... This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is less or equal 'bounds[b]'.\n"
67614  "\n"
67615  "|\n"
67616  "\n"
67617  "*Overload 2:*\n"
67618  "This dimension imposes that for all bins b, the weighted sum (weights->Run(i)) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. Ownership of the callback is transferred to the pack constraint.\n"
67619  "\n"
67620  "|\n"
67621  "\n"
67622  "*Overload 3:*\n"
67623  "This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b) of all objects i assigned to 'b' is less or equal to 'bounds[b]'. Ownership of the callback is transferred to the pack constraint.\n"
67624  ""},
67625  { "Pack_AddWeightedSumEqualVarDimension", _wrap_Pack_AddWeightedSumEqualVarDimension, METH_VARARGS, "\n"
67626  "*Overload 1:*\n"
67627  "This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned to 'b' is equal to loads[b].\n"
67628  "\n"
67629  "|\n"
67630  "\n"
67631  "*Overload 2:*\n"
67632  "This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b)) of all objects i assigned to 'b' is equal to loads[b].\n"
67633  ""},
67634  { "Pack_AddSumVariableWeightsLessOrEqualConstantDimension", _wrap_Pack_AddSumVariableWeightsLessOrEqualConstantDimension, METH_VARARGS, " This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i, b)) <= capacity[b] where is_assigned(i, b) is true if and only if item i is assigned to the bin b. This can be used to model shapes of items by linking variables of the same item on parallel dimensions with an allowed assignment constraint."},
67635  { "Pack_AddWeightedSumOfAssignedDimension", _wrap_Pack_AddWeightedSumOfAssignedDimension, METH_VARARGS, " This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin."},
67636  { "Pack_AddCountUsedBinDimension", _wrap_Pack_AddCountUsedBinDimension, METH_VARARGS, " This dimension links 'count_var' to the actual number of bins used in the pack."},
67637  { "Pack_AddCountAssignedItemsDimension", _wrap_Pack_AddCountAssignedItemsDimension, METH_VARARGS, " This dimension links 'count_var' to the actual number of items assigned to a bin in the pack."},
67638  { "Pack_Post", _wrap_Pack_Post, METH_VARARGS, NULL},
67639  { "Pack_InitialPropagateWrapper", _wrap_Pack_InitialPropagateWrapper, METH_VARARGS, NULL},
67640  { "Pack_DebugString", _wrap_Pack_DebugString, METH_VARARGS, NULL},
67641  { "Pack_swigregister", Pack_swigregister, METH_O, NULL},
67642  { "DisjunctiveConstraint_SequenceVar", _wrap_DisjunctiveConstraint_SequenceVar, METH_VARARGS, " Creates a sequence variable from the constraint."},
67643  { "DisjunctiveConstraint_SetTransitionTime", _wrap_DisjunctiveConstraint_SetTransitionTime, METH_VARARGS, " Add a transition time between intervals. It forces the distance between the end of interval a and start of interval b that follows it to be at least transition_time(a, b). This function must always return a positive or null value."},
67644  { "DisjunctiveConstraint_TransitionTime", _wrap_DisjunctiveConstraint_TransitionTime, METH_VARARGS, NULL},
67645  { "DisjunctiveConstraint_swigregister", DisjunctiveConstraint_swigregister, METH_O, NULL},
67646  { "new_RevInteger", _wrap_new_RevInteger, METH_VARARGS, NULL},
67647  { "RevInteger_Value", _wrap_RevInteger_Value, METH_VARARGS, NULL},
67648  { "RevInteger_SetValue", _wrap_RevInteger_SetValue, METH_VARARGS, NULL},
67649  { "delete_RevInteger", _wrap_delete_RevInteger, METH_VARARGS, NULL},
67650  { "RevInteger_swigregister", RevInteger_swigregister, METH_O, NULL},
67651  { "RevInteger_swiginit", RevInteger_swiginit, METH_VARARGS, NULL},
67652  { "new_NumericalRevInteger", _wrap_new_NumericalRevInteger, METH_VARARGS, NULL},
67653  { "NumericalRevInteger_Add", _wrap_NumericalRevInteger_Add, METH_VARARGS, NULL},
67654  { "NumericalRevInteger_Incr", _wrap_NumericalRevInteger_Incr, METH_VARARGS, NULL},
67655  { "NumericalRevInteger_Decr", _wrap_NumericalRevInteger_Decr, METH_VARARGS, NULL},
67656  { "delete_NumericalRevInteger", _wrap_delete_NumericalRevInteger, METH_VARARGS, NULL},
67657  { "NumericalRevInteger_swigregister", NumericalRevInteger_swigregister, METH_O, NULL},
67658  { "NumericalRevInteger_swiginit", NumericalRevInteger_swiginit, METH_VARARGS, NULL},
67659  { "new_RevBool", _wrap_new_RevBool, METH_VARARGS, NULL},
67660  { "RevBool_Value", _wrap_RevBool_Value, METH_VARARGS, NULL},
67661  { "RevBool_SetValue", _wrap_RevBool_SetValue, METH_VARARGS, NULL},
67662  { "delete_RevBool", _wrap_delete_RevBool, METH_VARARGS, NULL},
67663  { "RevBool_swigregister", RevBool_swigregister, METH_O, NULL},
67664  { "RevBool_swiginit", RevBool_swiginit, METH_VARARGS, NULL},
67665  { "IntVarContainer_Contains", _wrap_IntVarContainer_Contains, METH_VARARGS, NULL},
67666  { "IntVarContainer_Element", _wrap_IntVarContainer_Element, METH_VARARGS, NULL},
67667  { "IntVarContainer_Size", _wrap_IntVarContainer_Size, METH_VARARGS, NULL},
67668  { "IntVarContainer_Store", _wrap_IntVarContainer_Store, METH_VARARGS, NULL},
67669  { "IntVarContainer_Restore", _wrap_IntVarContainer_Restore, METH_VARARGS, NULL},
67670  { "IntVarContainer___eq__", _wrap_IntVarContainer___eq__, METH_VARARGS, " Returns true if this and 'container' both represent the same V* -> E map. Runs in linear time; requires that the == operator on the type E is well defined."},
67671  { "IntVarContainer___ne__", _wrap_IntVarContainer___ne__, METH_VARARGS, NULL},
67672  { "delete_IntVarContainer", _wrap_delete_IntVarContainer, METH_VARARGS, NULL},
67673  { "IntVarContainer_swigregister", IntVarContainer_swigregister, METH_O, NULL},
67674  { "IntervalVarContainer_Contains", _wrap_IntervalVarContainer_Contains, METH_VARARGS, NULL},
67675  { "IntervalVarContainer_Element", _wrap_IntervalVarContainer_Element, METH_VARARGS, NULL},
67676  { "IntervalVarContainer_Size", _wrap_IntervalVarContainer_Size, METH_VARARGS, NULL},
67677  { "IntervalVarContainer_Store", _wrap_IntervalVarContainer_Store, METH_VARARGS, NULL},
67678  { "IntervalVarContainer_Restore", _wrap_IntervalVarContainer_Restore, METH_VARARGS, NULL},
67679  { "IntervalVarContainer___eq__", _wrap_IntervalVarContainer___eq__, METH_VARARGS, " Returns true if this and 'container' both represent the same V* -> E map. Runs in linear time; requires that the == operator on the type E is well defined."},
67680  { "IntervalVarContainer___ne__", _wrap_IntervalVarContainer___ne__, METH_VARARGS, NULL},
67681  { "delete_IntervalVarContainer", _wrap_delete_IntervalVarContainer, METH_VARARGS, NULL},
67682  { "IntervalVarContainer_swigregister", IntervalVarContainer_swigregister, METH_O, NULL},
67683  { "SequenceVarContainer_Contains", _wrap_SequenceVarContainer_Contains, METH_VARARGS, NULL},
67684  { "SequenceVarContainer_Element", _wrap_SequenceVarContainer_Element, METH_VARARGS, NULL},
67685  { "SequenceVarContainer_Size", _wrap_SequenceVarContainer_Size, METH_VARARGS, NULL},
67686  { "SequenceVarContainer_Store", _wrap_SequenceVarContainer_Store, METH_VARARGS, NULL},
67687  { "SequenceVarContainer_Restore", _wrap_SequenceVarContainer_Restore, METH_VARARGS, NULL},
67688  { "SequenceVarContainer___eq__", _wrap_SequenceVarContainer___eq__, METH_VARARGS, " Returns true if this and 'container' both represent the same V* -> E map. Runs in linear time; requires that the == operator on the type E is well defined."},
67689  { "SequenceVarContainer___ne__", _wrap_SequenceVarContainer___ne__, METH_VARARGS, NULL},
67690  { "delete_SequenceVarContainer", _wrap_delete_SequenceVarContainer, METH_VARARGS, NULL},
67691  { "SequenceVarContainer_swigregister", SequenceVarContainer_swigregister, METH_O, NULL},
67692  { "LocalSearchOperator_NextNeighbor", _wrap_LocalSearchOperator_NextNeighbor, METH_VARARGS, NULL},
67693  { "LocalSearchOperator_Start", _wrap_LocalSearchOperator_Start, METH_VARARGS, NULL},
67694  { "disown_LocalSearchOperator", _wrap_disown_LocalSearchOperator, METH_VARARGS, NULL},
67695  { "LocalSearchOperator_swigregister", LocalSearchOperator_swigregister, METH_O, NULL},
67696  { "IntVarLocalSearchOperatorTemplate_Start", _wrap_IntVarLocalSearchOperatorTemplate_Start, METH_VARARGS, " This method should not be overridden. Override OnStart() instead which is called before exiting this method."},
67697  { "IntVarLocalSearchOperatorTemplate_IsIncremental", _wrap_IntVarLocalSearchOperatorTemplate_IsIncremental, METH_VARARGS, NULL},
67698  { "IntVarLocalSearchOperatorTemplate_Size", _wrap_IntVarLocalSearchOperatorTemplate_Size, METH_VARARGS, NULL},
67699  { "IntVarLocalSearchOperatorTemplate_Value", _wrap_IntVarLocalSearchOperatorTemplate_Value, METH_VARARGS, " Returns the value in the current assignment of the variable of given index."},
67700  { "IntVarLocalSearchOperatorTemplate_OldValue", _wrap_IntVarLocalSearchOperatorTemplate_OldValue, METH_VARARGS, NULL},
67701  { "IntVarLocalSearchOperatorTemplate_SetValue", _wrap_IntVarLocalSearchOperatorTemplate_SetValue, METH_VARARGS, NULL},
67702  { "IntVarLocalSearchOperatorTemplate_OnStart", _wrap_IntVarLocalSearchOperatorTemplate_OnStart, METH_VARARGS, " Called by Start() after synchronizing the operator with the current assignment. Should be overridden instead of Start() to avoid calling VarLocalSearchOperator::Start explicitly."},
67703  { "IntVarLocalSearchOperatorTemplate_swigregister", IntVarLocalSearchOperatorTemplate_swigregister, METH_O, NULL},
67704  { "new_IntVarLocalSearchOperator", _wrap_new_IntVarLocalSearchOperator, METH_VARARGS, NULL},
67705  { "delete_IntVarLocalSearchOperator", _wrap_delete_IntVarLocalSearchOperator, METH_VARARGS, NULL},
67706  { "IntVarLocalSearchOperator_NextNeighbor", _wrap_IntVarLocalSearchOperator_NextNeighbor, METH_VARARGS, " Redefines MakeNextNeighbor to export a simpler interface. The calls to ApplyChanges() and RevertChanges() are factored in this method, hiding both delta and deltadelta from subclasses which only need to override MakeOneNeighbor(). Therefore this method should not be overridden. Override MakeOneNeighbor() instead."},
67707  { "IntVarLocalSearchOperator_OneNeighbor", _wrap_IntVarLocalSearchOperator_OneNeighbor, METH_VARARGS, " Creates a new neighbor. It returns false when the neighborhood is completely explored. MakeNextNeighbor() in a subclass of IntVarLocalSearchOperator."},
67708  { "disown_IntVarLocalSearchOperator", _wrap_disown_IntVarLocalSearchOperator, METH_VARARGS, NULL},
67709  { "IntVarLocalSearchOperator_swigregister", IntVarLocalSearchOperator_swigregister, METH_O, NULL},
67710  { "IntVarLocalSearchOperator_swiginit", IntVarLocalSearchOperator_swiginit, METH_VARARGS, NULL},
67711  { "SequenceVarLocalSearchOperatorTemplate_Start", _wrap_SequenceVarLocalSearchOperatorTemplate_Start, METH_VARARGS, " This method should not be overridden. Override OnStart() instead which is called before exiting this method."},
67712  { "SequenceVarLocalSearchOperatorTemplate_IsIncremental", _wrap_SequenceVarLocalSearchOperatorTemplate_IsIncremental, METH_VARARGS, NULL},
67713  { "SequenceVarLocalSearchOperatorTemplate_Size", _wrap_SequenceVarLocalSearchOperatorTemplate_Size, METH_VARARGS, NULL},
67714  { "SequenceVarLocalSearchOperatorTemplate_Value", _wrap_SequenceVarLocalSearchOperatorTemplate_Value, METH_VARARGS, " Returns the value in the current assignment of the variable of given index."},
67715  { "SequenceVarLocalSearchOperatorTemplate_OldValue", _wrap_SequenceVarLocalSearchOperatorTemplate_OldValue, METH_VARARGS, NULL},
67716  { "SequenceVarLocalSearchOperatorTemplate_SetValue", _wrap_SequenceVarLocalSearchOperatorTemplate_SetValue, METH_VARARGS, NULL},
67717  { "SequenceVarLocalSearchOperatorTemplate_OnStart", _wrap_SequenceVarLocalSearchOperatorTemplate_OnStart, METH_VARARGS, " Called by Start() after synchronizing the operator with the current assignment. Should be overridden instead of Start() to avoid calling VarLocalSearchOperator::Start explicitly."},
67718  { "SequenceVarLocalSearchOperatorTemplate_swigregister", SequenceVarLocalSearchOperatorTemplate_swigregister, METH_O, NULL},
67719  { "SequenceVarLocalSearchOperator_swigregister", SequenceVarLocalSearchOperator_swigregister, METH_O, NULL},
67720  { "new_BaseLns", _wrap_new_BaseLns, METH_VARARGS, NULL},
67721  { "delete_BaseLns", _wrap_delete_BaseLns, METH_VARARGS, NULL},
67722  { "BaseLns_InitFragments", _wrap_BaseLns_InitFragments, METH_VARARGS, NULL},
67723  { "BaseLns_NextFragment", _wrap_BaseLns_NextFragment, METH_VARARGS, NULL},
67724  { "BaseLns_AppendToFragment", _wrap_BaseLns_AppendToFragment, METH_VARARGS, NULL},
67725  { "BaseLns_FragmentSize", _wrap_BaseLns_FragmentSize, METH_VARARGS, NULL},
67726  { "BaseLns___getitem__", _wrap_BaseLns___getitem__, METH_VARARGS, NULL},
67727  { "BaseLns___len__", _wrap_BaseLns___len__, METH_VARARGS, NULL},
67728  { "disown_BaseLns", _wrap_disown_BaseLns, METH_VARARGS, NULL},
67729  { "BaseLns_swigregister", BaseLns_swigregister, METH_O, NULL},
67730  { "BaseLns_swiginit", BaseLns_swiginit, METH_VARARGS, NULL},
67731  { "new_ChangeValue", _wrap_new_ChangeValue, METH_VARARGS, NULL},
67732  { "delete_ChangeValue", _wrap_delete_ChangeValue, METH_VARARGS, NULL},
67733  { "ChangeValue_ModifyValue", _wrap_ChangeValue_ModifyValue, METH_VARARGS, NULL},
67734  { "ChangeValue_OneNeighbor", _wrap_ChangeValue_OneNeighbor, METH_VARARGS, " This method should not be overridden. Override ModifyValue() instead."},
67735  { "disown_ChangeValue", _wrap_disown_ChangeValue, METH_VARARGS, NULL},
67736  { "ChangeValue_swigregister", ChangeValue_swigregister, METH_O, NULL},
67737  { "ChangeValue_swiginit", ChangeValue_swiginit, METH_VARARGS, NULL},
67738  { "PathOperator_Neighbor", _wrap_PathOperator_Neighbor, METH_VARARGS, NULL},
67739  { "PathOperator_swigregister", PathOperator_swigregister, METH_O, NULL},
67740  { "LocalSearchFilter_Accept", _wrap_LocalSearchFilter_Accept, METH_VARARGS, " Accepts a \"delta\" given the assignment with which the filter has been synchronized; the delta holds the variables which have been modified and their new value. If the filter represents a part of the global objective, its contribution must be between objective_min and objective_max. Sample: supposing one wants to maintain a[0,1] + b[0,1] <= 1, for the assignment (a,1), (b,0), the delta (b,1) will be rejected but the delta (a,0) will be accepted. TODO(user): Remove arguments when there are no more need for those."},
67741  { "LocalSearchFilter_IsIncremental", _wrap_LocalSearchFilter_IsIncremental, METH_VARARGS, NULL},
67742  { "LocalSearchFilter_Synchronize", _wrap_LocalSearchFilter_Synchronize, METH_VARARGS, " Synchronizes the filter with the current solution, delta being the difference with the solution passed to the previous call to Synchronize() or IncrementalSynchronize(). 'delta' can be used to incrementally synchronizing the filter with the new solution by only considering the changes in delta."},
67743  { "delete_LocalSearchFilter", _wrap_delete_LocalSearchFilter, METH_VARARGS, NULL},
67744  { "LocalSearchFilter_swigregister", LocalSearchFilter_swigregister, METH_O, NULL},
67745  { "LocalSearchFilterManager_DebugString", _wrap_LocalSearchFilterManager_DebugString, METH_VARARGS, NULL},
67746  { "new_LocalSearchFilterManager", _wrap_new_LocalSearchFilterManager, METH_VARARGS, NULL},
67747  { "LocalSearchFilterManager_Accept", _wrap_LocalSearchFilterManager_Accept, METH_VARARGS, " Returns true iff all filters return true, and the sum of their accepted objectives is between objective_min and objective_max. The monitor has its Begin/EndFiltering events triggered."},
67748  { "LocalSearchFilterManager_Synchronize", _wrap_LocalSearchFilterManager_Synchronize, METH_VARARGS, " Synchronizes all filters to assignment."},
67749  { "delete_LocalSearchFilterManager", _wrap_delete_LocalSearchFilterManager, METH_VARARGS, NULL},
67750  { "LocalSearchFilterManager_swigregister", LocalSearchFilterManager_swigregister, METH_O, NULL},
67751  { "LocalSearchFilterManager_swiginit", LocalSearchFilterManager_swiginit, METH_VARARGS, NULL},
67752  { "new_IntVarLocalSearchFilter", _wrap_new_IntVarLocalSearchFilter, METH_VARARGS, NULL},
67753  { "delete_IntVarLocalSearchFilter", _wrap_delete_IntVarLocalSearchFilter, METH_VARARGS, NULL},
67754  { "IntVarLocalSearchFilter_Synchronize", _wrap_IntVarLocalSearchFilter_Synchronize, METH_VARARGS, " This method should not be overridden. Override OnSynchronize() instead which is called before exiting this method."},
67755  { "IntVarLocalSearchFilter_Size", _wrap_IntVarLocalSearchFilter_Size, METH_VARARGS, NULL},
67756  { "IntVarLocalSearchFilter_Value", _wrap_IntVarLocalSearchFilter_Value, METH_VARARGS, NULL},
67757  { "IntVarLocalSearchFilter_IndexFromVar", _wrap_IntVarLocalSearchFilter_IndexFromVar, METH_VARARGS, NULL},
67758  { "disown_IntVarLocalSearchFilter", _wrap_disown_IntVarLocalSearchFilter, METH_VARARGS, NULL},
67759  { "IntVarLocalSearchFilter_swigregister", IntVarLocalSearchFilter_swigregister, METH_O, NULL},
67760  { "IntVarLocalSearchFilter_swiginit", IntVarLocalSearchFilter_swiginit, METH_VARARGS, NULL},
67761  { "BooleanVar_Min", _wrap_BooleanVar_Min, METH_VARARGS, NULL},
67762  { "BooleanVar_SetMin", _wrap_BooleanVar_SetMin, METH_VARARGS, NULL},
67763  { "BooleanVar_Max", _wrap_BooleanVar_Max, METH_VARARGS, NULL},
67764  { "BooleanVar_SetMax", _wrap_BooleanVar_SetMax, METH_VARARGS, NULL},
67765  { "BooleanVar_SetRange", _wrap_BooleanVar_SetRange, METH_VARARGS, NULL},
67766  { "BooleanVar_Bound", _wrap_BooleanVar_Bound, METH_VARARGS, NULL},
67767  { "BooleanVar_Value", _wrap_BooleanVar_Value, METH_VARARGS, NULL},
67768  { "BooleanVar_RemoveValue", _wrap_BooleanVar_RemoveValue, METH_VARARGS, NULL},
67769  { "BooleanVar_RemoveInterval", _wrap_BooleanVar_RemoveInterval, METH_VARARGS, NULL},
67770  { "BooleanVar_WhenBound", _wrap_BooleanVar_WhenBound, METH_VARARGS, NULL},
67771  { "BooleanVar_WhenRange", _wrap_BooleanVar_WhenRange, METH_VARARGS, NULL},
67772  { "BooleanVar_WhenDomain", _wrap_BooleanVar_WhenDomain, METH_VARARGS, NULL},
67773  { "BooleanVar_Size", _wrap_BooleanVar_Size, METH_VARARGS, NULL},
67774  { "BooleanVar_Contains", _wrap_BooleanVar_Contains, METH_VARARGS, NULL},
67775  { "BooleanVar_HoleIteratorAux", _wrap_BooleanVar_HoleIteratorAux, METH_VARARGS, NULL},
67776  { "BooleanVar_DomainIteratorAux", _wrap_BooleanVar_DomainIteratorAux, METH_VARARGS, NULL},
67777  { "BooleanVar_DebugString", _wrap_BooleanVar_DebugString, METH_VARARGS, NULL},
67778  { "BooleanVar_swigregister", BooleanVar_swigregister, METH_O, NULL},
67779  { "new_RoutingIndexManager", _wrap_new_RoutingIndexManager, METH_VARARGS, " Creates a NodeIndex to variable index mapping for a problem containing 'num_nodes', 'num_vehicles' and the given starts and ends for each vehicle. If used, any start/end arrays have to have exactly 'num_vehicles' elements."},
67780  { "delete_RoutingIndexManager", _wrap_delete_RoutingIndexManager, METH_VARARGS, NULL},
67781  { "RoutingIndexManager_GetNumberOfNodes", _wrap_RoutingIndexManager_GetNumberOfNodes, METH_VARARGS, NULL},
67782  { "RoutingIndexManager_GetNumberOfVehicles", _wrap_RoutingIndexManager_GetNumberOfVehicles, METH_VARARGS, NULL},
67783  { "RoutingIndexManager_GetNumberOfIndices", _wrap_RoutingIndexManager_GetNumberOfIndices, METH_VARARGS, NULL},
67784  { "RoutingIndexManager_GetStartIndex", _wrap_RoutingIndexManager_GetStartIndex, METH_VARARGS, NULL},
67785  { "RoutingIndexManager_GetEndIndex", _wrap_RoutingIndexManager_GetEndIndex, METH_VARARGS, NULL},
67786  { "RoutingIndexManager_NodeToIndex", _wrap_RoutingIndexManager_NodeToIndex, METH_VARARGS, NULL},
67787  { "RoutingIndexManager_IndexToNode", _wrap_RoutingIndexManager_IndexToNode, METH_VARARGS, NULL},
67788  { "RoutingIndexManager_swigregister", RoutingIndexManager_swigregister, METH_O, NULL},
67789  { "RoutingIndexManager_swiginit", RoutingIndexManager_swiginit, METH_VARARGS, NULL},
67790  { "DefaultRoutingModelParameters", _wrap_DefaultRoutingModelParameters, METH_VARARGS, NULL},
67791  { "DefaultRoutingSearchParameters", _wrap_DefaultRoutingSearchParameters, METH_VARARGS, NULL},
67792  { "FindErrorInRoutingSearchParameters", _wrap_FindErrorInRoutingSearchParameters, METH_VARARGS, " Returns an empty std::string if the routing search parameters are valid, and a non-empty, human readable error description if they're not."},
67793  { "new_RoutingModel", _wrap_new_RoutingModel, METH_VARARGS, " Constructor taking an index manager. The version which does not take RoutingModelParameters is equivalent to passing DefaultRoutingModelParameters()."},
67794  { "delete_RoutingModel", _wrap_delete_RoutingModel, METH_VARARGS, NULL},
67795  { "RoutingModel_RegisterUnaryTransitVector", _wrap_RoutingModel_RegisterUnaryTransitVector, METH_VARARGS, " Registers 'callback' and returns its index."},
67796  { "RoutingModel_RegisterUnaryTransitCallback", _wrap_RoutingModel_RegisterUnaryTransitCallback, METH_VARARGS, NULL},
67797  { "RoutingModel_RegisterPositiveUnaryTransitCallback", _wrap_RoutingModel_RegisterPositiveUnaryTransitCallback, METH_VARARGS, NULL},
67798  { "RoutingModel_RegisterTransitMatrix", _wrap_RoutingModel_RegisterTransitMatrix, METH_VARARGS, NULL},
67799  { "RoutingModel_RegisterTransitCallback", _wrap_RoutingModel_RegisterTransitCallback, METH_VARARGS, NULL},
67800  { "RoutingModel_RegisterPositiveTransitCallback", _wrap_RoutingModel_RegisterPositiveTransitCallback, METH_VARARGS, NULL},
67801  { "RoutingModel_TransitCallback", _wrap_RoutingModel_TransitCallback, METH_VARARGS, NULL},
67802  { "RoutingModel_UnaryTransitCallbackOrNull", _wrap_RoutingModel_UnaryTransitCallbackOrNull, METH_VARARGS, NULL},
67803  { "RoutingModel_AddDimension", _wrap_RoutingModel_AddDimension, METH_VARARGS, " Model creation Methods to add dimensions to routes; dimensions represent quantities accumulated at nodes along the routes. They represent quantities such as weights or volumes carried along the route, or distance or times. Quantities at a node are represented by \"cumul\" variables and the increase or decrease of quantities between nodes are represented by \"transit\" variables. These variables are linked as follows: if j == next(i), cumul(j) = cumul(i) + transit(i) + slack(i) where slack is a positive slack variable (can represent waiting times for a time dimension). Setting the value of fix_start_cumul_to_zero to true will force the \"cumul\" variable of the start node of all vehicles to be equal to 0. Creates a dimension where the transit variable is constrained to be equal to evaluator(i, next(i)); 'slack_max' is the upper bound of the slack variable and 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns false if a dimension with the same name has already been created (and doesn't create the new dimension). Takes ownership of the callback 'evaluator'."},
67804  { "RoutingModel_AddDimensionWithVehicleTransits", _wrap_RoutingModel_AddDimensionWithVehicleTransits, METH_VARARGS, NULL},
67805  { "RoutingModel_AddDimensionWithVehicleCapacity", _wrap_RoutingModel_AddDimensionWithVehicleCapacity, METH_VARARGS, NULL},
67806  { "RoutingModel_AddDimensionWithVehicleTransitAndCapacity", _wrap_RoutingModel_AddDimensionWithVehicleTransitAndCapacity, METH_VARARGS, NULL},
67807  { "RoutingModel_AddConstantDimensionWithSlack", _wrap_RoutingModel_AddConstantDimensionWithSlack, METH_VARARGS, " Creates a dimension where the transit variable is constrained to be equal to 'value'; 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered unary transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback)."},
67808  { "RoutingModel_AddConstantDimension", _wrap_RoutingModel_AddConstantDimension, METH_VARARGS, NULL},
67809  { "RoutingModel_AddVectorDimension", _wrap_RoutingModel_AddVectorDimension, METH_VARARGS, " Creates a dimension where the transit variable is constrained to be equal to 'values[i]' for node i; 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered unary transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback)."},
67810  { "RoutingModel_AddMatrixDimension", _wrap_RoutingModel_AddMatrixDimension, METH_VARARGS, " Creates a dimension where the transit variable is constrained to be equal to 'values[i][next(i)]' for node i; 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback)."},
67811  { "RoutingModel_MakePathSpansAndTotalSlacks", _wrap_RoutingModel_MakePathSpansAndTotalSlacks, METH_VARARGS, " For every vehicle of the routing model: - if total_slacks[vehicle] is not nullptr, constrains it to be the sum of slacks on that vehicle, that is, dimension->CumulVar(end) - dimension->CumulVar(start) - sum_{node in path of vehicle} dimension->FixedTransitVar(node). - if spans[vehicle] is not nullptr, constrains it to be dimension->CumulVar(end) - dimension->CumulVar(start) This does stronger propagation than a decomposition, and takes breaks into account."},
67812  { "RoutingModel_GetAllDimensionNames", _wrap_RoutingModel_GetAllDimensionNames, METH_VARARGS, " Outputs the names of all dimensions added to the routing engine."},
67813  { "RoutingModel_GetDimensions", _wrap_RoutingModel_GetDimensions, METH_VARARGS, " Returns all dimensions of the model."},
67814  { "RoutingModel_GetDimensionsWithSoftOrSpanCosts", _wrap_RoutingModel_GetDimensionsWithSoftOrSpanCosts, METH_VARARGS, " Returns dimensions with soft or vehicle span costs."},
67815  { "RoutingModel_GetGlobalDimensionCumulOptimizers", _wrap_RoutingModel_GetGlobalDimensionCumulOptimizers, METH_VARARGS, " Returns [global|local]_dimension_optimizers_, which are empty if the model has not been closed."},
67816  { "RoutingModel_GetGlobalDimensionCumulMPOptimizers", _wrap_RoutingModel_GetGlobalDimensionCumulMPOptimizers, METH_VARARGS, NULL},
67817  { "RoutingModel_GetLocalDimensionCumulOptimizers", _wrap_RoutingModel_GetLocalDimensionCumulOptimizers, METH_VARARGS, NULL},
67818  { "RoutingModel_GetLocalDimensionCumulMPOptimizers", _wrap_RoutingModel_GetLocalDimensionCumulMPOptimizers, METH_VARARGS, NULL},
67819  { "RoutingModel_GetMutableGlobalCumulOptimizer", _wrap_RoutingModel_GetMutableGlobalCumulOptimizer, METH_VARARGS, " Returns the global/local dimension cumul optimizer for a given dimension, or nullptr if there is none."},
67820  { "RoutingModel_GetMutableGlobalCumulMPOptimizer", _wrap_RoutingModel_GetMutableGlobalCumulMPOptimizer, METH_VARARGS, NULL},
67821  { "RoutingModel_GetMutableLocalCumulOptimizer", _wrap_RoutingModel_GetMutableLocalCumulOptimizer, METH_VARARGS, NULL},
67822  { "RoutingModel_GetMutableLocalCumulMPOptimizer", _wrap_RoutingModel_GetMutableLocalCumulMPOptimizer, METH_VARARGS, NULL},
67823  { "RoutingModel_HasDimension", _wrap_RoutingModel_HasDimension, METH_VARARGS, " Returns true if a dimension exists for a given dimension name."},
67824  { "RoutingModel_GetDimensionOrDie", _wrap_RoutingModel_GetDimensionOrDie, METH_VARARGS, " Returns a dimension from its name. Dies if the dimension does not exist."},
67825  { "RoutingModel_GetMutableDimension", _wrap_RoutingModel_GetMutableDimension, METH_VARARGS, " Returns a dimension from its name. Returns nullptr if the dimension does not exist."},
67826  { "RoutingModel_SetPrimaryConstrainedDimension", _wrap_RoutingModel_SetPrimaryConstrainedDimension, METH_VARARGS, " Set the given dimension as \"primary constrained\". As of August 2013, this is only used by ArcIsMoreConstrainedThanArc(). \"dimension\" must be the name of an existing dimension, or be empty, in which case there will not be a primary dimension after this call."},
67827  { "RoutingModel_GetPrimaryConstrainedDimension", _wrap_RoutingModel_GetPrimaryConstrainedDimension, METH_VARARGS, " Get the primary constrained dimension, or an empty string if it is unset."},
67828  { "RoutingModel_GetDimensionResourceGroupIndices", _wrap_RoutingModel_GetDimensionResourceGroupIndices, METH_VARARGS, " Returns the indices of resource groups for this dimension. This method can only be called after the model has been closed."},
67829  { "RoutingModel_AddDisjunction", _wrap_RoutingModel_AddDisjunction, METH_VARARGS, " Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active. Start and end indices of any vehicle cannot be part of a disjunction. If a penalty is given, at most 'max_cardinality' of the indices can be active, and if less are active, 'penalty' is payed per inactive index. This is equivalent to adding the constraint: p + Sum(i)active[i] == max_cardinality where p is an integer variable, and the following cost to the cost function: p * penalty. 'penalty' must be positive to make the disjunction optional; a negative penalty will force 'max_cardinality' indices of the disjunction to be performed, and therefore p == 0. Note: passing a vector with a single index will model an optional index with a penalty cost if it is not visited."},
67830  { "RoutingModel_GetDisjunctionIndices", _wrap_RoutingModel_GetDisjunctionIndices, METH_VARARGS, " Returns the indices of the disjunctions to which an index belongs."},
67831  { "RoutingModel_GetDisjunctionPenalty", _wrap_RoutingModel_GetDisjunctionPenalty, METH_VARARGS, " Returns the penalty of the node disjunction of index 'index'."},
67832  { "RoutingModel_GetDisjunctionMaxCardinality", _wrap_RoutingModel_GetDisjunctionMaxCardinality, METH_VARARGS, " Returns the maximum number of possible active nodes of the node disjunction of index 'index'."},
67833  { "RoutingModel_GetNumberOfDisjunctions", _wrap_RoutingModel_GetNumberOfDisjunctions, METH_VARARGS, " Returns the number of node disjunctions in the model."},
67834  { "RoutingModel_GetPerfectBinaryDisjunctions", _wrap_RoutingModel_GetPerfectBinaryDisjunctions, METH_VARARGS, " Returns the list of all perfect binary disjunctions, as pairs of variable indices: a disjunction is \"perfect\" when its variables do not appear in any other disjunction. Each pair is sorted (lowest variable index first), and the output vector is also sorted (lowest pairs first)."},
67835  { "RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero", _wrap_RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero, METH_VARARGS, " SPECIAL: Makes the solver ignore all the disjunctions whose active variables are all trivially zero (i.e. Max() == 0), by setting their max_cardinality to 0. This can be useful when using the BaseBinaryDisjunctionNeighborhood operators, in the context of arc-based routing."},
67836  { "RoutingModel_AddSoftSameVehicleConstraint", _wrap_RoutingModel_AddSoftSameVehicleConstraint, METH_VARARGS, " Adds a soft constraint to force a set of variable indices to be on the same vehicle. If all nodes are not on the same vehicle, each extra vehicle used adds 'cost' to the cost function."},
67837  { "RoutingModel_SetAllowedVehiclesForIndex", _wrap_RoutingModel_SetAllowedVehiclesForIndex, METH_VARARGS, " Sets the vehicles which can visit a given node. If the node is in a disjunction, this will not prevent it from being unperformed. Specifying an empty vector of vehicles has no effect (all vehicles will be allowed to visit the node)."},
67838  { "RoutingModel_IsVehicleAllowedForIndex", _wrap_RoutingModel_IsVehicleAllowedForIndex, METH_VARARGS, " Returns true if a vehicle is allowed to visit a given node."},
67839  { "RoutingModel_AddPickupAndDelivery", _wrap_RoutingModel_AddPickupAndDelivery, METH_VARARGS, " Notifies that index1 and index2 form a pair of nodes which should belong to the same route. This methods helps the search find better solutions, especially in the local search phase. It should be called each time you have an equality constraint linking the vehicle variables of two node (including for instance pickup and delivery problems): Solver* const solver = routing.solver(); int64_t index1 = manager.NodeToIndex(node1); int64_t index2 = manager.NodeToIndex(node2); solver->AddConstraint(solver->MakeEquality( routing.VehicleVar(index1), routing.VehicleVar(index2))); routing.AddPickupAndDelivery(index1, index2);"},
67840  { "RoutingModel_AddPickupAndDeliverySets", _wrap_RoutingModel_AddPickupAndDeliverySets, METH_VARARGS, " Same as AddPickupAndDelivery but notifying that the performed node from the disjunction of index 'pickup_disjunction' is on the same route as the performed node from the disjunction of index 'delivery_disjunction'."},
67841  { "RoutingModel_GetPickupIndexPairs", _wrap_RoutingModel_GetPickupIndexPairs, METH_VARARGS, " Returns pairs for which the node is a pickup; the first element of each pair is the index in the pickup and delivery pairs list in which the pickup appears, the second element is its index in the pickups list."},
67842  { "RoutingModel_GetDeliveryIndexPairs", _wrap_RoutingModel_GetDeliveryIndexPairs, METH_VARARGS, " Same as above for deliveries."},
67843  { "RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles", _wrap_RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles, METH_VARARGS, " Sets the Pickup and delivery policy of all vehicles. It is equivalent to calling SetPickupAndDeliveryPolicyOfVehicle on all vehicles."},
67844  { "RoutingModel_SetPickupAndDeliveryPolicyOfVehicle", _wrap_RoutingModel_SetPickupAndDeliveryPolicyOfVehicle, METH_VARARGS, NULL},
67845  { "RoutingModel_GetPickupAndDeliveryPolicyOfVehicle", _wrap_RoutingModel_GetPickupAndDeliveryPolicyOfVehicle, METH_VARARGS, NULL},
67846  { "RoutingModel_GetNumOfSingletonNodes", _wrap_RoutingModel_GetNumOfSingletonNodes, METH_VARARGS, " Returns the number of non-start/end nodes which do not appear in a pickup/delivery pair."},
67847  { "RoutingModel_SetVisitType", _wrap_RoutingModel_SetVisitType, METH_VARARGS, NULL},
67848  { "RoutingModel_GetVisitType", _wrap_RoutingModel_GetVisitType, METH_VARARGS, NULL},
67849  { "RoutingModel_GetSingleNodesOfType", _wrap_RoutingModel_GetSingleNodesOfType, METH_VARARGS, NULL},
67850  { "RoutingModel_GetPairIndicesOfType", _wrap_RoutingModel_GetPairIndicesOfType, METH_VARARGS, NULL},
67851  { "RoutingModel_GetVisitTypePolicy", _wrap_RoutingModel_GetVisitTypePolicy, METH_VARARGS, NULL},
67852  { "RoutingModel_CloseVisitTypes", _wrap_RoutingModel_CloseVisitTypes, METH_VARARGS, " This function should be called once all node visit types have been set and prior to adding any incompatibilities/requirements. \"close\" types."},
67853  { "RoutingModel_GetNumberOfVisitTypes", _wrap_RoutingModel_GetNumberOfVisitTypes, METH_VARARGS, NULL},
67854  { "RoutingModel_AddHardTypeIncompatibility", _wrap_RoutingModel_AddHardTypeIncompatibility, METH_VARARGS, " Incompatibilities: Two nodes with \"hard\" incompatible types cannot share the same route at all, while with a \"temporal\" incompatibility they can't be on the same route at the same time."},
67855  { "RoutingModel_AddTemporalTypeIncompatibility", _wrap_RoutingModel_AddTemporalTypeIncompatibility, METH_VARARGS, NULL},
67856  { "RoutingModel_GetHardTypeIncompatibilitiesOfType", _wrap_RoutingModel_GetHardTypeIncompatibilitiesOfType, METH_VARARGS, " Returns visit types incompatible with a given type."},
67857  { "RoutingModel_GetTemporalTypeIncompatibilitiesOfType", _wrap_RoutingModel_GetTemporalTypeIncompatibilitiesOfType, METH_VARARGS, NULL},
67858  { "RoutingModel_HasHardTypeIncompatibilities", _wrap_RoutingModel_HasHardTypeIncompatibilities, METH_VARARGS, " Returns true iff any hard (resp. temporal) type incompatibilities have been added to the model."},
67859  { "RoutingModel_HasTemporalTypeIncompatibilities", _wrap_RoutingModel_HasTemporalTypeIncompatibilities, METH_VARARGS, NULL},
67860  { "RoutingModel_AddSameVehicleRequiredTypeAlternatives", _wrap_RoutingModel_AddSameVehicleRequiredTypeAlternatives, METH_VARARGS, " Requirements: NOTE: As of 2019-04, cycles in the requirement graph are not supported, and lead to the dependent nodes being skipped if possible (otherwise the model is considered infeasible). The following functions specify that \"dependent_type\" requires at least one of the types in \"required_type_alternatives\". For same-vehicle requirements, a node of dependent type type_D requires at least one node of type type_R among the required alternatives on the same route."},
67861  { "RoutingModel_AddRequiredTypeAlternativesWhenAddingType", _wrap_RoutingModel_AddRequiredTypeAlternativesWhenAddingType, METH_VARARGS, " If type_D depends on type_R when adding type_D, any node_D of type_D and VisitTypePolicy TYPE_ADDED_TO_VEHICLE or TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED requires at least one type_R on its vehicle at the time node_D is visited."},
67862  { "RoutingModel_AddRequiredTypeAlternativesWhenRemovingType", _wrap_RoutingModel_AddRequiredTypeAlternativesWhenRemovingType, METH_VARARGS, " The following requirements apply when visiting dependent nodes that remove their type from the route, i.e. type_R must be on the vehicle when type_D of VisitTypePolicy ADDED_TYPE_REMOVED_FROM_VEHICLE, TYPE_ON_VEHICLE_UP_TO_VISIT or TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED is visited."},
67863  { "RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType", _wrap_RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType, METH_VARARGS, " Returns the set of same-vehicle requirement alternatives for the given type."},
67864  { "RoutingModel_GetRequiredTypeAlternativesWhenAddingType", _wrap_RoutingModel_GetRequiredTypeAlternativesWhenAddingType, METH_VARARGS, " Returns the set of requirement alternatives when adding the given type."},
67865  { "RoutingModel_GetRequiredTypeAlternativesWhenRemovingType", _wrap_RoutingModel_GetRequiredTypeAlternativesWhenRemovingType, METH_VARARGS, " Returns the set of requirement alternatives when removing the given type."},
67866  { "RoutingModel_HasSameVehicleTypeRequirements", _wrap_RoutingModel_HasSameVehicleTypeRequirements, METH_VARARGS, " Returns true iff any same-route (resp. temporal) type requirements have been added to the model."},
67867  { "RoutingModel_HasTemporalTypeRequirements", _wrap_RoutingModel_HasTemporalTypeRequirements, METH_VARARGS, NULL},
67868  { "RoutingModel_HasTypeRegulations", _wrap_RoutingModel_HasTypeRegulations, METH_VARARGS, " Returns true iff the model has any incompatibilities or requirements set on node types."},
67869  { "RoutingModel_UnperformedPenalty", _wrap_RoutingModel_UnperformedPenalty, METH_VARARGS, " Get the \"unperformed\" penalty of a node. This is only well defined if the node is only part of a single Disjunction, and that disjunction has a penalty. For forced active nodes returns max int64_t. In all other cases, this returns 0."},
67870  { "RoutingModel_UnperformedPenaltyOrValue", _wrap_RoutingModel_UnperformedPenaltyOrValue, METH_VARARGS, " Same as above except that it returns default_value instead of 0 when penalty is not well defined (default value is passed as first argument to simplify the usage of the method in a callback)."},
67871  { "RoutingModel_GetDepot", _wrap_RoutingModel_GetDepot, METH_VARARGS, " Returns the variable index of the first starting or ending node of all routes. If all routes start and end at the same node (single depot), this is the node returned."},
67872  { "RoutingModel_SetMaximumNumberOfActiveVehicles", _wrap_RoutingModel_SetMaximumNumberOfActiveVehicles, METH_VARARGS, " Constrains the maximum number of active vehicles, aka the number of vehicles which do not have an empty route. For instance, this can be used to limit the number of routes in the case where there are fewer drivers than vehicles and that the fleet of vehicle is heterogeneous."},
67873  { "RoutingModel_GetMaximumNumberOfActiveVehicles", _wrap_RoutingModel_GetMaximumNumberOfActiveVehicles, METH_VARARGS, " Returns the maximum number of active vehicles."},
67874  { "RoutingModel_SetArcCostEvaluatorOfAllVehicles", _wrap_RoutingModel_SetArcCostEvaluatorOfAllVehicles, METH_VARARGS, " Sets the cost function of the model such that the cost of a segment of a route between node 'from' and 'to' is evaluator(from, to), whatever the route or vehicle performing the route."},
67875  { "RoutingModel_SetArcCostEvaluatorOfVehicle", _wrap_RoutingModel_SetArcCostEvaluatorOfVehicle, METH_VARARGS, " Sets the cost function for a given vehicle route."},
67876  { "RoutingModel_SetFixedCostOfAllVehicles", _wrap_RoutingModel_SetFixedCostOfAllVehicles, METH_VARARGS, " Sets the fixed cost of all vehicle routes. It is equivalent to calling SetFixedCostOfVehicle on all vehicle routes."},
67877  { "RoutingModel_SetFixedCostOfVehicle", _wrap_RoutingModel_SetFixedCostOfVehicle, METH_VARARGS, " Sets the fixed cost of one vehicle route."},
67878  { "RoutingModel_GetFixedCostOfVehicle", _wrap_RoutingModel_GetFixedCostOfVehicle, METH_VARARGS, " Returns the route fixed cost taken into account if the route of the vehicle is not empty, aka there's at least one node on the route other than the first and last nodes."},
67879  { "RoutingModel_SetAmortizedCostFactorsOfAllVehicles", _wrap_RoutingModel_SetAmortizedCostFactorsOfAllVehicles, METH_VARARGS, " The following methods set the linear and quadratic cost factors of vehicles (must be positive values). The default value of these parameters is zero for all vehicles. When set, the cost_ of the model will contain terms aiming at reducing the number of vehicles used in the model, by adding the following to the objective for every vehicle v: INDICATOR(v used in the model) * [linear_cost_factor_of_vehicle_[v] - quadratic_cost_factor_of_vehicle_[v]*(square of length of route v)] i.e. for every used vehicle, we add the linear factor as fixed cost, and subtract the square of the route length multiplied by the quadratic factor. This second term aims at making the routes as dense as possible. Sets the linear and quadratic cost factor of all vehicles."},
67880  { "RoutingModel_SetAmortizedCostFactorsOfVehicle", _wrap_RoutingModel_SetAmortizedCostFactorsOfVehicle, METH_VARARGS, " Sets the linear and quadratic cost factor of the given vehicle."},
67881  { "RoutingModel_GetAmortizedLinearCostFactorOfVehicles", _wrap_RoutingModel_GetAmortizedLinearCostFactorOfVehicles, METH_VARARGS, NULL},
67882  { "RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles", _wrap_RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles, METH_VARARGS, NULL},
67883  { "RoutingModel_ConsiderEmptyRouteCostsForVehicle", _wrap_RoutingModel_ConsiderEmptyRouteCostsForVehicle, METH_VARARGS, NULL},
67884  { "RoutingModel_AreEmptyRouteCostsConsideredForVehicle", _wrap_RoutingModel_AreEmptyRouteCostsConsideredForVehicle, METH_VARARGS, NULL},
67885  { "RoutingModel_SetFirstSolutionEvaluator", _wrap_RoutingModel_SetFirstSolutionEvaluator, METH_VARARGS, " Gets/sets the evaluator used during the search. Only relevant when RoutingSearchParameters.first_solution_strategy = EVALUATOR_STRATEGY. Takes ownership of evaluator."},
67886  { "RoutingModel_AddLocalSearchOperator", _wrap_RoutingModel_AddLocalSearchOperator, METH_VARARGS, " Adds a local search operator to the set of operators used to solve the vehicle routing problem."},
67887  { "RoutingModel_AddSearchMonitor", _wrap_RoutingModel_AddSearchMonitor, METH_VARARGS, " Adds a search monitor to the search used to solve the routing model."},
67888  { "RoutingModel_AddAtSolutionCallback", _wrap_RoutingModel_AddAtSolutionCallback, METH_VARARGS, " Adds a callback called each time a solution is found during the search. This is a shortcut to creating a monitor to call the callback on AtSolution() and adding it with AddSearchMonitor."},
67889  { "RoutingModel_AddVariableMinimizedByFinalizer", _wrap_RoutingModel_AddVariableMinimizedByFinalizer, METH_VARARGS, " Adds a variable to minimize in the solution finalizer. The solution finalizer is called each time a solution is found during the search and allows to instantiate secondary variables (such as dimension cumul variables)."},
67890  { "RoutingModel_AddVariableMaximizedByFinalizer", _wrap_RoutingModel_AddVariableMaximizedByFinalizer, METH_VARARGS, " Adds a variable to maximize in the solution finalizer (see above for information on the solution finalizer)."},
67891  { "RoutingModel_AddWeightedVariableMinimizedByFinalizer", _wrap_RoutingModel_AddWeightedVariableMinimizedByFinalizer, METH_VARARGS, " Adds a variable to minimize in the solution finalizer, with a weighted priority: the higher the more priority it has."},
67892  { "RoutingModel_AddVariableTargetToFinalizer", _wrap_RoutingModel_AddVariableTargetToFinalizer, METH_VARARGS, " Add a variable to set the closest possible to the target value in the solution finalizer."},
67893  { "RoutingModel_CloseModel", _wrap_RoutingModel_CloseModel, METH_VARARGS, " Closes the current routing model; after this method is called, no modification to the model can be done, but RoutesToAssignment becomes available. Note that CloseModel() is automatically called by Solve() and other methods that produce solution. This is equivalent to calling CloseModelWithParameters(DefaultRoutingSearchParameters())."},
67894  { "RoutingModel_CloseModelWithParameters", _wrap_RoutingModel_CloseModelWithParameters, METH_VARARGS, " Same as above taking search parameters (as of 10/2015 some the parameters have to be set when closing the model)."},
67895  { "RoutingModel_Solve", _wrap_RoutingModel_Solve, METH_VARARGS, " Solves the current routing model; closes the current model. This is equivalent to calling SolveWithParameters(DefaultRoutingSearchParameters()) or SolveFromAssignmentWithParameters(assignment, DefaultRoutingSearchParameters())."},
67896  { "RoutingModel_SolveWithParameters", _wrap_RoutingModel_SolveWithParameters, METH_VARARGS, " Solves the current routing model with the given parameters. If 'solutions' is specified, it will contain the k best solutions found during the search (from worst to best, including the one returned by this method), where k corresponds to the 'number_of_solutions_to_collect' in 'search_parameters'. Note that the Assignment returned by the method and the ones in solutions are owned by the underlying solver and should not be deleted."},
67897  { "RoutingModel_SolveFromAssignmentWithParameters", _wrap_RoutingModel_SolveFromAssignmentWithParameters, METH_VARARGS, " Same as above, except that if assignment is not null, it will be used as the initial solution."},
67898  { "RoutingModel_SolveFromAssignmentsWithParameters", _wrap_RoutingModel_SolveFromAssignmentsWithParameters, METH_VARARGS, " Same as above but will try all assignments in order as first solutions until one succeeds."},
67899  { "RoutingModel_SetAssignmentFromOtherModelAssignment", _wrap_RoutingModel_SetAssignmentFromOtherModelAssignment, METH_VARARGS, " Given a \"source_model\" and its \"source_assignment\", resets \"target_assignment\" with the IntVar variables (nexts_, and vehicle_vars_ if costs aren't homogeneous across vehicles) of \"this\" model, with the values set according to those in \"other_assignment\". The objective_element of target_assignment is set to this->cost_."},
67900  { "RoutingModel_ComputeLowerBound", _wrap_RoutingModel_ComputeLowerBound, METH_VARARGS, " Computes a lower bound to the routing problem solving a linear assignment problem. The routing model must be closed before calling this method. Note that problems with node disjunction constraints (including optional nodes) and non-homogenous costs are not supported (the method returns 0 in these cases)."},
67901  { "RoutingModel_status", _wrap_RoutingModel_status, METH_VARARGS, " Returns the current status of the routing model."},
67902  { "RoutingModel_ApplyLocks", _wrap_RoutingModel_ApplyLocks, METH_VARARGS, " Applies a lock chain to the next search. 'locks' represents an ordered vector of nodes representing a partial route which will be fixed during the next search; it will constrain next variables such that: next[locks[i]] == locks[i+1]. Returns the next variable at the end of the locked chain; this variable is not locked. An assignment containing the locks can be obtained by calling PreAssignment()."},
67903  { "RoutingModel_ApplyLocksToAllVehicles", _wrap_RoutingModel_ApplyLocksToAllVehicles, METH_VARARGS, " Applies lock chains to all vehicles to the next search, such that locks[p] is the lock chain for route p. Returns false if the locks do not contain valid routes; expects that the routes do not contain the depots, i.e. there are empty vectors in place of empty routes. If close_routes is set to true, adds the end nodes to the route of each vehicle and deactivates other nodes. An assignment containing the locks can be obtained by calling PreAssignment()."},
67904  { "RoutingModel_PreAssignment", _wrap_RoutingModel_PreAssignment, METH_VARARGS, " Returns an assignment used to fix some of the variables of the problem. In practice, this assignment locks partial routes of the problem. This can be used in the context of locking the parts of the routes which have already been driven in online routing problems."},
67905  { "RoutingModel_MutablePreAssignment", _wrap_RoutingModel_MutablePreAssignment, METH_VARARGS, NULL},
67906  { "RoutingModel_WriteAssignment", _wrap_RoutingModel_WriteAssignment, METH_VARARGS, " Writes the current solution to a file containing an AssignmentProto. Returns false if the file cannot be opened or if there is no current solution."},
67907  { "RoutingModel_ReadAssignment", _wrap_RoutingModel_ReadAssignment, METH_VARARGS, " Reads an assignment from a file and returns the current solution. Returns nullptr if the file cannot be opened or if the assignment is not valid."},
67908  { "RoutingModel_RestoreAssignment", _wrap_RoutingModel_RestoreAssignment, METH_VARARGS, " Restores an assignment as a solution in the routing model and returns the new solution. Returns nullptr if the assignment is not valid."},
67909  { "RoutingModel_ReadAssignmentFromRoutes", _wrap_RoutingModel_ReadAssignmentFromRoutes, METH_VARARGS, " Restores the routes as the current solution. Returns nullptr if the solution cannot be restored (routes do not contain a valid solution). Note that calling this method will run the solver to assign values to the dimension variables; this may take considerable amount of time, especially when using dimensions with slack."},
67910  { "RoutingModel_RoutesToAssignment", _wrap_RoutingModel_RoutesToAssignment, METH_VARARGS, " Fills an assignment from a specification of the routes of the vehicles. The routes are specified as lists of variable indices that appear on the routes of the vehicles. The indices of the outer vector in 'routes' correspond to vehicles IDs, the inner vector contains the variable indices on the routes for the given vehicle. The inner vectors must not contain the start and end indices, as these are determined by the routing model. Sets the value of NextVars in the assignment, adding the variables to the assignment if necessary. The method does not touch other variables in the assignment. The method can only be called after the model is closed. With ignore_inactive_indices set to false, this method will fail (return nullptr) in case some of the route contain indices that are deactivated in the model; when set to true, these indices will be skipped. Returns true if routes were successfully loaded. However, such assignment still might not be a valid solution to the routing problem due to more complex constraints; it is advisible to call solver()->CheckSolution() afterwards."},
67911  { "RoutingModel_AssignmentToRoutes", _wrap_RoutingModel_AssignmentToRoutes, METH_VARARGS, " Converts the solution in the given assignment to routes for all vehicles. Expects that assignment contains a valid solution (i.e. routes for all vehicles end with an end index for that vehicle)."},
67912  { "RoutingModel_CompactAssignment", _wrap_RoutingModel_CompactAssignment, METH_VARARGS, " Converts the solution in the given assignment to routes for all vehicles. If the returned vector is route_indices, route_indices[i][j] is the index for jth location visited on route i. Note that contrary to AssignmentToRoutes, the vectors do include start and end locations. Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to some N have non-empty routes, and all vehicles with id greater than N have empty routes. Does not take ownership of the returned object. If found, the cost of the compact assignment is the same as in the original assignment and it preserves the values of 'active' variables. Returns nullptr if a compact assignment was not found. This method only works in homogenous mode, and it only swaps equivalent vehicles (vehicles with the same start and end nodes). When creating the compact assignment, the empty plan is replaced by the route assigned to the compatible vehicle with the highest id. Note that with more complex constraints on vehicle variables, this method might fail even if a compact solution exists. This method changes the vehicle and dimension variables as necessary. While compacting the solution, only basic checks on vehicle variables are performed; if one of these checks fails no attempts to repair it are made (instead, the method returns nullptr)."},
67913  { "RoutingModel_CompactAndCheckAssignment", _wrap_RoutingModel_CompactAndCheckAssignment, METH_VARARGS, " Same as CompactAssignment() but also checks the validity of the final compact solution; if it is not valid, no attempts to repair it are made (instead, the method returns nullptr)."},
67914  { "RoutingModel_AddToAssignment", _wrap_RoutingModel_AddToAssignment, METH_VARARGS, " Adds an extra variable to the vehicle routing assignment."},
67915  { "RoutingModel_AddIntervalToAssignment", _wrap_RoutingModel_AddIntervalToAssignment, METH_VARARGS, NULL},
67916  { "RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment", _wrap_RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment, METH_VARARGS, " For every dimension in the model with an optimizer in local/global_dimension_optimizers_, this method tries to pack the cumul values of the dimension, such that: - The cumul costs (span costs, soft lower and upper bound costs, etc) are minimized. - The cumuls of the ends of the routes are minimized for this given minimal cumul cost. - Given these minimal end cumuls, the route start cumuls are maximized. Returns the assignment resulting from allocating these packed cumuls with the solver, and nullptr if these cumuls could not be set by the solver."},
67917  { "RoutingModel_AddLocalSearchFilter", _wrap_RoutingModel_AddLocalSearchFilter, METH_VARARGS, " Adds a custom local search filter to the list of filters used to speed up local search by pruning unfeasible variable assignments. Calling this method after the routing model has been closed (CloseModel() or Solve() has been called) has no effect. The routing model does not take ownership of the filter."},
67918  { "RoutingModel_Start", _wrap_RoutingModel_Start, METH_VARARGS, " Model inspection. Returns the variable index of the starting node of a vehicle route."},
67919  { "RoutingModel_End", _wrap_RoutingModel_End, METH_VARARGS, " Returns the variable index of the ending node of a vehicle route."},
67920  { "RoutingModel_IsStart", _wrap_RoutingModel_IsStart, METH_VARARGS, " Returns true if 'index' represents the first node of a route."},
67921  { "RoutingModel_IsEnd", _wrap_RoutingModel_IsEnd, METH_VARARGS, " Returns true if 'index' represents the last node of a route."},
67922  { "RoutingModel_VehicleIndex", _wrap_RoutingModel_VehicleIndex, METH_VARARGS, " Returns the vehicle of the given start/end index, and -1 if the given index is not a vehicle start/end."},
67923  { "RoutingModel_Next", _wrap_RoutingModel_Next, METH_VARARGS, " Assignment inspection Returns the variable index of the node directly after the node corresponding to 'index' in 'assignment'."},
67924  { "RoutingModel_IsVehicleUsed", _wrap_RoutingModel_IsVehicleUsed, METH_VARARGS, " Returns true if the route of 'vehicle' is non empty in 'assignment'."},
67925  { "RoutingModel_NextVar", _wrap_RoutingModel_NextVar, METH_VARARGS, " Returns the next variable of the node corresponding to index. Note that NextVar(index) == index is equivalent to ActiveVar(index) == 0."},
67926  { "RoutingModel_ActiveVar", _wrap_RoutingModel_ActiveVar, METH_VARARGS, " Returns the active variable of the node corresponding to index."},
67927  { "RoutingModel_ActiveVehicleVar", _wrap_RoutingModel_ActiveVehicleVar, METH_VARARGS, " Returns the active variable of the vehicle. It will be equal to 1 iff the route of the vehicle is not empty, 0 otherwise."},
67928  { "RoutingModel_VehicleCostsConsideredVar", _wrap_RoutingModel_VehicleCostsConsideredVar, METH_VARARGS, " Returns the variable specifying whether or not costs are considered for vehicle."},
67929  { "RoutingModel_VehicleVar", _wrap_RoutingModel_VehicleVar, METH_VARARGS, " Returns the vehicle variable of the node corresponding to index. Note that VehicleVar(index) == -1 is equivalent to ActiveVar(index) == 0."},
67930  { "RoutingModel_CostVar", _wrap_RoutingModel_CostVar, METH_VARARGS, " Returns the global cost variable which is being minimized."},
67931  { "RoutingModel_GetArcCostForVehicle", _wrap_RoutingModel_GetArcCostForVehicle, METH_VARARGS, " Returns the cost of the transit arc between two nodes for a given vehicle. Input are variable indices of node. This returns 0 if vehicle < 0."},
67932  { "RoutingModel_CostsAreHomogeneousAcrossVehicles", _wrap_RoutingModel_CostsAreHomogeneousAcrossVehicles, METH_VARARGS, " Whether costs are homogeneous across all vehicles."},
67933  { "RoutingModel_GetHomogeneousCost", _wrap_RoutingModel_GetHomogeneousCost, METH_VARARGS, " Returns the cost of the segment between two nodes supposing all vehicle costs are the same (returns the cost for the first vehicle otherwise)."},
67934  { "RoutingModel_GetArcCostForFirstSolution", _wrap_RoutingModel_GetArcCostForFirstSolution, METH_VARARGS, " Returns the cost of the arc in the context of the first solution strategy. This is typically a simplification of the actual cost; see the .cc."},
67935  { "RoutingModel_GetArcCostForClass", _wrap_RoutingModel_GetArcCostForClass, METH_VARARGS, " Returns the cost of the segment between two nodes for a given cost class. Input are variable indices of nodes and the cost class. Unlike GetArcCostForVehicle(), if cost_class is kNoCost, then the returned cost won't necessarily be zero: only some of the components of the cost that depend on the cost class will be omited. See the code for details."},
67936  { "RoutingModel_GetCostClassIndexOfVehicle", _wrap_RoutingModel_GetCostClassIndexOfVehicle, METH_VARARGS, " Get the cost class index of the given vehicle."},
67937  { "RoutingModel_HasVehicleWithCostClassIndex", _wrap_RoutingModel_HasVehicleWithCostClassIndex, METH_VARARGS, " Returns true iff the model contains a vehicle with the given cost_class_index."},
67938  { "RoutingModel_GetCostClassesCount", _wrap_RoutingModel_GetCostClassesCount, METH_VARARGS, " Returns the number of different cost classes in the model."},
67939  { "RoutingModel_GetNonZeroCostClassesCount", _wrap_RoutingModel_GetNonZeroCostClassesCount, METH_VARARGS, " Ditto, minus the 'always zero', built-in cost class."},
67940  { "RoutingModel_GetVehicleClassIndexOfVehicle", _wrap_RoutingModel_GetVehicleClassIndexOfVehicle, METH_VARARGS, NULL},
67941  { "RoutingModel_GetVehicleOfClass", _wrap_RoutingModel_GetVehicleOfClass, METH_VARARGS, " Returns a vehicle of the given vehicle class, and -1 if there are no vehicles for this class."},
67942  { "RoutingModel_GetVehicleClassesCount", _wrap_RoutingModel_GetVehicleClassesCount, METH_VARARGS, " Returns the number of different vehicle classes in the model."},
67943  { "RoutingModel_GetSameVehicleIndicesOfIndex", _wrap_RoutingModel_GetSameVehicleIndicesOfIndex, METH_VARARGS, " Returns variable indices of nodes constrained to be on the same route."},
67944  { "RoutingModel_GetVehicleTypeContainer", _wrap_RoutingModel_GetVehicleTypeContainer, METH_VARARGS, NULL},
67945  { "RoutingModel_ArcIsMoreConstrainedThanArc", _wrap_RoutingModel_ArcIsMoreConstrainedThanArc, METH_VARARGS, " Returns whether the arc from->to1 is more constrained than from->to2, taking into account, in order: - whether the destination node isn't an end node - whether the destination node is mandatory - whether the destination node is bound to the same vehicle as the source - the \"primary constrained\" dimension (see SetPrimaryConstrainedDimension) It then breaks ties using, in order: - the arc cost (taking unperformed penalties into account) - the size of the vehicle vars of \"to1\" and \"to2\" (lowest size wins) - the value: the lowest value of the indices to1 and to2 wins. See the .cc for details. The more constrained arc is typically preferable when building a first solution. This method is intended to be used as a callback for the BestValueByComparisonSelector value selector. Args: from: the variable index of the source node to1: the variable index of the first candidate destination node. to2: the variable index of the second candidate destination node."},
67946  { "RoutingModel_DebugOutputAssignment", _wrap_RoutingModel_DebugOutputAssignment, METH_VARARGS, " Print some debugging information about an assignment, including the feasible intervals of the CumulVar for dimension \"dimension_to_print\" at each step of the routes. If \"dimension_to_print\" is omitted, all dimensions will be printed."},
67947  { "RoutingModel_solver", _wrap_RoutingModel_solver, METH_VARARGS, " Returns a vector cumul_bounds, for which cumul_bounds[i][j] is a pair containing the minimum and maximum of the CumulVar of the jth node on route i. - cumul_bounds[i][j].first is the minimum. - cumul_bounds[i][j].second is the maximum. Returns the underlying constraint solver. Can be used to add extra constraints and/or modify search algorithms."},
67948  { "RoutingModel_CheckLimit", _wrap_RoutingModel_CheckLimit, METH_VARARGS, " Returns true if the search limit has been crossed."},
67949  { "RoutingModel_RemainingTime", _wrap_RoutingModel_RemainingTime, METH_VARARGS, " Returns the time left in the search limit."},
67950  { "RoutingModel_nodes", _wrap_RoutingModel_nodes, METH_VARARGS, " Sizes and indices Returns the number of nodes in the model."},
67951  { "RoutingModel_vehicles", _wrap_RoutingModel_vehicles, METH_VARARGS, " Returns the number of vehicle routes in the model."},
67952  { "RoutingModel_Size", _wrap_RoutingModel_Size, METH_VARARGS, " Returns the number of next variables in the model."},
67953  { "RoutingModel_GetNumberOfDecisionsInFirstSolution", _wrap_RoutingModel_GetNumberOfDecisionsInFirstSolution, METH_VARARGS, " Returns statistics on first solution search, number of decisions sent to filters, number of decisions rejected by filters."},
67954  { "RoutingModel_GetNumberOfRejectsInFirstSolution", _wrap_RoutingModel_GetNumberOfRejectsInFirstSolution, METH_VARARGS, NULL},
67955  { "RoutingModel_GetAutomaticFirstSolutionStrategy", _wrap_RoutingModel_GetAutomaticFirstSolutionStrategy, METH_VARARGS, " Returns the automatic first solution strategy selected."},
67956  { "RoutingModel_IsMatchingModel", _wrap_RoutingModel_IsMatchingModel, METH_VARARGS, " Returns true if a vehicle/node matching problem is detected."},
67957  { "RoutingModel_MakeGuidedSlackFinalizer", _wrap_RoutingModel_MakeGuidedSlackFinalizer, METH_VARARGS, " The next few members are in the public section only for testing purposes. MakeGuidedSlackFinalizer creates a DecisionBuilder for the slacks of a dimension using a callback to choose which values to start with. The finalizer works only when all next variables in the model have been fixed. It has the following two characteristics: 1. It follows the routes defined by the nexts variables when choosing a variable to make a decision on. 2. When it comes to choose a value for the slack of node i, the decision builder first calls the callback with argument i, and supposingly the returned value is x it creates decisions slack[i] = x, slack[i] = x + 1, slack[i] = x - 1, slack[i] = x + 2, etc."},
67958  { "RoutingModel_MakeSelfDependentDimensionFinalizer", _wrap_RoutingModel_MakeSelfDependentDimensionFinalizer, METH_VARARGS, " MakeSelfDependentDimensionFinalizer is a finalizer for the slacks of a self-dependent dimension. It makes an extensive use of the caches of the state dependent transits. In detail, MakeSelfDependentDimensionFinalizer returns a composition of a local search decision builder with a greedy descent operator for the cumul of the start of each route and a guided slack finalizer. Provided there are no time windows and the maximum slacks are large enough, once the cumul of the start of route is fixed, the guided finalizer can find optimal values of the slacks for the rest of the route in time proportional to the length of the route. Therefore the composed finalizer generally works in time O(log(t)*n*m), where t is the latest possible departute time, n is the number of nodes in the network and m is the number of vehicles."},
67959  { "RoutingModel_swigregister", RoutingModel_swigregister, METH_O, NULL},
67960  { "RoutingModel_swiginit", RoutingModel_swiginit, METH_VARARGS, NULL},
67961  { "new_RoutingModelVisitor", _wrap_new_RoutingModelVisitor, METH_VARARGS, NULL},
67962  { "delete_RoutingModelVisitor", _wrap_delete_RoutingModelVisitor, METH_VARARGS, NULL},
67963  { "RoutingModelVisitor_swigregister", RoutingModelVisitor_swigregister, METH_O, NULL},
67964  { "RoutingModelVisitor_swiginit", RoutingModelVisitor_swiginit, METH_VARARGS, NULL},
67965  { "new_GlobalVehicleBreaksConstraint", _wrap_new_GlobalVehicleBreaksConstraint, METH_VARARGS, NULL},
67966  { "GlobalVehicleBreaksConstraint_DebugString", _wrap_GlobalVehicleBreaksConstraint_DebugString, METH_VARARGS, NULL},
67967  { "GlobalVehicleBreaksConstraint_Post", _wrap_GlobalVehicleBreaksConstraint_Post, METH_VARARGS, NULL},
67968  { "GlobalVehicleBreaksConstraint_InitialPropagateWrapper", _wrap_GlobalVehicleBreaksConstraint_InitialPropagateWrapper, METH_VARARGS, NULL},
67969  { "delete_GlobalVehicleBreaksConstraint", _wrap_delete_GlobalVehicleBreaksConstraint, METH_VARARGS, NULL},
67970  { "GlobalVehicleBreaksConstraint_swigregister", GlobalVehicleBreaksConstraint_swigregister, METH_O, NULL},
67971  { "GlobalVehicleBreaksConstraint_swiginit", GlobalVehicleBreaksConstraint_swiginit, METH_VARARGS, NULL},
67972  { "delete_TypeRegulationsChecker", _wrap_delete_TypeRegulationsChecker, METH_VARARGS, NULL},
67973  { "TypeRegulationsChecker_CheckVehicle", _wrap_TypeRegulationsChecker_CheckVehicle, METH_VARARGS, NULL},
67974  { "TypeRegulationsChecker_swigregister", TypeRegulationsChecker_swigregister, METH_O, NULL},
67975  { "new_TypeIncompatibilityChecker", _wrap_new_TypeIncompatibilityChecker, METH_VARARGS, NULL},
67976  { "delete_TypeIncompatibilityChecker", _wrap_delete_TypeIncompatibilityChecker, METH_VARARGS, NULL},
67977  { "TypeIncompatibilityChecker_swigregister", TypeIncompatibilityChecker_swigregister, METH_O, NULL},
67978  { "TypeIncompatibilityChecker_swiginit", TypeIncompatibilityChecker_swiginit, METH_VARARGS, NULL},
67979  { "new_TypeRequirementChecker", _wrap_new_TypeRequirementChecker, METH_VARARGS, NULL},
67980  { "delete_TypeRequirementChecker", _wrap_delete_TypeRequirementChecker, METH_VARARGS, NULL},
67981  { "TypeRequirementChecker_swigregister", TypeRequirementChecker_swigregister, METH_O, NULL},
67982  { "TypeRequirementChecker_swiginit", TypeRequirementChecker_swiginit, METH_VARARGS, NULL},
67983  { "new_TypeRegulationsConstraint", _wrap_new_TypeRegulationsConstraint, METH_VARARGS, NULL},
67984  { "TypeRegulationsConstraint_Post", _wrap_TypeRegulationsConstraint_Post, METH_VARARGS, NULL},
67985  { "TypeRegulationsConstraint_InitialPropagateWrapper", _wrap_TypeRegulationsConstraint_InitialPropagateWrapper, METH_VARARGS, NULL},
67986  { "delete_TypeRegulationsConstraint", _wrap_delete_TypeRegulationsConstraint, METH_VARARGS, NULL},
67987  { "TypeRegulationsConstraint_swigregister", TypeRegulationsConstraint_swigregister, METH_O, NULL},
67988  { "TypeRegulationsConstraint_swiginit", TypeRegulationsConstraint_swiginit, METH_VARARGS, NULL},
67989  { "delete_RoutingDimension", _wrap_delete_RoutingDimension, METH_VARARGS, NULL},
67990  { "RoutingDimension_model", _wrap_RoutingDimension_model, METH_VARARGS, " Returns the model on which the dimension was created."},
67991  { "RoutingDimension_GetTransitValue", _wrap_RoutingDimension_GetTransitValue, METH_VARARGS, " Returns the transition value for a given pair of nodes (as var index); this value is the one taken by the corresponding transit variable when the 'next' variable for 'from_index' is bound to 'to_index'."},
67992  { "RoutingDimension_GetTransitValueFromClass", _wrap_RoutingDimension_GetTransitValueFromClass, METH_VARARGS, " Same as above but taking a vehicle class of the dimension instead of a vehicle (the class of a vehicle can be obtained with vehicle_to_class())."},
67993  { "RoutingDimension_CumulVar", _wrap_RoutingDimension_CumulVar, METH_VARARGS, " Get the cumul, transit and slack variables for the given node (given as int64_t var index)."},
67994  { "RoutingDimension_TransitVar", _wrap_RoutingDimension_TransitVar, METH_VARARGS, NULL},
67995  { "RoutingDimension_FixedTransitVar", _wrap_RoutingDimension_FixedTransitVar, METH_VARARGS, NULL},
67996  { "RoutingDimension_SlackVar", _wrap_RoutingDimension_SlackVar, METH_VARARGS, NULL},
67997  { "RoutingDimension_SetSpanUpperBoundForVehicle", _wrap_RoutingDimension_SetSpanUpperBoundForVehicle, METH_VARARGS, " Sets an upper bound on the dimension span on a given vehicle. This is the preferred way to limit the \"length\" of the route of a vehicle according to a dimension."},
67998  { "RoutingDimension_SetSpanCostCoefficientForVehicle", _wrap_RoutingDimension_SetSpanCostCoefficientForVehicle, METH_VARARGS, " Sets a cost proportional to the dimension span on a given vehicle, or on all vehicles at once. \"coefficient\" must be nonnegative. This is handy to model costs proportional to idle time when the dimension represents time. The cost for a vehicle is span_cost = coefficient * (dimension end value - dimension start value)."},
67999  { "RoutingDimension_SetSpanCostCoefficientForAllVehicles", _wrap_RoutingDimension_SetSpanCostCoefficientForAllVehicles, METH_VARARGS, NULL},
68000  { "RoutingDimension_SetGlobalSpanCostCoefficient", _wrap_RoutingDimension_SetGlobalSpanCostCoefficient, METH_VARARGS, " Sets a cost proportional to the *global* dimension span, that is the difference between the largest value of route end cumul variables and the smallest value of route start cumul variables. In other words: global_span_cost = coefficient * (Max(dimension end value) - Min(dimension start value))."},
68001  { "RoutingDimension_SetCumulVarSoftUpperBound", _wrap_RoutingDimension_SetCumulVarSoftUpperBound, METH_VARARGS, " Sets a soft upper bound to the cumul variable of a given variable index. If the value of the cumul variable is greater than the bound, a cost proportional to the difference between this value and the bound is added to the cost function of the model: cumulVar <= upper_bound -> cost = 0 cumulVar > upper_bound -> cost = coefficient * (cumulVar - upper_bound) This is also handy to model tardiness costs when the dimension represents time."},
68002  { "RoutingDimension_HasCumulVarSoftUpperBound", _wrap_RoutingDimension_HasCumulVarSoftUpperBound, METH_VARARGS, " Returns true if a soft upper bound has been set for a given variable index."},
68003  { "RoutingDimension_GetCumulVarSoftUpperBound", _wrap_RoutingDimension_GetCumulVarSoftUpperBound, METH_VARARGS, " Returns the soft upper bound of a cumul variable for a given variable index. The \"hard\" upper bound of the variable is returned if no soft upper bound has been set."},
68004  { "RoutingDimension_GetCumulVarSoftUpperBoundCoefficient", _wrap_RoutingDimension_GetCumulVarSoftUpperBoundCoefficient, METH_VARARGS, " Returns the cost coefficient of the soft upper bound of a cumul variable for a given variable index. If no soft upper bound has been set, 0 is returned."},
68005  { "RoutingDimension_SetCumulVarSoftLowerBound", _wrap_RoutingDimension_SetCumulVarSoftLowerBound, METH_VARARGS, " Sets a soft lower bound to the cumul variable of a given variable index. If the value of the cumul variable is less than the bound, a cost proportional to the difference between this value and the bound is added to the cost function of the model: cumulVar > lower_bound -> cost = 0 cumulVar <= lower_bound -> cost = coefficient * (lower_bound - cumulVar). This is also handy to model earliness costs when the dimension represents time."},
68006  { "RoutingDimension_HasCumulVarSoftLowerBound", _wrap_RoutingDimension_HasCumulVarSoftLowerBound, METH_VARARGS, " Returns true if a soft lower bound has been set for a given variable index."},
68007  { "RoutingDimension_GetCumulVarSoftLowerBound", _wrap_RoutingDimension_GetCumulVarSoftLowerBound, METH_VARARGS, " Returns the soft lower bound of a cumul variable for a given variable index. The \"hard\" lower bound of the variable is returned if no soft lower bound has been set."},
68008  { "RoutingDimension_GetCumulVarSoftLowerBoundCoefficient", _wrap_RoutingDimension_GetCumulVarSoftLowerBoundCoefficient, METH_VARARGS, " Returns the cost coefficient of the soft lower bound of a cumul variable for a given variable index. If no soft lower bound has been set, 0 is returned."},
68009  { "RoutingDimension_SetBreakIntervalsOfVehicle", _wrap_RoutingDimension_SetBreakIntervalsOfVehicle, METH_VARARGS, " Sets the breaks for a given vehicle. Breaks are represented by IntervalVars. They may interrupt transits between nodes and increase the value of corresponding slack variables. A break may take place before the start of a vehicle, after the end of a vehicle, or during a travel i -> j. In that case, the interval [break.Start(), break.End()) must be a subset of [CumulVar(i) + pre_travel(i, j), CumulVar(j) - post_travel(i, j)). In other words, a break may not overlap any node n's visit, given by [CumulVar(n) - post_travel(_, n), CumulVar(n) + pre_travel(n, _)). This formula considers post_travel(_, start) and pre_travel(end, _) to be 0; pre_travel will never be called on any (_, start) and post_travel will never we called on any (end, _). If pre_travel_evaluator or post_travel_evaluator is -1, it will be taken as a function that always returns 0. Deprecated, sets pre_travel(i, j) = node_visit_transit[i]."},
68010  { "RoutingDimension_SetBreakDistanceDurationOfVehicle", _wrap_RoutingDimension_SetBreakDistanceDurationOfVehicle, METH_VARARGS, " With breaks supposed to be consecutive, this forces the distance between breaks of size at least minimum_break_duration to be at most distance. This supposes that the time until route start and after route end are infinite breaks."},
68011  { "RoutingDimension_InitializeBreaks", _wrap_RoutingDimension_InitializeBreaks, METH_VARARGS, " Sets up vehicle_break_intervals_, vehicle_break_distance_duration_, pre_travel_evaluators and post_travel_evaluators."},
68012  { "RoutingDimension_HasBreakConstraints", _wrap_RoutingDimension_HasBreakConstraints, METH_VARARGS, " Returns true if any break interval or break distance was defined."},
68013  { "RoutingDimension_GetPreTravelEvaluatorOfVehicle", _wrap_RoutingDimension_GetPreTravelEvaluatorOfVehicle, METH_VARARGS, NULL},
68014  { "RoutingDimension_GetPostTravelEvaluatorOfVehicle", _wrap_RoutingDimension_GetPostTravelEvaluatorOfVehicle, METH_VARARGS, NULL},
68015  { "RoutingDimension_base_dimension", _wrap_RoutingDimension_base_dimension, METH_VARARGS, " Returns the parent in the dependency tree if any or nullptr otherwise."},
68016  { "RoutingDimension_ShortestTransitionSlack", _wrap_RoutingDimension_ShortestTransitionSlack, METH_VARARGS, " It makes sense to use the function only for self-dependent dimension. For such dimensions the value of the slack of a node determines the transition cost of the next transit. Provided that 1. cumul[node] is fixed, 2. next[node] and next[next[node]] (if exists) are fixed, the value of slack[node] for which cumul[next[node]] + transit[next[node]] is minimized can be found in O(1) using this function."},
68017  { "RoutingDimension_name", _wrap_RoutingDimension_name, METH_VARARGS, " Returns the name of the dimension."},
68018  { "RoutingDimension_SetPickupToDeliveryLimitFunctionForPair", _wrap_RoutingDimension_SetPickupToDeliveryLimitFunctionForPair, METH_VARARGS, NULL},
68019  { "RoutingDimension_HasPickupToDeliveryLimits", _wrap_RoutingDimension_HasPickupToDeliveryLimits, METH_VARARGS, NULL},
68020  { "RoutingDimension_AddNodePrecedence", _wrap_RoutingDimension_AddNodePrecedence, METH_VARARGS, NULL},
68021  { "RoutingDimension_GetSpanUpperBoundForVehicle", _wrap_RoutingDimension_GetSpanUpperBoundForVehicle, METH_VARARGS, NULL},
68022  { "RoutingDimension_GetSpanCostCoefficientForVehicle", _wrap_RoutingDimension_GetSpanCostCoefficientForVehicle, METH_VARARGS, NULL},
68023  { "RoutingDimension_global_span_cost_coefficient", _wrap_RoutingDimension_global_span_cost_coefficient, METH_VARARGS, NULL},
68024  { "RoutingDimension_GetGlobalOptimizerOffset", _wrap_RoutingDimension_GetGlobalOptimizerOffset, METH_VARARGS, NULL},
68025  { "RoutingDimension_GetLocalOptimizerOffsetForVehicle", _wrap_RoutingDimension_GetLocalOptimizerOffsetForVehicle, METH_VARARGS, NULL},
68026  { "RoutingDimension_swigregister", RoutingDimension_swigregister, METH_O, NULL},
68027  { "MakeSetValuesFromTargets", _wrap_MakeSetValuesFromTargets, METH_VARARGS, " A decision builder which tries to assign values to variables as close as possible to target values first."},
68028  { "SolveModelWithSat", _wrap_SolveModelWithSat, METH_VARARGS, " Attempts to solve the model using the cp-sat solver. As of 5/2019, will solve the TSP corresponding to the model if it has a single vehicle. Therefore the resulting solution might not actually be feasible. Will return false if a solution could not be found."},
68029  { NULL, NULL, 0, NULL }
68030 };
68031 
68032 static PyMethodDef SwigMethods_proxydocs[] = {
68033  { NULL, NULL, 0, NULL }
68034 };
68035 
68036 
68037 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
68038 
68041 }
68044 }
68047 }
68050 }
68053 }
68056 }
68059 }
68062 }
68065 }
68068 }
68071 }
68074 }
68077 }
68080 }
68082  return (void *)((operations_research::Constraint *) ((operations_research::Pack *) x));
68083 }
68086 }
68089 }
68092 }
68095 }
68098 }
68101 }
68104 }
68107 }
68110 }
68113 }
68116 }
68119 }
68122 }
68125 }
68128 }
68131 }
68134 }
68137 }
68140 }
68143 }
68146 }
68149 }
68152 }
68155 }
68158 }
68161 }
68164 }
68167 }
68170 }
68172  return (void *)((operations_research::BaseObject *) ((operations_research::Demon *) x));
68173 }
68176 }
68179 }
68182 }
68185 }
68188 }
68191 }
68194 }
68197 }
68200 }
68203 }
68206 }
68209 }
68212 }
68215 }
68218 }
68221 }
68224 }
68227 }
68230 }
68233 }
68236 }
68239 }
68242 }
68245 }
68248 }
68251 }
68254 }
68257 }
68260 }
68263 }
68266 }
68269 }
68272 }
68275 }
68278 }
68281 }
68284 }
68287 }
68290 }
68293 }
68296 }
68299 }
68302 }
68304  return (void *)((operations_research::IntExpr *) ((operations_research::IntVar *) x));
68305 }
68308 }
68311 }
68314 }
68316  return (void *)((operations_research::IntVar *) ((operations_research::BooleanVar *) x));
68317 }
68320 }
68323 }
68326 }
68329 }
68332 }
68333 static swig_type_info _swigt__p_CostClassIndex = {"_p_CostClassIndex", "CostClassIndex *", 0, 0, (void*)0, 0};
68334 static swig_type_info _swigt__p_DimensionIndex = {"_p_DimensionIndex", "DimensionIndex *", 0, 0, (void*)0, 0};
68335 static swig_type_info _swigt__p_DisjunctionIndex = {"_p_DisjunctionIndex", "DisjunctionIndex *", 0, 0, (void*)0, 0};
68336 static swig_type_info _swigt__p_PickupToDeliveryLimitFunction = {"_p_PickupToDeliveryLimitFunction", "PickupToDeliveryLimitFunction *", 0, 0, (void*)0, 0};
68337 static swig_type_info _swigt__p_RoutingDimensionIndex = {"_p_RoutingDimensionIndex", "RoutingDimensionIndex *|operations_research::RoutingModel::DimensionIndex *", 0, 0, (void*)0, 0};
68338 static swig_type_info _swigt__p_RoutingDisjunctionIndex = {"_p_RoutingDisjunctionIndex", "RoutingDisjunctionIndex *|operations_research::RoutingModel::DisjunctionIndex *", 0, 0, (void*)0, 0};
68339 static swig_type_info _swigt__p_TransitCallback1 = {"_p_TransitCallback1", "TransitCallback1 *", 0, 0, (void*)0, 0};
68340 static swig_type_info _swigt__p_TransitCallback2 = {"_p_TransitCallback2", "TransitCallback2 *", 0, 0, (void*)0, 0};
68341 static swig_type_info _swigt__p_VehicleClassIndex = {"_p_VehicleClassIndex", "VehicleClassIndex *", 0, 0, (void*)0, 0};
68342 static swig_type_info _swigt__p_absl__Duration = {"_p_absl__Duration", "absl::Duration *", 0, 0, (void*)0, 0};
68343 static swig_type_info _swigt__p_absl__flat_hash_setT_int_t = {"_p_absl__flat_hash_setT_int_t", "absl::flat_hash_set< int > *", 0, 0, (void*)0, 0};
68344 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
68345 static swig_type_info _swigt__p_int = {"_p_int", "int *|int_least32_t *|int32_t *", 0, 0, (void*)0, 0};
68346 static swig_type_info _swigt__p_long = {"_p_long", "intptr_t *|int_least64_t *|int_fast32_t *|int_fast64_t *|int64_t *|long *|int_fast16_t *|intmax_t *", 0, 0, (void*)0, 0};
68347 static swig_type_info _swigt__p_operations_research__Assignment = {"_p_operations_research__Assignment", "operations_research::Assignment *", 0, 0, (void*)0, 0};
68348 static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t = {"_p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t", "operations_research::AssignmentContainer< operations_research::IntVar,operations_research::IntVarElement > *|operations_research::Assignment::IntContainer *", 0, 0, (void*)0, 0};
68349 static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t = {"_p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t", "operations_research::AssignmentContainer< operations_research::IntervalVar,operations_research::IntervalVarElement > *|operations_research::Assignment::IntervalContainer *", 0, 0, (void*)0, 0};
68350 static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t = {"_p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t", "operations_research::AssignmentContainer< operations_research::SequenceVar,operations_research::SequenceVarElement > *|operations_research::Assignment::SequenceContainer *", 0, 0, (void*)0, 0};
68351 static swig_type_info _swigt__p_operations_research__AssignmentElement = {"_p_operations_research__AssignmentElement", "operations_research::AssignmentElement *", 0, 0, (void*)0, 0};
68352 static swig_type_info _swigt__p_operations_research__BaseLns = {"_p_operations_research__BaseLns", "operations_research::BaseLns *", 0, 0, (void*)0, 0};
68353 static swig_type_info _swigt__p_operations_research__BaseObject = {"_p_operations_research__BaseObject", "operations_research::BaseObject *", 0, 0, (void*)0, 0};
68354 static swig_type_info _swigt__p_operations_research__CastConstraint = {"_p_operations_research__CastConstraint", 0, 0, 0, 0, 0};
68355 static swig_type_info _swigt__p_operations_research__SymmetryBreaker = {"_p_operations_research__SymmetryBreaker", 0, 0, 0, 0, 0};
68356 static swig_type_info _swigt__p_operations_research__SearchLog = {"_p_operations_research__SearchLog", 0, 0, 0, 0, 0};
68357 static swig_type_info _swigt__p_operations_research__BaseIntExpr = {"_p_operations_research__BaseIntExpr", 0, 0, 0, 0, 0};
68358 static swig_type_info _swigt__p_operations_research__PropagationMonitor = {"_p_operations_research__PropagationMonitor", 0, 0, 0, 0, 0};
68359 static swig_type_info _swigt__p_operations_research__ImprovementSearchLimit = {"_p_operations_research__ImprovementSearchLimit", 0, 0, 0, 0, 0};
68360 static swig_type_info _swigt__p_operations_research__BooleanVar = {"_p_operations_research__BooleanVar", "operations_research::BooleanVar *", 0, 0, (void*)0, 0};
68361 static swig_type_info _swigt__p_operations_research__ChangeValue = {"_p_operations_research__ChangeValue", "operations_research::ChangeValue *", 0, 0, (void*)0, 0};
68362 static swig_type_info _swigt__p_operations_research__Constraint = {"_p_operations_research__Constraint", "operations_research::Constraint *", 0, 0, (void*)0, 0};
68363 static swig_type_info _swigt__p_operations_research__Decision = {"_p_operations_research__Decision", "operations_research::Decision *", 0, 0, (void*)0, 0};
68364 static swig_type_info _swigt__p_operations_research__DecisionBuilder = {"_p_operations_research__DecisionBuilder", "operations_research::DecisionBuilder *", 0, 0, (void*)0, 0};
68365 static swig_type_info _swigt__p_operations_research__DecisionVisitor = {"_p_operations_research__DecisionVisitor", "operations_research::DecisionVisitor *", 0, 0, (void*)0, 0};
68366 static swig_type_info _swigt__p_operations_research__DefaultPhaseParameters = {"_p_operations_research__DefaultPhaseParameters", "operations_research::DefaultPhaseParameters *", 0, 0, (void*)0, 0};
68367 static swig_type_info _swigt__p_operations_research__Demon = {"_p_operations_research__Demon", "operations_research::Demon *", 0, 0, (void*)0, 0};
68368 static swig_type_info _swigt__p_operations_research__DisjunctiveConstraint = {"_p_operations_research__DisjunctiveConstraint", "operations_research::DisjunctiveConstraint *", 0, 0, (void*)0, 0};
68369 static swig_type_info _swigt__p_operations_research__FirstSolutionStrategy__Value = {"_p_operations_research__FirstSolutionStrategy__Value", "operations_research::FirstSolutionStrategy::Value *", 0, 0, (void*)0, 0};
68370 static swig_type_info _swigt__p_operations_research__GlobalDimensionCumulOptimizer = {"_p_operations_research__GlobalDimensionCumulOptimizer", "operations_research::GlobalDimensionCumulOptimizer *", 0, 0, (void*)0, 0};
68371 static swig_type_info _swigt__p_operations_research__GlobalVehicleBreaksConstraint = {"_p_operations_research__GlobalVehicleBreaksConstraint", "operations_research::GlobalVehicleBreaksConstraint *", 0, 0, (void*)0, 0};
68372 static swig_type_info _swigt__p_operations_research__IntExpr = {"_p_operations_research__IntExpr", "operations_research::IntExpr *", 0, 0, (void*)0, 0};
68373 static swig_type_info _swigt__p_operations_research__IntTupleSet = {"_p_operations_research__IntTupleSet", "operations_research::IntTupleSet *", 0, 0, (void*)0, 0};
68374 static swig_type_info _swigt__p_operations_research__IntVar = {"_p_operations_research__IntVar", "operations_research::IntVar *", 0, 0, (void*)0, 0};
68375 static swig_type_info _swigt__p_operations_research__IntVarElement = {"_p_operations_research__IntVarElement", "operations_research::IntVarElement *", 0, 0, (void*)0, 0};
68376 static swig_type_info _swigt__p_operations_research__IntVarIterator = {"_p_operations_research__IntVarIterator", "operations_research::IntVarIterator *", 0, 0, (void*)0, 0};
68377 static swig_type_info _swigt__p_operations_research__IntVarLocalSearchFilter = {"_p_operations_research__IntVarLocalSearchFilter", "operations_research::IntVarLocalSearchFilter *", 0, 0, (void*)0, 0};
68378 static swig_type_info _swigt__p_operations_research__IntVarLocalSearchOperator = {"_p_operations_research__IntVarLocalSearchOperator", "operations_research::IntVarLocalSearchOperator *", 0, 0, (void*)0, 0};
68379 static swig_type_info _swigt__p_operations_research__IntervalVar = {"_p_operations_research__IntervalVar", "operations_research::IntervalVar *", 0, 0, (void*)0, 0};
68380 static swig_type_info _swigt__p_operations_research__IntervalVarElement = {"_p_operations_research__IntervalVarElement", "operations_research::IntervalVarElement *", 0, 0, (void*)0, 0};
68381 static swig_type_info _swigt__p_operations_research__LocalDimensionCumulOptimizer = {"_p_operations_research__LocalDimensionCumulOptimizer", "operations_research::LocalDimensionCumulOptimizer *", 0, 0, (void*)0, 0};
68382 static swig_type_info _swigt__p_operations_research__LocalSearchFilter = {"_p_operations_research__LocalSearchFilter", "operations_research::LocalSearchFilter *", 0, 0, (void*)0, 0};
68383 static swig_type_info _swigt__p_operations_research__LocalSearchFilterManager = {"_p_operations_research__LocalSearchFilterManager", "operations_research::LocalSearchFilterManager *", 0, 0, (void*)0, 0};
68384 static swig_type_info _swigt__p_operations_research__LocalSearchMonitor = {"_p_operations_research__LocalSearchMonitor", "operations_research::LocalSearchMonitor *", 0, 0, (void*)0, 0};
68385 static swig_type_info _swigt__p_operations_research__LocalSearchOperator = {"_p_operations_research__LocalSearchOperator", "operations_research::LocalSearchOperator *", 0, 0, (void*)0, 0};
68386 static swig_type_info _swigt__p_operations_research__LocalSearchPhaseParameters = {"_p_operations_research__LocalSearchPhaseParameters", "operations_research::LocalSearchPhaseParameters *", 0, 0, (void*)0, 0};
68387 static swig_type_info _swigt__p_operations_research__ModelVisitor = {"_p_operations_research__ModelVisitor", "operations_research::ModelVisitor *", 0, 0, (void*)0, 0};
68388 static swig_type_info _swigt__p_operations_research__NumericalRevT_long_t = {"_p_operations_research__NumericalRevT_long_t", "operations_research::NumericalRev< long > *|operations_research::NumericalRev< int64_t > *", 0, 0, (void*)0, 0};
68389 static swig_type_info _swigt__p_operations_research__OptimizeVar = {"_p_operations_research__OptimizeVar", "operations_research::OptimizeVar *", 0, 0, (void*)0, 0};
68390 static swig_type_info _swigt__p_operations_research__Pack = {"_p_operations_research__Pack", "operations_research::Pack *", 0, 0, (void*)0, 0};
68391 static swig_type_info _swigt__p_operations_research__PathOperator = {"_p_operations_research__PathOperator", "operations_research::PathOperator *", 0, 0, (void*)0, 0};
68392 static swig_type_info _swigt__p_operations_research__PropagationBaseObject = {"_p_operations_research__PropagationBaseObject", "operations_research::PropagationBaseObject *", 0, 0, (void*)0, 0};
68393 static swig_type_info _swigt__p_operations_research__RegularLimit = {"_p_operations_research__RegularLimit", "operations_research::RegularLimit *", 0, 0, (void*)0, 0};
68394 static swig_type_info _swigt__p_operations_research__RevT_bool_t = {"_p_operations_research__RevT_bool_t", "operations_research::Rev< bool > *", 0, 0, (void*)0, 0};
68395 static swig_type_info _swigt__p_operations_research__RevT_long_t = {"_p_operations_research__RevT_long_t", "operations_research::Rev< long > *|operations_research::Rev< int64_t > *", 0, 0, (void*)0, 0};
68396 static swig_type_info _swigt__p_operations_research__RoutingDimension = {"_p_operations_research__RoutingDimension", "operations_research::RoutingDimension *", 0, 0, (void*)0, 0};
68397 static swig_type_info _swigt__p_operations_research__RoutingIndexManager = {"_p_operations_research__RoutingIndexManager", "operations_research::RoutingIndexManager *", 0, 0, (void*)0, 0};
68398 static swig_type_info _swigt__p_operations_research__RoutingModel = {"_p_operations_research__RoutingModel", "operations_research::RoutingModel *", 0, 0, (void*)0, 0};
68399 static swig_type_info _swigt__p_operations_research__RoutingModelVisitor = {"_p_operations_research__RoutingModelVisitor", "operations_research::RoutingModelVisitor *", 0, 0, (void*)0, 0};
68400 static swig_type_info _swigt__p_operations_research__RoutingModel__VehicleTypeContainer = {"_p_operations_research__RoutingModel__VehicleTypeContainer", "operations_research::RoutingModel::VehicleTypeContainer *", 0, 0, (void*)0, 0};
68401 static swig_type_info _swigt__p_operations_research__SearchLimit = {"_p_operations_research__SearchLimit", "operations_research::SearchLimit *", 0, 0, (void*)0, 0};
68402 static swig_type_info _swigt__p_operations_research__SearchMonitor = {"_p_operations_research__SearchMonitor", "operations_research::SearchMonitor *", 0, 0, (void*)0, 0};
68403 static swig_type_info _swigt__p_operations_research__SequenceVar = {"_p_operations_research__SequenceVar", "operations_research::SequenceVar *", 0, 0, (void*)0, 0};
68404 static swig_type_info _swigt__p_operations_research__SequenceVarElement = {"_p_operations_research__SequenceVarElement", "operations_research::SequenceVarElement *", 0, 0, (void*)0, 0};
68405 static swig_type_info _swigt__p_operations_research__SequenceVarLocalSearchOperator = {"_p_operations_research__SequenceVarLocalSearchOperator", "operations_research::SequenceVarLocalSearchOperator *", 0, 0, (void*)0, 0};
68406 static swig_type_info _swigt__p_operations_research__SolutionCollector = {"_p_operations_research__SolutionCollector", "operations_research::SolutionCollector *", 0, 0, (void*)0, 0};
68407 static swig_type_info _swigt__p_operations_research__SolutionPool = {"_p_operations_research__SolutionPool", "operations_research::SolutionPool *", 0, 0, (void*)0, 0};
68408 static swig_type_info _swigt__p_operations_research__Solver = {"_p_operations_research__Solver", "operations_research::Solver *", 0, 0, (void*)0, 0};
68409 static swig_type_info _swigt__p_operations_research__Solver__SearchLogParameters = {"_p_operations_research__Solver__SearchLogParameters", "operations_research::Solver::SearchLogParameters *", 0, 0, (void*)0, 0};
68410 static swig_type_info _swigt__p_operations_research__TypeIncompatibilityChecker = {"_p_operations_research__TypeIncompatibilityChecker", "operations_research::TypeIncompatibilityChecker *", 0, 0, (void*)0, 0};
68411 static swig_type_info _swigt__p_operations_research__TypeRegulationsChecker = {"_p_operations_research__TypeRegulationsChecker", "operations_research::TypeRegulationsChecker *", 0, 0, (void*)0, 0};
68412 static swig_type_info _swigt__p_operations_research__TypeRegulationsConstraint = {"_p_operations_research__TypeRegulationsConstraint", "operations_research::TypeRegulationsConstraint *", 0, 0, (void*)0, 0};
68413 static swig_type_info _swigt__p_operations_research__TypeRequirementChecker = {"_p_operations_research__TypeRequirementChecker", "operations_research::TypeRequirementChecker *", 0, 0, (void*)0, 0};
68414 static swig_type_info _swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t = {"_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t", "operations_research::VarLocalSearchOperator< operations_research::IntVar,long,operations_research::IntVarLocalSearchHandler > *|operations_research::VarLocalSearchOperator< operations_research::IntVar,int64_t,operations_research::IntVarLocalSearchHandler > *", 0, 0, (void*)0, 0};
68415 static swig_type_info _swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t = {"_p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t", "operations_research::VarLocalSearchOperator< operations_research::SequenceVar,std::vector< int >,operations_research::SequenceVarLocalSearchHandler > *", 0, 0, (void*)0, 0};
68416 static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *|int16_t *", 0, 0, (void*)0, 0};
68417 static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|int_least8_t *|int_fast8_t *|int8_t *", 0, 0, (void*)0, 0};
68418 static swig_type_info _swigt__p_std__functionT_long_flongF_t = {"_p_std__functionT_long_flongF_t", "std::function< long (long) > *|operations_research::RoutingTransitCallback1 *|std::function< int64_t (int64_t) > *|operations_research::RoutingModel::TransitCallback1 *", 0, 0, (void*)0, 0};
68419 static swig_type_info _swigt__p_std__functionT_long_flong_longF_t = {"_p_std__functionT_long_flong_longF_t", "std::function< long (long,long) > *|operations_research::RoutingModel::TransitCallback2 *|operations_research::RoutingTransitCallback2 *", 0, 0, (void*)0, 0};
68420 static swig_type_info _swigt__p_std__ostream = {"_p_std__ostream", "std::ostream *", 0, 0, (void*)0, 0};
68421 static swig_type_info _swigt__p_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t = {"_p_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t", "std::pair< std::vector< long >,std::vector< long > > *|operations_research::RoutingIndexPair *", 0, 0, (void*)0, 0};
68422 static swig_type_info _swigt__p_std__vectorT_absl__flat_hash_setT_int_t_t = {"_p_std__vectorT_absl__flat_hash_setT_int_t_t", "std::vector< absl::flat_hash_set< int > > *", 0, 0, (void*)0, 0};
68423 static swig_type_info _swigt__p_std__vectorT_operations_research__Assignment_const_p_t = {"_p_std__vectorT_operations_research__Assignment_const_p_t", "std::vector< operations_research::Assignment const * > *", 0, 0, (void*)0, 0};
68424 static swig_type_info _swigt__p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t = {"_p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t", "std::vector< operations_research::LocalSearchFilterManager::FilterEvent > *", 0, 0, (void*)0, 0};
68425 static swig_type_info _swigt__p_std__vectorT_operations_research__RoutingDimension_p_t = {"_p_std__vectorT_operations_research__RoutingDimension_p_t", "std::vector< operations_research::RoutingDimension * > *", 0, 0, (void*)0, 0};
68426 static swig_type_info _swigt__p_std__vectorT_std__pairT_int_int_t_t = {"_p_std__vectorT_std__pairT_int_int_t_t", "std::vector< std::pair< int,int > > *", 0, 0, (void*)0, 0};
68427 static swig_type_info _swigt__p_std__vectorT_std__pairT_long_long_t_t = {"_p_std__vectorT_std__pairT_long_long_t_t", "std::vector< std::pair< long,long > > *|std::vector< std::pair< int64_t,int64_t > > *", 0, 0, (void*)0, 0};
68428 static swig_type_info _swigt__p_std__vectorT_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t_t = {"_p_std__vectorT_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t_t", "std::vector< std::pair< std::vector< long >,std::vector< long > > > *|operations_research::RoutingIndexPairs *", 0, 0, (void*)0, 0};
68429 static swig_type_info _swigt__p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t = {"_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t", "std::vector< std::unique_ptr< operations_research::GlobalDimensionCumulOptimizer > > *", 0, 0, (void*)0, 0};
68430 static swig_type_info _swigt__p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t = {"_p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t", "std::vector< std::unique_ptr< operations_research::LocalDimensionCumulOptimizer > > *", 0, 0, (void*)0, 0};
68431 static swig_type_info _swigt__p_std__vectorT_std__vectorT_long_t_t = {"_p_std__vectorT_std__vectorT_long_t_t", "std::vector< std::vector< long > > *|std::vector< std::vector< int64_t > > *", 0, 0, (void*)0, 0};
68432 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uint_least8_t *|uint_fast8_t *|uint8_t *", 0, 0, (void*)0, 0};
68433 static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "uint_least32_t *|uint32_t *|unsigned int *", 0, 0, (void*)0, 0};
68434 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "uintptr_t *|uint_least64_t *|uint_fast32_t *|uint_fast64_t *|uint64_t *|unsigned long *|uint_fast16_t *|uintmax_t *", 0, 0, (void*)0, 0};
68435 static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|uint_least16_t *|uint16_t *", 0, 0, (void*)0, 0};
68436 
68449  &_swigt__p_char,
68450  &_swigt__p_int,
68451  &_swigt__p_long,
68521  &_swigt__p_short,
68541 };
68542 
68554 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
68555 static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
68556 static swig_cast_info _swigc__p_long[] = { {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
68569 static swig_cast_info _swigc__p_operations_research__BaseObject[] = { {&_swigt__p_operations_research__DisjunctiveConstraint, _p_operations_research__DisjunctiveConstraintTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__Constraint, _p_operations_research__ConstraintTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__CastConstraint, _p_operations_research__CastConstraintTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__TypeRegulationsConstraint, _p_operations_research__TypeRegulationsConstraintTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SymmetryBreaker, _p_operations_research__SymmetryBreakerTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__Assignment, _p_operations_research__AssignmentTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__Pack, _p_operations_research__PackTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__GlobalVehicleBreaksConstraint, _p_operations_research__GlobalVehicleBreaksConstraintTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__RegularLimit, _p_operations_research__RegularLimitTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__LocalSearchOperator, _p_operations_research__LocalSearchOperatorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntVarIterator, _p_operations_research__IntVarIteratorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__PathOperator, _p_operations_research__PathOperatorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntVarLocalSearchOperator, _p_operations_research__IntVarLocalSearchOperatorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__DecisionBuilder, _p_operations_research__DecisionBuilderTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__DecisionVisitor, _p_operations_research__DecisionVisitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__ModelVisitor, _p_operations_research__ModelVisitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__RoutingModelVisitor, _p_operations_research__RoutingModelVisitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntVar, _p_operations_research__IntVarTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__Demon, _p_operations_research__DemonTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t, _p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_tTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t, _p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_tTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__OptimizeVar, _p_operations_research__OptimizeVarTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__ChangeValue, _p_operations_research__ChangeValueTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__Decision, _p_operations_research__DecisionTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__PropagationBaseObject, _p_operations_research__PropagationBaseObjectTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__BaseObject, 0, 0, 0}, {&_swigt__p_operations_research__SequenceVar, _p_operations_research__SequenceVarTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__BaseLns, _p_operations_research__BaseLnsTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SearchLog, _p_operations_research__SearchLogTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntVarLocalSearchFilter, _p_operations_research__IntVarLocalSearchFilterTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__LocalSearchFilter, _p_operations_research__LocalSearchFilterTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SolutionCollector, _p_operations_research__SolutionCollectorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SolutionPool, _p_operations_research__SolutionPoolTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SequenceVarLocalSearchOperator, _p_operations_research__SequenceVarLocalSearchOperatorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntervalVar, _p_operations_research__IntervalVarTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__IntExpr, _p_operations_research__IntExprTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__BaseIntExpr, _p_operations_research__BaseIntExprTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SearchMonitor, _p_operations_research__SearchMonitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__PropagationMonitor, _p_operations_research__PropagationMonitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__LocalSearchMonitor, _p_operations_research__LocalSearchMonitorTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__BooleanVar, _p_operations_research__BooleanVarTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__SearchLimit, _p_operations_research__SearchLimitTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__ImprovementSearchLimit, _p_operations_research__ImprovementSearchLimitTo_p_operations_research__BaseObject, 0, 0}, {&_swigt__p_operations_research__LocalSearchFilterManager, _p_operations_research__LocalSearchFilterManagerTo_p_operations_research__BaseObject, 0, 0},{0, 0, 0, 0}};
68595 static swig_cast_info _swigc__p_operations_research__LocalSearchOperator[] = { {&_swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t, _p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_tTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t, _p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_tTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__LocalSearchOperator, 0, 0, 0}, {&_swigt__p_operations_research__IntVarLocalSearchOperator, _p_operations_research__IntVarLocalSearchOperatorTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__PathOperator, _p_operations_research__PathOperatorTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__BaseLns, _p_operations_research__BaseLnsTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__ChangeValue, _p_operations_research__ChangeValueTo_p_operations_research__LocalSearchOperator, 0, 0}, {&_swigt__p_operations_research__SequenceVarLocalSearchOperator, _p_operations_research__SequenceVarLocalSearchOperatorTo_p_operations_research__LocalSearchOperator, 0, 0},{0, 0, 0, 0}};
68602 static swig_cast_info _swigc__p_operations_research__PropagationBaseObject[] = { {&_swigt__p_operations_research__IntExpr, _p_operations_research__IntExprTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__BaseIntExpr, _p_operations_research__BaseIntExprTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__IntVar, _p_operations_research__IntVarTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__IntervalVar, _p_operations_research__IntervalVarTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__BooleanVar, _p_operations_research__BooleanVarTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__Constraint, _p_operations_research__ConstraintTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__CastConstraint, _p_operations_research__CastConstraintTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__DisjunctiveConstraint, _p_operations_research__DisjunctiveConstraintTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__TypeRegulationsConstraint, _p_operations_research__TypeRegulationsConstraintTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__Assignment, _p_operations_research__AssignmentTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__GlobalVehicleBreaksConstraint, _p_operations_research__GlobalVehicleBreaksConstraintTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__PropagationBaseObject, 0, 0, 0}, {&_swigt__p_operations_research__SequenceVar, _p_operations_research__SequenceVarTo_p_operations_research__PropagationBaseObject, 0, 0}, {&_swigt__p_operations_research__Pack, _p_operations_research__PackTo_p_operations_research__PropagationBaseObject, 0, 0},{0, 0, 0, 0}};
68626 static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}};
68627 static swig_cast_info _swigc__p_signed_char[] = { {&_swigt__p_signed_char, 0, 0, 0},{0, 0, 0, 0}};
68630 static swig_cast_info _swigc__p_std__ostream[] = { {&_swigt__p_std__ostream, 0, 0, 0},{0, 0, 0, 0}};
68642 static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
68643 static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
68644 static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
68646 
68660  _swigc__p_int,
68751 };
68752 
68753 
68754 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
68755 
68757 {0, 0, 0, 0.0, 0, 0}};
68758 
68759 #ifdef __cplusplus
68760 }
68761 #endif
68762 /* -----------------------------------------------------------------------------
68763  * Type initialization:
68764  * This problem is tough by the requirement that no dynamic
68765  * memory is used. Also, since swig_type_info structures store pointers to
68766  * swig_cast_info structures and swig_cast_info structures store pointers back
68767  * to swig_type_info structures, we need some lookup code at initialization.
68768  * The idea is that swig generates all the structures that are needed.
68769  * The runtime then collects these partially filled structures.
68770  * The SWIG_InitializeModule function takes these initial arrays out of
68771  * swig_module, and does all the lookup, filling in the swig_module.types
68772  * array with the correct data and linking the correct swig_cast_info
68773  * structures together.
68774  *
68775  * The generated swig_type_info structures are assigned statically to an initial
68776  * array. We just loop through that array, and handle each type individually.
68777  * First we lookup if this type has been already loaded, and if so, use the
68778  * loaded structure instead of the generated one. Then we have to fill in the
68779  * cast linked list. The cast data is initially stored in something like a
68780  * two-dimensional array. Each row corresponds to a type (there are the same
68781  * number of rows as there are in the swig_type_initial array). Each entry in
68782  * a column is one of the swig_cast_info structures for that type.
68783  * The cast_initial array is actually an array of arrays, because each row has
68784  * a variable number of columns. So to actually build the cast linked list,
68785  * we find the array of casts associated with the type, and loop through it
68786  * adding the casts to the list. The one last trick we need to do is making
68787  * sure the type pointer in the swig_cast_info struct is correct.
68788  *
68789  * First off, we lookup the cast->type name to see if it is already loaded.
68790  * There are three cases to handle:
68791  * 1) If the cast->type has already been loaded AND the type we are adding
68792  * casting info to has not been loaded (it is in this module), THEN we
68793  * replace the cast->type pointer with the type pointer that has already
68794  * been loaded.
68795  * 2) If BOTH types (the one we are adding casting info to, and the
68796  * cast->type) are loaded, THEN the cast info has already been loaded by
68797  * the previous module so we just ignore it.
68798  * 3) Finally, if cast->type has not already been loaded, then we add that
68799  * swig_cast_info to the linked list (because the cast->type) pointer will
68800  * be correct.
68801  * ----------------------------------------------------------------------------- */
68802 
68803 #ifdef __cplusplus
68804 extern "C" {
68805 #if 0
68806 } /* c-mode */
68807 #endif
68808 #endif
68809 
68810 #if 0
68811 #define SWIGRUNTIME_DEBUG
68812 #endif
68813 
68814 
68815 SWIGRUNTIME void
68816 SWIG_InitializeModule(void *clientdata) {
68817  size_t i;
68818  swig_module_info *module_head, *iter;
68819  int init;
68820 
68821  /* check to see if the circular list has been setup, if not, set it up */
68822  if (swig_module.next==0) {
68823  /* Initialize the swig_module */
68827  init = 1;
68828  } else {
68829  init = 0;
68830  }
68831 
68832  /* Try and load any already created modules */
68833  module_head = SWIG_GetModule(clientdata);
68834  if (!module_head) {
68835  /* This is the first module loaded for this interpreter */
68836  /* so set the swig module into the interpreter */
68837  SWIG_SetModule(clientdata, &swig_module);
68838  } else {
68839  /* the interpreter has loaded a SWIG module, but has it loaded this one? */
68840  iter=module_head;
68841  do {
68842  if (iter==&swig_module) {
68843  /* Our module is already in the list, so there's nothing more to do. */
68844  return;
68845  }
68846  iter=iter->next;
68847  } while (iter!= module_head);
68848 
68849  /* otherwise we must add our module into the list */
68850  swig_module.next = module_head->next;
68851  module_head->next = &swig_module;
68852  }
68853 
68854  /* When multiple interpreters are used, a module could have already been initialized in
68855  a different interpreter, but not yet have a pointer in this interpreter.
68856  In this case, we do not want to continue adding types... everything should be
68857  set up already */
68858  if (init == 0) return;
68859 
68860  /* Now work on filling in swig_module.types */
68861 #ifdef SWIGRUNTIME_DEBUG
68862  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
68863 #endif
68864  for (i = 0; i < swig_module.size; ++i) {
68865  swig_type_info *type = 0;
68866  swig_type_info *ret;
68867  swig_cast_info *cast;
68868 
68869 #ifdef SWIGRUNTIME_DEBUG
68870  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
68871 #endif
68872 
68873  /* if there is another module already loaded */
68874  if (swig_module.next != &swig_module) {
68876  }
68877  if (type) {
68878  /* Overwrite clientdata field */
68879 #ifdef SWIGRUNTIME_DEBUG
68880  printf("SWIG_InitializeModule: found type %s\n", type->name);
68881 #endif
68884 #ifdef SWIGRUNTIME_DEBUG
68885  printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
68886 #endif
68887  }
68888  } else {
68889  type = swig_module.type_initial[i];
68890  }
68891 
68892  /* Insert casting types */
68893  cast = swig_module.cast_initial[i];
68894  while (cast->type) {
68895  /* Don't need to add information already in the list */
68896  ret = 0;
68897 #ifdef SWIGRUNTIME_DEBUG
68898  printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
68899 #endif
68900  if (swig_module.next != &swig_module) {
68902 #ifdef SWIGRUNTIME_DEBUG
68903  if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
68904 #endif
68905  }
68906  if (ret) {
68907  if (type == swig_module.type_initial[i]) {
68908 #ifdef SWIGRUNTIME_DEBUG
68909  printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
68910 #endif
68911  cast->type = ret;
68912  ret = 0;
68913  } else {
68914  /* Check for casting already in the list */
68915  swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
68916 #ifdef SWIGRUNTIME_DEBUG
68917  if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
68918 #endif
68919  if (!ocast) ret = 0;
68920  }
68921  }
68922 
68923  if (!ret) {
68924 #ifdef SWIGRUNTIME_DEBUG
68925  printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
68926 #endif
68927  if (type->cast) {
68928  type->cast->prev = cast;
68929  cast->next = type->cast;
68930  }
68931  type->cast = cast;
68932  }
68933  cast++;
68934  }
68935  /* Set entry in modules->types array equal to the type */
68936  swig_module.types[i] = type;
68937  }
68938  swig_module.types[i] = 0;
68939 
68940 #ifdef SWIGRUNTIME_DEBUG
68941  printf("**** SWIG_InitializeModule: Cast List ******\n");
68942  for (i = 0; i < swig_module.size; ++i) {
68943  int j = 0;
68945  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
68946  while (cast->type) {
68947  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
68948  cast++;
68949  ++j;
68950  }
68951  printf("---- Total casts: %d\n",j);
68952  }
68953  printf("**** SWIG_InitializeModule: Cast List ******\n");
68954 #endif
68955 }
68956 
68957 /* This function will propagate the clientdata field of type to
68958 * any new swig_type_info structures that have been added into the list
68959 * of equivalent types. It is like calling
68960 * SWIG_TypeClientData(type, clientdata) a second time.
68961 */
68962 SWIGRUNTIME void
68964  size_t i;
68965  swig_cast_info *equiv;
68966  static int init_run = 0;
68967 
68968  if (init_run) return;
68969  init_run = 1;
68970 
68971  for (i = 0; i < swig_module.size; i++) {
68972  if (swig_module.types[i]->clientdata) {
68973  equiv = swig_module.types[i]->cast;
68974  while (equiv) {
68975  if (!equiv->converter) {
68976  if (equiv->type && !equiv->type->clientdata)
68978  }
68979  equiv = equiv->next;
68980  }
68981  }
68982  }
68983 }
68984 
68985 #ifdef __cplusplus
68986 #if 0
68987 {
68988  /* c-mode */
68989 #endif
68990 }
68991 #endif
68992 
68993 
68994 
68995 #ifdef __cplusplus
68996 extern "C" {
68997 #endif
68998 
68999  /* Python-specific SWIG API */
69000 #define SWIG_newvarlink() SWIG_Python_newvarlink()
69001 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
69002 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
69003 
69004  /* -----------------------------------------------------------------------------
69005  * global variable support code.
69006  * ----------------------------------------------------------------------------- */
69007 
69008  typedef struct swig_globalvar {
69009  char *name; /* Name of global variable */
69010  PyObject *(*get_attr)(void); /* Return the current value */
69011  int (*set_attr)(PyObject *); /* Set the value */
69012  struct swig_globalvar *next;
69013  } swig_globalvar;
69014 
69015  typedef struct swig_varlinkobject {
69016  PyObject_HEAD
69019 
69020  SWIGINTERN PyObject *
69022 #if PY_VERSION_HEX >= 0x03000000
69023  return PyUnicode_InternFromString("<Swig global variables>");
69024 #else
69025  return PyString_FromString("<Swig global variables>");
69026 #endif
69027  }
69028 
69029  SWIGINTERN PyObject *
69031 #if PY_VERSION_HEX >= 0x03000000
69032  PyObject *str = PyUnicode_InternFromString("(");
69033  PyObject *tail;
69034  PyObject *joined;
69036  for (var = v->vars; var; var=var->next) {
69037  tail = PyUnicode_FromString(var->name);
69038  joined = PyUnicode_Concat(str, tail);
69039  Py_DecRef(str);
69040  Py_DecRef(tail);
69041  str = joined;
69042  if (var->next) {
69043  tail = PyUnicode_InternFromString(", ");
69044  joined = PyUnicode_Concat(str, tail);
69045  Py_DecRef(str);
69046  Py_DecRef(tail);
69047  str = joined;
69048  }
69049  }
69050  tail = PyUnicode_InternFromString(")");
69051  joined = PyUnicode_Concat(str, tail);
69052  Py_DecRef(str);
69053  Py_DecRef(tail);
69054  str = joined;
69055 #else
69056  PyObject *str = PyString_FromString("(");
69058  for (var = v->vars; var; var=var->next) {
69059  PyString_ConcatAndDel(&str,PyString_FromString(var->name));
69060  if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
69061  }
69062  PyString_ConcatAndDel(&str,PyString_FromString(")"));
69063 #endif
69064  return str;
69065  }
69066 
69067  SWIGINTERN void
69069  swig_globalvar *var = v->vars;
69070  while (var) {
69071  swig_globalvar *n = var->next;
69072  free(var->name);
69073  free(var);
69074  var = n;
69075  }
69076  }
69077 
69078  SWIGINTERN PyObject *
69080  PyObject *res = NULL;
69081  swig_globalvar *var = v->vars;
69082  while (var) {
69083  if (strcmp(var->name,n) == 0) {
69084  res = (*var->get_attr)();
69085  break;
69086  }
69087  var = var->next;
69088  }
69089  if (res == NULL && !PyErr_Occurred()) {
69090  PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
69091  }
69092  return res;
69093  }
69094 
69095  SWIGINTERN int
69096  swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
69097  int res = 1;
69098  swig_globalvar *var = v->vars;
69099  while (var) {
69100  if (strcmp(var->name,n) == 0) {
69101  res = (*var->set_attr)(p);
69102  break;
69103  }
69104  var = var->next;
69105  }
69106  if (res == 1 && !PyErr_Occurred()) {
69107  PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
69108  }
69109  return res;
69110  }
69111 
69112  SWIGINTERN PyTypeObject*
69114  static char varlink__doc__[] = "Swig var link object";
69115  static PyTypeObject varlink_type;
69116  static int type_init = 0;
69117  if (!type_init) {
69118  const PyTypeObject tmp = {
69119 #if PY_VERSION_HEX >= 0x03000000
69120  PyVarObject_HEAD_INIT(NULL, 0)
69121 #else
69122  PyObject_HEAD_INIT(NULL)
69123  0, /* ob_size */
69124 #endif
69125  "swigvarlink", /* tp_name */
69126  sizeof(swig_varlinkobject), /* tp_basicsize */
69127  0, /* tp_itemsize */
69128  (destructor) swig_varlink_dealloc, /* tp_dealloc */
69129  0, /* tp_print */
69130  (getattrfunc) swig_varlink_getattr, /* tp_getattr */
69131  (setattrfunc) swig_varlink_setattr, /* tp_setattr */
69132  0, /* tp_compare */
69133  (reprfunc) swig_varlink_repr, /* tp_repr */
69134  0, /* tp_as_number */
69135  0, /* tp_as_sequence */
69136  0, /* tp_as_mapping */
69137  0, /* tp_hash */
69138  0, /* tp_call */
69139  (reprfunc) swig_varlink_str, /* tp_str */
69140  0, /* tp_getattro */
69141  0, /* tp_setattro */
69142  0, /* tp_as_buffer */
69143  0, /* tp_flags */
69144  varlink__doc__, /* tp_doc */
69145  0, /* tp_traverse */
69146  0, /* tp_clear */
69147  0, /* tp_richcompare */
69148  0, /* tp_weaklistoffset */
69149  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
69150  0, /* tp_del */
69151  0, /* tp_version_tag */
69152 #if PY_VERSION_HEX >= 0x03040000
69153  0, /* tp_finalize */
69154 #endif
69155 #ifdef COUNT_ALLOCS
69156  0, /* tp_allocs */
69157  0, /* tp_frees */
69158  0, /* tp_maxalloc */
69159  0, /* tp_prev */
69160  0 /* tp_next */
69161 #endif
69162  };
69163  varlink_type = tmp;
69164  type_init = 1;
69165  if (PyType_Ready(&varlink_type) < 0)
69166  return NULL;
69167  }
69168  return &varlink_type;
69169  }
69170 
69171  /* Create a variable linking object for use later */
69172  SWIGINTERN PyObject *
69174  swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
69175  if (result) {
69176  result->vars = 0;
69177  }
69178  return ((PyObject*) result);
69179  }
69180 
69181  SWIGINTERN void
69182  SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
69185  if (gv) {
69186  size_t size = strlen(name)+1;
69187  gv->name = (char *)malloc(size);
69188  if (gv->name) {
69189  memcpy(gv->name, name, size);
69190  gv->get_attr = get_attr;
69191  gv->set_attr = set_attr;
69192  gv->next = v->vars;
69193  }
69194  }
69195  v->vars = gv;
69196  }
69197 
69198  SWIGINTERN PyObject *
69200  static PyObject *globals = 0;
69201  if (!globals) {
69202  globals = SWIG_newvarlink();
69203  }
69204  return globals;
69205  }
69206 
69207  /* -----------------------------------------------------------------------------
69208  * constants/methods manipulation
69209  * ----------------------------------------------------------------------------- */
69210 
69211  /* Install Constants */
69212  SWIGINTERN void
69213  SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
69214  PyObject *obj = 0;
69215  size_t i;
69216  for (i = 0; constants[i].type; ++i) {
69217  switch(constants[i].type) {
69218  case SWIG_PY_POINTER:
69219  obj = SWIG_InternalNewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
69220  break;
69221  case SWIG_PY_BINARY:
69222  obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
69223  break;
69224  default:
69225  obj = 0;
69226  break;
69227  }
69228  if (obj) {
69229  PyDict_SetItemString(d, constants[i].name, obj);
69230  Py_DECREF(obj);
69231  }
69232  }
69233  }
69234 
69235  /* -----------------------------------------------------------------------------*/
69236  /* Fix SwigMethods to carry the callback ptrs when needed */
69237  /* -----------------------------------------------------------------------------*/
69238 
69239  SWIGINTERN void
69240  SWIG_Python_FixMethods(PyMethodDef *methods,
69241  swig_const_info *const_table,
69242  swig_type_info **types,
69243  swig_type_info **types_initial) {
69244  size_t i;
69245  for (i = 0; methods[i].ml_name; ++i) {
69246  const char *c = methods[i].ml_doc;
69247  if (!c) continue;
69248  c = strstr(c, "swig_ptr: ");
69249  if (c) {
69250  int j;
69251  swig_const_info *ci = 0;
69252  const char *name = c + 10;
69253  for (j = 0; const_table[j].type; ++j) {
69254  if (strncmp(const_table[j].name, name,
69255  strlen(const_table[j].name)) == 0) {
69256  ci = &(const_table[j]);
69257  break;
69258  }
69259  }
69260  if (ci) {
69261  void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
69262  if (ptr) {
69263  size_t shift = (ci->ptype) - types;
69264  swig_type_info *ty = types_initial[shift];
69265  size_t ldoc = (c - methods[i].ml_doc);
69266  size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
69267  char *ndoc = (char*)malloc(ldoc + lptr + 10);
69268  if (ndoc) {
69269  char *buff = ndoc;
69270  memcpy(buff, methods[i].ml_doc, ldoc);
69271  buff += ldoc;
69272  memcpy(buff, "swig_ptr: ", 10);
69273  buff += 10;
69274  SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
69275  methods[i].ml_doc = ndoc;
69276  }
69277  }
69278  }
69279  }
69280  }
69281  }
69282 
69283  /* -----------------------------------------------------------------------------
69284  * Method creation and docstring support functions
69285  * ----------------------------------------------------------------------------- */
69286 
69287  /* -----------------------------------------------------------------------------
69288  * Function to find the method definition with the correct docstring for the
69289  * proxy module as opposed to the low-level API
69290  * ----------------------------------------------------------------------------- */
69291 
69292  SWIGINTERN PyMethodDef *SWIG_PythonGetProxyDoc(const char *name) {
69293  /* Find the function in the modified method table */
69294  size_t offset = 0;
69295  int found = 0;
69296  while (SwigMethods_proxydocs[offset].ml_meth != NULL) {
69297  if (strcmp(SwigMethods_proxydocs[offset].ml_name, name) == 0) {
69298  found = 1;
69299  break;
69300  }
69301  offset++;
69302  }
69303  /* Use the copy with the modified docstring if available */
69304  return found ? &SwigMethods_proxydocs[offset] : NULL;
69305  }
69306 
69307  /* -----------------------------------------------------------------------------
69308  * Wrapper of PyInstanceMethod_New() used in Python 3
69309  * It is exported to the generated module, used for -fastproxy
69310  * ----------------------------------------------------------------------------- */
69311 
69312  SWIGINTERN PyObject *SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func) {
69313  if (PyCFunction_Check(func)) {
69314  PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
69315  PyMethodDef *ml = SWIG_PythonGetProxyDoc(funcobj->m_ml->ml_name);
69316  if (ml)
69317  func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
69318  }
69319 #if PY_VERSION_HEX >= 0x03000000
69320  return PyInstanceMethod_New(func);
69321 #else
69322  return PyMethod_New(func, NULL, NULL);
69323 #endif
69324  }
69325 
69326  /* -----------------------------------------------------------------------------
69327  * Wrapper of PyStaticMethod_New()
69328  * It is exported to the generated module, used for -fastproxy
69329  * ----------------------------------------------------------------------------- */
69330 
69331  SWIGINTERN PyObject *SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func) {
69332  if (PyCFunction_Check(func)) {
69333  PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
69334  PyMethodDef *ml = SWIG_PythonGetProxyDoc(funcobj->m_ml->ml_name);
69335  if (ml)
69336  func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
69337  }
69338  return PyStaticMethod_New(func);
69339  }
69340 
69341 #ifdef __cplusplus
69342 }
69343 #endif
69344 
69345 /* -----------------------------------------------------------------------------*
69346  * Partial Init method
69347  * -----------------------------------------------------------------------------*/
69348 
69349 #ifdef __cplusplus
69350 extern "C"
69351 #endif
69352 
69353 SWIGEXPORT
69354 #if PY_VERSION_HEX >= 0x03000000
69355 PyObject*
69356 #else
69357 void
69358 #endif
69359 SWIG_init(void) {
69360  PyObject *m, *d, *md, *globals;
69361 
69362 #if PY_VERSION_HEX >= 0x03000000
69363  static struct PyModuleDef SWIG_module = {
69364  PyModuleDef_HEAD_INIT,
69365  SWIG_name,
69366  NULL,
69367  -1,
69368  SwigMethods,
69369  NULL,
69370  NULL,
69371  NULL,
69372  NULL
69373  };
69374 #endif
69375 
69376 #if defined(SWIGPYTHON_BUILTIN)
69377  static SwigPyClientData SwigPyObject_clientdata = {
69378  0, 0, 0, 0, 0, 0, 0
69379  };
69380  static PyGetSetDef this_getset_def = {
69381  (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
69382  };
69383  static SwigPyGetSet thisown_getset_closure = {
69386  };
69387  static PyGetSetDef thisown_getset_def = {
69388  (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
69389  };
69390  PyTypeObject *builtin_pytype;
69391  int builtin_base_count;
69392  swig_type_info *builtin_basetype;
69393  PyObject *tuple;
69394  PyGetSetDescrObject *static_getset;
69395  PyTypeObject *metatype;
69396  PyTypeObject *swigpyobject;
69397  SwigPyClientData *cd;
69398  PyObject *public_interface, *public_symbol;
69399  PyObject *this_descr;
69400  PyObject *thisown_descr;
69401  PyObject *self = 0;
69402  int i;
69403 
69404  (void)builtin_pytype;
69405  (void)builtin_base_count;
69406  (void)builtin_basetype;
69407  (void)tuple;
69408  (void)static_getset;
69409  (void)self;
69410 
69411  /* Metaclass is used to implement static member variables */
69412  metatype = SwigPyObjectType();
69413  assert(metatype);
69414 #endif
69415 
69416  (void)globals;
69417 
69418  /* Create singletons now to avoid potential deadlocks with multi-threaded usage after module initialization */
69419  SWIG_This();
69422 #ifndef SWIGPYTHON_BUILTIN
69424 #endif
69425 
69426  /* Fix SwigMethods to carry the callback ptrs when needed */
69428 
69429 #if PY_VERSION_HEX >= 0x03000000
69430  m = PyModule_Create(&SWIG_module);
69431 #else
69432  m = Py_InitModule(SWIG_name, SwigMethods);
69433 #endif
69434 
69435  md = d = PyModule_GetDict(m);
69436  (void)md;
69437 
69439 
69440 #ifdef SWIGPYTHON_BUILTIN
69441  swigpyobject = SwigPyObject_TypeOnce();
69442 
69443  SwigPyObject_stype = SWIG_MangledTypeQuery("_p_SwigPyObject");
69444  assert(SwigPyObject_stype);
69445  cd = (SwigPyClientData*) SwigPyObject_stype->clientdata;
69446  if (!cd) {
69447  SwigPyObject_stype->clientdata = &SwigPyObject_clientdata;
69448  SwigPyObject_clientdata.pytype = swigpyobject;
69449  } else if (swigpyobject->tp_basicsize != cd->pytype->tp_basicsize) {
69450  PyErr_SetString(PyExc_RuntimeError, "Import error: attempted to load two incompatible swig-generated modules.");
69451 # if PY_VERSION_HEX >= 0x03000000
69452  return NULL;
69453 # else
69454  return;
69455 # endif
69456  }
69457 
69458  /* All objects have a 'this' attribute */
69459  this_descr = PyDescr_NewGetSet(SwigPyObject_type(), &this_getset_def);
69460  (void)this_descr;
69461 
69462  /* All objects have a 'thisown' attribute */
69463  thisown_descr = PyDescr_NewGetSet(SwigPyObject_type(), &thisown_getset_def);
69464  (void)thisown_descr;
69465 
69466  public_interface = PyList_New(0);
69467  public_symbol = 0;
69468  (void)public_symbol;
69469 
69470  PyDict_SetItemString(md, "__all__", public_interface);
69471  Py_DECREF(public_interface);
69472  for (i = 0; SwigMethods[i].ml_name != NULL; ++i)
69473  SwigPyBuiltin_AddPublicSymbol(public_interface, SwigMethods[i].ml_name);
69474  for (i = 0; swig_const_table[i].name != 0; ++i)
69475  SwigPyBuiltin_AddPublicSymbol(public_interface, swig_const_table[i].name);
69476 #endif
69477 
69479 
69480  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_CHOOSE_MAX_SUM_IMPACT",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::CHOOSE_MAX_SUM_IMPACT)));
69481  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_CHOOSE_MAX_AVERAGE_IMPACT",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::CHOOSE_MAX_AVERAGE_IMPACT)));
69482  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_CHOOSE_MAX_VALUE_IMPACT",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::CHOOSE_MAX_VALUE_IMPACT)));
69483  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_SELECT_MIN_IMPACT",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::SELECT_MIN_IMPACT)));
69484  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_SELECT_MAX_IMPACT",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::SELECT_MAX_IMPACT)));
69485  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_NONE",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::NONE)));
69486  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_NORMAL",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::NORMAL)));
69487  SWIG_Python_SetConstant(d, "DefaultPhaseParameters_VERBOSE",SWIG_From_int(static_cast< int >(operations_research::DefaultPhaseParameters::VERBOSE)));
69488  SWIG_Python_SetConstant(d, "Solver_INT_VAR_DEFAULT",SWIG_From_int(static_cast< int >(operations_research::Solver::INT_VAR_DEFAULT)));
69489  SWIG_Python_SetConstant(d, "Solver_INT_VAR_SIMPLE",SWIG_From_int(static_cast< int >(operations_research::Solver::INT_VAR_SIMPLE)));
69490  SWIG_Python_SetConstant(d, "Solver_CHOOSE_FIRST_UNBOUND",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_FIRST_UNBOUND)));
69491  SWIG_Python_SetConstant(d, "Solver_CHOOSE_RANDOM",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_RANDOM)));
69492  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SIZE_LOWEST_MIN",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MIN)));
69493  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SIZE_HIGHEST_MIN",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MIN)));
69494  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SIZE_LOWEST_MAX",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MAX)));
69495  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SIZE_HIGHEST_MAX",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MAX)));
69496  SWIG_Python_SetConstant(d, "Solver_CHOOSE_LOWEST_MIN",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_LOWEST_MIN)));
69497  SWIG_Python_SetConstant(d, "Solver_CHOOSE_HIGHEST_MAX",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_HIGHEST_MAX)));
69498  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SIZE",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SIZE)));
69499  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MAX_SIZE",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MAX_SIZE)));
69500  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MAX_REGRET_ON_MIN",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MAX_REGRET_ON_MIN)));
69501  SWIG_Python_SetConstant(d, "Solver_CHOOSE_PATH",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_PATH)));
69502  SWIG_Python_SetConstant(d, "Solver_INT_VALUE_DEFAULT",SWIG_From_int(static_cast< int >(operations_research::Solver::INT_VALUE_DEFAULT)));
69503  SWIG_Python_SetConstant(d, "Solver_INT_VALUE_SIMPLE",SWIG_From_int(static_cast< int >(operations_research::Solver::INT_VALUE_SIMPLE)));
69504  SWIG_Python_SetConstant(d, "Solver_ASSIGN_MIN_VALUE",SWIG_From_int(static_cast< int >(operations_research::Solver::ASSIGN_MIN_VALUE)));
69505  SWIG_Python_SetConstant(d, "Solver_ASSIGN_MAX_VALUE",SWIG_From_int(static_cast< int >(operations_research::Solver::ASSIGN_MAX_VALUE)));
69506  SWIG_Python_SetConstant(d, "Solver_ASSIGN_RANDOM_VALUE",SWIG_From_int(static_cast< int >(operations_research::Solver::ASSIGN_RANDOM_VALUE)));
69507  SWIG_Python_SetConstant(d, "Solver_ASSIGN_CENTER_VALUE",SWIG_From_int(static_cast< int >(operations_research::Solver::ASSIGN_CENTER_VALUE)));
69508  SWIG_Python_SetConstant(d, "Solver_SPLIT_LOWER_HALF",SWIG_From_int(static_cast< int >(operations_research::Solver::SPLIT_LOWER_HALF)));
69509  SWIG_Python_SetConstant(d, "Solver_SPLIT_UPPER_HALF",SWIG_From_int(static_cast< int >(operations_research::Solver::SPLIT_UPPER_HALF)));
69510  SWIG_Python_SetConstant(d, "Solver_SEQUENCE_DEFAULT",SWIG_From_int(static_cast< int >(operations_research::Solver::SEQUENCE_DEFAULT)));
69511  SWIG_Python_SetConstant(d, "Solver_SEQUENCE_SIMPLE",SWIG_From_int(static_cast< int >(operations_research::Solver::SEQUENCE_SIMPLE)));
69512  SWIG_Python_SetConstant(d, "Solver_CHOOSE_MIN_SLACK_RANK_FORWARD",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_MIN_SLACK_RANK_FORWARD)));
69513  SWIG_Python_SetConstant(d, "Solver_CHOOSE_RANDOM_RANK_FORWARD",SWIG_From_int(static_cast< int >(operations_research::Solver::CHOOSE_RANDOM_RANK_FORWARD)));
69514  SWIG_Python_SetConstant(d, "Solver_INTERVAL_DEFAULT",SWIG_From_int(static_cast< int >(operations_research::Solver::INTERVAL_DEFAULT)));
69515  SWIG_Python_SetConstant(d, "Solver_INTERVAL_SIMPLE",SWIG_From_int(static_cast< int >(operations_research::Solver::INTERVAL_SIMPLE)));
69516  SWIG_Python_SetConstant(d, "Solver_INTERVAL_SET_TIMES_FORWARD",SWIG_From_int(static_cast< int >(operations_research::Solver::INTERVAL_SET_TIMES_FORWARD)));
69517  SWIG_Python_SetConstant(d, "Solver_INTERVAL_SET_TIMES_BACKWARD",SWIG_From_int(static_cast< int >(operations_research::Solver::INTERVAL_SET_TIMES_BACKWARD)));
69518  SWIG_Python_SetConstant(d, "Solver_TWOOPT",SWIG_From_int(static_cast< int >(operations_research::Solver::TWOOPT)));
69519  SWIG_Python_SetConstant(d, "Solver_OROPT",SWIG_From_int(static_cast< int >(operations_research::Solver::OROPT)));
69520  SWIG_Python_SetConstant(d, "Solver_RELOCATE",SWIG_From_int(static_cast< int >(operations_research::Solver::RELOCATE)));
69521  SWIG_Python_SetConstant(d, "Solver_EXCHANGE",SWIG_From_int(static_cast< int >(operations_research::Solver::EXCHANGE)));
69522  SWIG_Python_SetConstant(d, "Solver_CROSS",SWIG_From_int(static_cast< int >(operations_research::Solver::CROSS)));
69523  SWIG_Python_SetConstant(d, "Solver_MAKEACTIVE",SWIG_From_int(static_cast< int >(operations_research::Solver::MAKEACTIVE)));
69524  SWIG_Python_SetConstant(d, "Solver_MAKEINACTIVE",SWIG_From_int(static_cast< int >(operations_research::Solver::MAKEINACTIVE)));
69525  SWIG_Python_SetConstant(d, "Solver_MAKECHAININACTIVE",SWIG_From_int(static_cast< int >(operations_research::Solver::MAKECHAININACTIVE)));
69526  SWIG_Python_SetConstant(d, "Solver_SWAPACTIVE",SWIG_From_int(static_cast< int >(operations_research::Solver::SWAPACTIVE)));
69527  SWIG_Python_SetConstant(d, "Solver_EXTENDEDSWAPACTIVE",SWIG_From_int(static_cast< int >(operations_research::Solver::EXTENDEDSWAPACTIVE)));
69528  SWIG_Python_SetConstant(d, "Solver_PATHLNS",SWIG_From_int(static_cast< int >(operations_research::Solver::PATHLNS)));
69529  SWIG_Python_SetConstant(d, "Solver_FULLPATHLNS",SWIG_From_int(static_cast< int >(operations_research::Solver::FULLPATHLNS)));
69530  SWIG_Python_SetConstant(d, "Solver_UNACTIVELNS",SWIG_From_int(static_cast< int >(operations_research::Solver::UNACTIVELNS)));
69531  SWIG_Python_SetConstant(d, "Solver_INCREMENT",SWIG_From_int(static_cast< int >(operations_research::Solver::INCREMENT)));
69532  SWIG_Python_SetConstant(d, "Solver_DECREMENT",SWIG_From_int(static_cast< int >(operations_research::Solver::DECREMENT)));
69533  SWIG_Python_SetConstant(d, "Solver_SIMPLELNS",SWIG_From_int(static_cast< int >(operations_research::Solver::SIMPLELNS)));
69534  SWIG_Python_SetConstant(d, "Solver_GE",SWIG_From_int(static_cast< int >(operations_research::Solver::GE)));
69535  SWIG_Python_SetConstant(d, "Solver_LE",SWIG_From_int(static_cast< int >(operations_research::Solver::LE)));
69536  SWIG_Python_SetConstant(d, "Solver_EQ",SWIG_From_int(static_cast< int >(operations_research::Solver::EQ)));
69537  SWIG_Python_SetConstant(d, "Solver_DELAYED_PRIORITY",SWIG_From_int(static_cast< int >(operations_research::Solver::DELAYED_PRIORITY)));
69538  SWIG_Python_SetConstant(d, "Solver_VAR_PRIORITY",SWIG_From_int(static_cast< int >(operations_research::Solver::VAR_PRIORITY)));
69539  SWIG_Python_SetConstant(d, "Solver_NORMAL_PRIORITY",SWIG_From_int(static_cast< int >(operations_research::Solver::NORMAL_PRIORITY)));
69540  SWIG_Python_SetConstant(d, "BOOL_UNSPECIFIED",SWIG_From_int(static_cast< int >(operations_research::BOOL_UNSPECIFIED)));
69541  SWIG_Python_SetConstant(d, "BOOL_FALSE",SWIG_From_int(static_cast< int >(operations_research::BOOL_FALSE)));
69542  SWIG_Python_SetConstant(d, "BOOL_TRUE",SWIG_From_int(static_cast< int >(operations_research::BOOL_TRUE)));
69543  SWIG_Python_SetConstant(d, "RoutingModel_ROUTING_NOT_SOLVED",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ROUTING_NOT_SOLVED)));
69544  SWIG_Python_SetConstant(d, "RoutingModel_ROUTING_SUCCESS",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ROUTING_SUCCESS)));
69545  SWIG_Python_SetConstant(d, "RoutingModel_ROUTING_FAIL",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ROUTING_FAIL)));
69546  SWIG_Python_SetConstant(d, "RoutingModel_ROUTING_FAIL_TIMEOUT",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ROUTING_FAIL_TIMEOUT)));
69547  SWIG_Python_SetConstant(d, "RoutingModel_ROUTING_INVALID",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ROUTING_INVALID)));
69548  SWIG_Python_SetConstant(d, "RoutingModel_PICKUP_AND_DELIVERY_NO_ORDER",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::PICKUP_AND_DELIVERY_NO_ORDER)));
69549  SWIG_Python_SetConstant(d, "RoutingModel_PICKUP_AND_DELIVERY_LIFO",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::PICKUP_AND_DELIVERY_LIFO)));
69550  SWIG_Python_SetConstant(d, "RoutingModel_PICKUP_AND_DELIVERY_FIFO",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::PICKUP_AND_DELIVERY_FIFO)));
69551  globals = SWIG_globals();
69552  if (!globals) {
69553  PyErr_SetString(PyExc_TypeError, "Failure to create SWIG globals.");
69554 #if PY_VERSION_HEX >= 0x03000000
69555  return NULL;
69556 #else
69557  return;
69558 #endif
69559  }
69560  PyDict_SetItemString(md, "cvar", globals);
69561  Py_DECREF(globals);
69565  SWIG_Python_SetConstant(d, "RoutingModel_TYPE_ADDED_TO_VEHICLE",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::TYPE_ADDED_TO_VEHICLE)));
69566  SWIG_Python_SetConstant(d, "RoutingModel_ADDED_TYPE_REMOVED_FROM_VEHICLE",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::ADDED_TYPE_REMOVED_FROM_VEHICLE)));
69567  SWIG_Python_SetConstant(d, "RoutingModel_TYPE_ON_VEHICLE_UP_TO_VISIT",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::TYPE_ON_VEHICLE_UP_TO_VISIT)));
69568  SWIG_Python_SetConstant(d, "RoutingModel_TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED",SWIG_From_int(static_cast< int >(operations_research::RoutingModel::TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED)));
69572 #if PY_VERSION_HEX >= 0x03000000
69573  return m;
69574 #else
69575  return;
69576 #endif
69577 }
69578 
#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t
SWIGINTERN PyObject * _wrap_Assignment_MutableIntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NeighborhoodLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_NoMoreSolutions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetPerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BooleanVarTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVarElement_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Phase__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap___lshift____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_type_info *(* swig_dycast_func)(void **)
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Constraint * MakeMapDomain(IntVar *const var, const std::vector< IntVar * > &actives)
This constraint maps the domain of 'var' onto the array of variables 'actives'.
Definition: constraints.cc:538
SWIGRUNTIME PyObject * SwigPyObject_append(PyObject *v, PyObject *next)
SWIGINTERN PyObject * _wrap_Assignment_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_long[]
static void raise(PyObject *error, const char *msg)
static void * _p_operations_research__IntVarLocalSearchFilterTo_p_operations_research__LocalSearchFilter(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_FailuresLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_PickupToDeliveryLimitFunction
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BaseObject___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Load__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_UnperformedPenaltyOrValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_DelayedConstraintInitialPropagateCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NotMemberCt(PyObject *self, PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___lt____SWIG_0(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_RoutingModel_CompactAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdGreaterOrEqual(PyObject *self, PyObject *args)
SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars)
Base operator class for operators manipulating variables.
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__BaseLns
SWIGINTERN PyObject * _wrap_Solver_AcceptedNeighbors(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Cast constraints are special channeling constraints designed to keep a variable in sync with an expre...
Constraint * MakeGreater(IntExpr *const left, IntExpr *const right)
left > right
Definition: range_cst.cc:560
SWIGINTERN PyObject * _wrap_IntExpr_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WeightedOptimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DisjunctiveConstraint_TransitionTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
This is the base class for building an Lns operator.
RoutingTransitCallback1 TransitCallback1
Definition: routing.h:238
SWIGINTERN PyObject * _wrap_Solver_Constraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_DestroyModule(PyObject *obj)
static PyMethodDef SwigMethods[]
SWIGINTERN PyObject * _wrap_SolutionCollector_Failures(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ChangeValueTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhase(PyObject *self, PyObject *args)
Status
Status of the search.
Definition: routing.h:212
SWIGINTERN PyObject * SolutionCollector_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___radd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetMutableLocalCumulMPOptimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
SWIGINTERN PyObject * _wrap_SearchMonitor_LocalOptimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___gt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___le____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_CostClassIndex
static void * _p_operations_research__OptimizeVarTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_operations_research__Solver
SWIGINTERN PyObject * _wrap_BaseLns_AppendToFragment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_HasDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___lt____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_Assignment_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_AcquirePtr(ptr, src)
SWIGRUNTIMEINLINE int SwigPyObject_Check(PyObject *op)
SWIGINTERN PyObject * _wrap_IntExpr___ge____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
SWIGINTERN PyObject * _wrap_RoutingIndexManager_IndexToNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Creates a search monitor from logging parameters.
Selects the min value of the selected variable.
SWIGINTERN PyObject * _wrap_Solver_PathCumul__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectIntervalVar(operations_research::IntervalVar *obj)
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SWIGINTERN PyObject * _wrap_SolutionCollector_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FirstSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual operations_research::Decision * Next(operations_research::Solver *const s)
This is the main method of the decision builder class.
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumOfAssignedDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Rand32(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Try(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FinishCurrentSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetEndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsBetweenVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_BaseObject___str__(operations_research::BaseObject *self)
SWIGINTERN PyObject * _wrap_GlobalVehicleBreaksConstraint_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterUnaryTransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Selects the first possible value which is the closest to the center of the domain of the selected var...
virtual void Post()
This method is called when the constraint is processed by the solver.
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___rmul__(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RandomLnsOperator(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_HasCumulVarSoftUpperBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Assignment(PyObject *self, PyObject *args)
SWIGRUNTIME void SWIG_Python_SetModule(swig_module_info *swig_module)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAfterStartWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
virtual std::string DebugString() const
SWIGINTERN PyObject * _wrap_SearchMonitor___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__LocalSearchMonitor[]
SWIGINTERN PyObject * _wrap_Solver_NotMemberCt__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_decision_builder_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FixedDurationStartSyncedOnStartIntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_DivisionByZero
static swig_cast_info _swigc__p_operations_research__TypeIncompatibilityChecker[]
static swig_cast_info _swigc__p_int[]
SWIGINTERN PyObject * _wrap_Assignment_Activated__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Decision___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_VariableLessOrEqualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_LocalSearchFilter_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_SetErrorMsg
When visited, one instance of type 'T' previously added to the route (TYPE_ADDED_TO_VEHICLE),...
Definition: routing.h:868
SWIGINTERN PyObject * _wrap_Solver_Min__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAtEnd(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGRUNTIME PyObject * SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
SWIGINTERN int Swig_var_RoutingModelVisitor_kLightElement2_set(PyObject *)
SWIGINTERN PyObject * TypeRegulationsChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_cast_info * cast
SWIGINTERN void swig_varlink_dealloc(swig_varlinkobject *v)
SWIGINTERN PyObject * _wrap_DecisionBuilder___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__functionT_long_flongF_t
#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)
SWIGINTERN std::string operations_research_Decision___repr__(operations_research::Decision *self)
SWIGINTERN PyObject * _wrap_SolutionCollector_AddObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * TypeRequirementChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_DISOWN
static void * _p_operations_research__PackTo_p_operations_research__Constraint(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
SWIGINTERN PyObject * _wrap_new_IntVarLocalSearchOperator__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BetweenCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_IntExpr___repr__(operations_research::IntExpr *self)
SWIGINTERN PyObject * _wrap_IntervalVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t
static swig_type_info _swigt__p_operations_research__SolutionPool
SWIGINTERN PyObject * _wrap_SearchMonitor_EndFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer
SWIGINTERN PyObject * LocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Demon[]
SWIGINTERN operations_research::Constraint * operations_research_Constraint___gt____SWIG_0(operations_research::Constraint *self, int64_t v)
static void * _p_operations_research__PathOperatorTo_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_value_selection_schema_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___ne____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetPickupToDeliveryLimitFunctionForPair(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__DecisionVisitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Assignment_PerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_BeginFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVar_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
SWIGINTERN int SWIG_AsVal_long(PyObject *obj, long *val)
SWIGINTERN PyObject * _wrap_SolutionCollector_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__vectorT_operations_research__Assignment_const_p_t[]
SWIGINTERN PyObject * _wrap_RoutingModel_HasSameVehicleTypeRequirements(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_CheckAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetArcCostForClass(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
SWIGINTERN PyObject * _wrap_SearchMonitor_AcceptDelta(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__PathOperator[]
SWIGINTERN PyObject * _wrap_IntExpr___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WeightedMinimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
std::function< int64_t(int, int)> PickupToDeliveryLimitFunction
Limits, in terms of maximum difference between the cumul variables, between the pickup and delivery a...
Definition: routing.h:2776
#define SWIGTYPE_p_operations_research__SolutionPool
SWIGINTERN PyObject * _wrap_new_LocalSearchFilterManager(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_PathCumul__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___le____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DecisionBuilder___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_newvarlink(void)
SWIGINTERN PyObject * _wrap_MakeSetValuesFromTargets(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddAtSolutionCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_RUNTIME_VERSION
SWIGINTERN PyObject * _wrap_IntExpr___add____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScheduleOrExpedite(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperator_NextNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVar_RankNotFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_cast_info * next
#define SWIGTYPE_p_operations_research__RevT_bool_t
SWIGINTERN PyObject * _wrap_Solver_MoveTowardTargetOperator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EnterSearch()
Beginning of the search.
Constraint * MakeNotMemberCt(IntExpr *const expr, const std::vector< int64_t > &values)
expr not in set.
Definition: expr_cst.cc:1233
IntExpr * MakeProd(IntExpr *const left, IntExpr *const right)
left * right
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ge____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
virtual std::string DebugString() const
The base class for all local search operators.
int64_t min
Definition: alldiff_cst.cc:139
SWIGINTERN PyObject * _wrap_Pack_AddCountUsedBinDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_LocalSearchFilterManager_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_RoutingModelVisitor_kLightElement_set(PyObject *)
SWIGINTERN PyObject * _wrap_delete_LocalSearchFilterManager(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarLocalSearchOperatorTo_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t(void *x, int *SWIGUNUSEDPARM(newmemory))
static void * _p_operations_research__TypeRequirementCheckerTo_p_operations_research__TypeRegulationsChecker(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * Decision_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WeightedMinimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Relax(const Assignment *delta, const Assignment *deltadelta)
Lets the filter know what delta and deltadelta will be passed in the next Accept().
SWIGINTERN PyObject * BooleanVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define Py_TYPE(op)
SWIGINTERN PyObject * _wrap_Assignment_HasObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The simple selection is ASSIGN_MIN_VALUE.
SWIGINTERN PyObject * swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v))
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
static swig_cast_info _swigc__p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t[]
SWIGINTERN PyObject * _wrap_IntExpr_IndexOf__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_LocalSearchFilter_IsIncremental(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__RoutingModelVisitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Assignment_Activated__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_std__vectorT_long_t_t
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentWithParameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SolutionCollector_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap___lshift__(PyObject *self, PyObject *args)
PyObject * swig_get_self() const
SWIGINTERN PyObject * _wrap_Solver_AllSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveWithParameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_absl__flat_hash_setT_int_t_t
SWIGINTERN PyObject * _wrap_delete_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SequenceVarLocalSearchOperatorTemplate_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_FromCharPtr(const char *cptr)
SWIGINTERN PyObject * _wrap_TypeRegulationsChecker_CheckVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNumOfSingletonNodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___ge____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetVisitType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BaseLnsTo_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_StartExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_MapTo(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___eq____SWIG_0(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenAnything__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Rand64(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__IntVarLocalSearchOperator
RoutingCostClassIndex CostClassIndex
Definition: routing.h:234
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAtEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty)
SWIGRUNTIME void SwigPyObject_dealloc(PyObject *v)
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_CloseModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_ActiveVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntExprTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__IntervalVar
SWIGINTERN PyObject * _wrap_Constraint___eq____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_IsOK(r)
SWIGINTERN PyObject * _wrap_IntervalVar_WasPerformedBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_std__pairT_long_long_t_t
#define SWIGPY_CAPSULE_NAME
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_run_all_heuristics_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FixedDurationEndSyncedOnStartIntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__Constraint
SWIGINTERN PyObject * _wrap_IntVar_OldMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void OnSynchronize(operations_research::Assignment const *delta)
SWIGINTERN PyObject * _wrap_Assignment_IntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntVar * Var() override
Creates a variable from the expression.
SWIGINTERN PyObject * _wrap_IntervalVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyTypeObject * SwigPyPacked_TypeOnce(void)
SWIGINTERN PyObject * _wrap_Assignment_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddSearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarIterator_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsMemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the smallest minimal value.
SWIGINTERN PyObject * _wrap_RoutingModel_GetArcCostForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___radd__(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenPerformedBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags)
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsDifferentCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetPreTravelEvaluatorOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumLessOrEqualConstantDimension__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Solver__SearchLogParameters
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ConcatenateOperators__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__IntervalVar[]
#define SWIGTYPE_p_long
SWIGINTERN PyObject * _wrap_Assignment_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj)
Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...
SWIGINTERN PyObject * _wrap_BooleanVar_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_TransitCallback2
SWIGINTERN PyObject * _wrap_RoutingModel_SetAmortizedCostFactorsOfAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAt(operations_research::IntervalVar *self, int64_t date)
SWIGINTERN PyObject * _wrap_Solver_AssignVariablesValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max)
Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds t...
SWIGINTERN PyObject * _wrap_Solver_SolveOnce(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint_IndexOf__SWIG_1(operations_research::Constraint *self, std::vector< operations_research::IntVar * > const &vars)
SWIGINTERN int SWIG_AsCharPtrAndSize(PyObject *obj, char **cptr, size_t *psize, int *alloc)
SWIGINTERN PyObject * _wrap_SolutionCollector_Branches(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_EndSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Assignment[]
SWIGINTERN PyObject * _wrap_Solver_Cover(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WeightedOptimize(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetArcCostEvaluatorOfAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * RevBool_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_OWN
Manager for any NodeIndex <-> variable index conversion.
SWIGINTERN PyObject * _wrap_Solver_IntConst(PyObject *self, PyObject *args)
SWIGINTERN PyObject * PathOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentWithParameters(PyObject *self, PyObject *args)
SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty)
static void * _p_operations_research__PropagationMonitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap___lshift____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___le____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
RoutingSearchParameters DefaultRoutingSearchParameters()
virtual void EndInitialPropagation()
After the initial propagation.
SWIGRUNTIMEINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Assignment_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Solver__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * RevInteger_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t ends after d, i.e. End(t) >= d.
Operator which defines a neighborhood to decrement values.
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ge____SWIG_0(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_IntExpr___le__(PyObject *self, PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAfterEnd(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_ConsiderEmptyRouteCostsForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAtStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_IndexOf__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterOrEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t
static swig_type_info _swigt__p_operations_research__TypeRequirementChecker
SWIGINTERN PyObject * _wrap_OptimizeVar_AtSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Sum(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_DefaultSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__DisjunctiveConstraint
SWIGINTERN PyObject * Swig_var_RoutingModelVisitor_kLightElement2_get(void)
SWIGINTERN PyObject * _wrap_IntervalVar_PerformedExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ConcatenateOperators__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_SetValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * ChangeValue_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
static swig_type_info _swigt__p_operations_research__ModelVisitor
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___neg__(operations_research::IntExpr *self)
SWIGINTERN PyObject * _wrap_Constraint___lt__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FailStamp(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static int64_t MemoryUsage()
Current memory usage in bytes.
SWIGRUNTIME int SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own)
#define SWIG_AddNewMask(r)
static swig_type_info _swigt__p_RoutingDisjunctionIndex
SWIGINTERN void SWIG_Python_FixMethods(PyMethodDef *methods, swig_const_info *const_table, swig_type_info **types, swig_type_info **types_initial)
static swig_cast_info _swigc__p_VehicleClassIndex[]
std::function< int64_t(int64_t)> IndexEvaluator1
Callback typedefs.
SWIGINTERN PyObject * _wrap_new_RoutingModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t
SWIGINTERN PyObject * _wrap_SequenceVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___eq__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
SWIGINTERN PyObject * _wrap_Constraint___sub__(PyObject *self, PyObject *args)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_VarStrValEvalTieBreakPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, operations_research::Solver::IntVarStrategy var_str, operations_research::Solver::IndexEvaluator2 val_eval, std::function< int64_t(int64_t) > tie_breaker)
virtual void BeginFail()
Just when the failure occurs.
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Solver__SearchLogParameters[]
This class adds reversibility to a POD type.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
SWIGINTERN PyObject * _wrap_IntervalVarElement_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__PropagationBaseObject
static swig_type_info _swigt__p_operations_research__SymmetryBreaker
SWIGINTERN PyObject * _wrap_Constraint___eq____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TransitionConstraint(PyObject *self, PyObject *args)
SWIGINTERN int64_t operations_research_IntVarLocalSearchFilter_IndexFromVar(operations_research::IntVarLocalSearchFilter const *self, operations_research::IntVar *const var)
Operator which exchanges the positions of two nodes.
#define SWIGTYPE_p_operations_research__RoutingModel
SWIGINTERN PyObject * _wrap_Solver_LastSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EndFail()
After completing the backtrack.
SWIGINTERN PyObject * _wrap_Solver_NotMemberCt__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_HoleIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAtStart(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
The default is INTERVAL_SET_TIMES_FORWARD.
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAtStart(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGINTERN PyObject * BaseLns_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Max__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_RemoveInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FirstSolutionCollector(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ConditionalExpression(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_persistent_impact_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___gt____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
static swig_cast_info _swigc__p_std__vectorT_absl__flat_hash_setT_int_t_t[]
static void * _p_operations_research__IntervalVarTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIG_GUARD(mutex)
SWIGINTERN PyObject * _wrap_Solver_IsDifferentCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___mod__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_base_dimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TransitionConstraint__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___lt____SWIG_0(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_Solver_DefaultPhase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static ReturnT InvokePythonCallableReturning(PyObject *pyfunc, const char *format, Args... args)
SWIGINTERN int Swig_var_RoutingModel_kNoDisjunction_set(PyObject *)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr_MapTo(operations_research::IntExpr *self, std::vector< operations_research::IntVar * > const &vars)
#define SWIG_newvarlink()
std::string FindErrorInRoutingSearchParameters(const RoutingSearchParameters &search_parameters)
Returns an empty std::string if the routing search parameters are valid, and a non-empty,...
SWIGINTERN PyObject * _wrap_new_GlobalVehicleBreaksConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_CrossesDate(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 ends at t2 end, i.e. End(t1) == End(t2) + delay.
SWIGINTERN PyObject * _wrap_RoutingModel_SetArcCostEvaluatorOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_RoutingModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntervalVarElement
SWIGINTERN PyObject * _wrap_IntExpr___ne____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NullIntersect(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TimeLimit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
const std::string name
virtual void Start(operations_research::Assignment const *assignment)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_VarEvalValStrPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, std::function< int64_t(int64_t) > var_evaluator, operations_research::Solver::IntValueStrategy val_str)
static swig_cast_info _swigc__p_std__functionT_long_flong_longF_t[]
static swig_type_info _swigt__p_operations_research__Demon
static swig_cast_info _swigc__p_operations_research__NumericalRevT_long_t[]
IntVar * VarWithName(const std::string &name)
Creates a variable from the expression and set the name of the resulting var.
Definition: expressions.cc:51
SWIGINTERN PyObject * _wrap_Solver_TemporalDisjunction__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectDecisionBuilder(operations_research::DecisionBuilder *obj)
SWIGINTERN PyObject * _wrap_IntExpr_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars)
#define SWIG_NewPackedObj(ptr, sz, type)
SWIGINTERN void SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[])
SWIGINTERN PyObject * _wrap_RoutingDimension_GetTransitValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void Synchronize(const Assignment *assignment, const Assignment *delta) override
This method should not be overridden.
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___le____SWIG_0(operations_research::IntExpr *self, int64_t v)
The simple selection is CHOOSE_FIRST_UNBOUND.
SwigPtr_PyObject & operator=(const SwigPtr_PyObject &item)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNumberOfDecisionsInFirstSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Operator__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RankFirstInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_disown_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Deactivate(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarLocalSearchFilterTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__RegularLimitTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_new_RoutingModel__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::SearchMonitor * operations_research_Solver_SearchLogWithCallback(operations_research::Solver *self, int period, std::function< std::string() > callback)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetTransitValueFromClass(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SearchLog[]
virtual void RefuteDecision(Decision *const d)
Before refuting the decision.
SWIGINTERN PyObject * _wrap_RoutingDimension_GetSpanUpperBoundForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ImprovementSearchLimitTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___ge__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * TypeRegulationsConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_DecisionBuilder___str__(operations_research::DecisionBuilder *self)
SWIGINTERN PyObject * _wrap_RevBool_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__RoutingModel__VehicleTypeContainer
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationRange(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
SWIGINTERN PyObject * _wrap_RoutingModel_HasTemporalTypeIncompatibilities(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_OverflowError
SWIGINTERN PyObject * _wrap_Assignment_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntervalVarTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_AddRequiredTypeAlternativesWhenRemovingType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void *(* swig_converter_func)(void *, int *)
SWIGINTERN PyObject * _wrap_IntExpr___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAfterStartWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
SWIGRUNTIME int SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentsWithParameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__AssignmentElement
#define SWIGTYPE_p_operations_research__OptimizeVar
SWIGINTERN PyObject * _wrap___lshift____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__RoutingIndexManager
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A Demon is the base element of a propagation queue.
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumLessOrEqualConstantDimension__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_MirrorInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_InstallConstants(d, constants)
SWIGINTERN PyObject * _wrap_new_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__PathOperatorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_cast_info _swigc__p_operations_research__RoutingModel__VehicleTypeContainer[]
SWIGINTERN PyObject * _wrap_RoutingModel_ApplyLocks(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__FirstSolutionStrategy__Value[]
SWIGINTERN PyObject * _wrap_new_NumericalRevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_IndexError
#define SWIGTYPE_p_operations_research__SequenceVarElement
SWIGINTERN PyObject * _wrap_RoutingDimension_GetLocalOptimizerOffsetForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BaseLns___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_std__pairT_int_int_t_t
SWIGINTERN PyObject * _wrap_PathOperator_Neighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetAllDimensionNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A DecisionVisitor is used to inspect a decision.
SWIGINTERN PyObject * _wrap_IntervalVar_OldDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_var_selection_schema_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
MPCallback * callback
static swig_type_info _swigt__p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t
t ends before d, i.e. End(t) <= d.
SWIGRUNTIME PyObject * SwigPyPacked_repr(SwigPyPacked *v)
SWIGINTERN PyObject * _wrap_SequenceVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * LocalSearchFilterManager_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize(PyObject *self, PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr_Square(operations_research::IntExpr *self)
SWIGRUNTIMEINLINE PyObject * SWIG_Py_Void(void)
SWIGINTERN PyObject * _wrap_disown_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__PropagationBaseObject
SWIGINTERN PyObject * _wrap_RoutingModel_SolveWithParameters(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_WhenBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN char * SWIG_Python_str_AsChar(PyObject *str)
SWIGINTERN PyObject * _wrap_Solver_SortingConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___eq____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectSearchMonitor(operations_research::SearchMonitor *obj)
SWIGINTERN PyObject * _wrap_delete_RoutingDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::SearchMonitor * operations_research_Solver_GuidedLocalSearch__SWIG_2(operations_research::Solver *self, bool maximize, operations_research::IntVar *const objective, operations_research::Solver::IndexEvaluator2 objective_function, int64_t step, std::vector< operations_research::IntVar * > const &vars, double penalty_factor)
static swig_type_info _swigt__p_operations_research__NumericalRevT_long_t
SWIGINTERN PyObject * _wrap_Solver_Operator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetFixedCostOfAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SwigPyClientData_Del(SwigPyClientData *data)
SWIGINTERN PyObject * _wrap_delete_SequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AssignmentToRoutes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * PyInt_FromIndexT(const IndexT i)
SharedPyPtr(const SharedPyPtr &other)
SWIGINTERN PyObject * _wrap_Solver_GuidedLocalSearch__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void OnSynchronize(const Assignment *delta)
SWIGINTERN PyObject * Solver_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RevInteger_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Assignment_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_IndexOf(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RandomLnsOperator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME SwigPyObject * SWIG_Python_GetSwigThis(PyObject *pyobj)
SWIGINTERN PyObject * _wrap_Constraint___ge____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_RoutingModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___rsub__(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_RoutingModel_IsVehicleAllowedForIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Constraint * MakeIntervalVarRelationWithDelay(IntervalVar *const t1, BinaryIntervalRelation r, IntervalVar *const t2, int64_t delay)
This method creates a relation between two interval vars.
Definition: timetabling.cc:239
virtual int get_own() const
SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
SWIGINTERN PyObject * SequenceVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetCostClassesCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddDimensionWithVehicleTransits(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Constraint * MakeMemberCt(IntExpr *const expr, const std::vector< int64_t > &values)
expr in set.
Definition: expr_cst.cc:1163
GRBmodel * model
#define SWIGTYPE_p_std__functionT_long_flongF_t
SWIGINTERN operations_research::Constraint * operations_research_Constraint___eq____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGRUNTIME int SWIG_Python_AddErrMesg(const char *mesg, int infront)
SWIGINTERN PyObject * _wrap_SequenceVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___sub____SWIG_1(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNumberOfRejectsInFirstSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__BaseIntExpr
virtual IntVar * Var()
Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...
SWIGINTERN PyObject * _wrap_IntExpr___gt__(PyObject *self, PyObject *args)
#define SWIG_as_voidptr(a)
SWIGINTERN PyObject * _wrap_Solver_TemporalDisjunction__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static ConstraintSolverParameters DefaultSolverParameters()
Create a ConstraintSolverParameters proto with all the default values.
#define SWIG_POINTER_IMPLICIT_CONV
static swig_cast_info _swigc__p_operations_research__SequenceVar[]
SWIGINTERN PyObject * _wrap_Solver_BoolVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which makes path nodes inactive.
static swig_type_info _swigt__p_operations_research__RoutingModel
Checker for type incompatibilities.
Definition: routing.h:2346
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___add____SWIG_0(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_RoutingModel_CostsAreHomogeneousAcrossVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_RevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Solver
static swig_cast_info _swigc__p_operations_research__IntVarLocalSearchFilter[]
SWIGINTERN PyObject * _wrap_BooleanVar_DomainIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_operations_research__Assignment_const_p_t
SWIGINTERN operations_research::Constraint * operations_research_IntExpr_NotMember(operations_research::IntExpr *self, std::vector< int64_t > const &starts, std::vector< int64_t > const &ends)
SWIGINTERN PyObject * _wrap_delete_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Randomly select one of the remaining unbound variables.
#define SWIG_TypeError
SWIGINTERN PyObject * _wrap_Solver_Phase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Swig_var_RoutingModelVisitor_kLightElement_get(void)
SWIGRUNTIME PyTypeObject * SwigPyPacked_type(void)
SWIGINTERN PyObject * _wrap_Solver_Max__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_ArcIsMoreConstrainedThanArc(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void BeginNextDecision(DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
SWIGINTERN PyObject * _wrap_RoutingModel_ReadAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNumberOfVisitTypes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAfter(operations_research::IntervalVar *self, int64_t date)
Time limit reached before finding a solution with RoutingModel::Solve().
Definition: routing.h:220
static void * _p_operations_research__SequenceVarElementTo_p_operations_research__AssignmentElement(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartBound(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_OldDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__PathOperatorTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
static void * _p_operations_research__TypeRegulationsConstraintTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__LocalSearchFilterManager
A constraint is the main modeling object.
SWIGRUNTIME PyObject * SwigPyObject_long(SwigPyObject *v)
Dimensions represent quantities accumulated at nodes along the routes.
Definition: routing.h:2494
SWIGINTERN PyObject * _wrap_Solver_SplitVariableDomain(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetPerformedRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__IntervalVarElement[]
SWIGINTERN PyObject * _wrap_GlobalVehicleBreaksConstraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___ge____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool MakeOneNeighbor()
This method should not be overridden. Override ModifyValue() instead.
static swig_cast_info _swigc__p_operations_research__OptimizeVar[]
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void RestartSearch()
Restart the search.
SWIGINTERN PyObject * _wrap_IntExpr___le____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___le____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN Py_ssize_t SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
SWIGINTERN PyObject * _wrap_RoutingModel_GetCostClassIndexOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__vectorT_std__pairT_long_long_t_t[]
#define SWIGTYPE_p_operations_research__DisjunctiveConstraint
SWIGINTERN PyObject * _wrap_Solver_ConcatenateOperators__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyTypeObject * SwigPyObject_TypeOnce(void)
SWIGINTERN PyObject * _wrap_RoutingModel_GetVehicleOfClass(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_TypeError(const char *type, PyObject *obj)
static void * _p_operations_research__SearchLogTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___neg__(operations_research::Constraint *self)
SWIGINTERN PyObject * _wrap_RoutingModel_ActiveVehicleVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_SearchLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__RevT_bool_t
static swig_type_info _swigt__p_DimensionIndex
SWIGINTERN PyObject * _wrap_Solver_Count(PyObject *self, PyObject *args)
static swig_cast_info _swigc__p_operations_research__SolutionCollector[]
SWIGRUNTIME swig_type_info * SWIG_Python_TypeQuery(const char *type)
SWIGINTERN PyObject * _wrap_Solver_Min__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___neg__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__LocalSearchMonitor
SWIGINTERN operations_research::Constraint * operations_research_Constraint___lt____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_IntVar_WhenBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___mul____SWIG_2(operations_research::IntExpr *self, int64_t v)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr_IndexOf__SWIG_1(operations_research::IntExpr *self, std::vector< operations_research::IntVar * > const &vars)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___mul____SWIG_0(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * Swig_var_RoutingModel_kNoPenalty_get(void)
SWIGINTERN PyObject * _wrap_IntExpr_IndexOf(PyObject *self, PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___mul____SWIG_2(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___le____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_RoutingModel_GetSameVehicleIndicesOfIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__LocalSearchFilterManager
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TimeLimit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_MakeGuidedSlackFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchLimit_Init(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Synchronize(operations_research::Assignment const *assignment, operations_research::Assignment const *delta)
This method should not be overridden.
SWIGRUNTIME void SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
bool CanConvertToSequenceVar(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_RoutingIndexManager_GetNumberOfIndices(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Usual limit based on wall_time, number of explored branches and number of failures in the search tree...
SWIGRUNTIMEINLINE PyObject * SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StaysInSync(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGINTERN PyObject * RoutingModelVisitor_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_IntervalVar___repr__(operations_research::IntervalVar *self)
SWIGINTERN PyObject * _wrap_Solver_MoveTowardTargetOperator(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 ends at t2 start, i.e. End(t1) == Start(t2) + delay.
SWIGINTERN PyObject * _wrap_Solver_WeightedOptimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_CheckConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Element__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ge____SWIG_0(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_PropagationBaseObject_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SafeEndExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_RoutingDimensionIndex[]
SWIGINTERN PyObject * _wrap_IntVar_WhenDomain(PyObject *self, PyObject *args)
SWIGINTERN PyObject * RoutingModel_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * BaseObject_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int64_t operations_research_BaseLns___getitem__(operations_research::BaseLns *self, int index)
static void * _p_operations_research__PathOperatorTo_p_operations_research__IntVarLocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_SolutionCollector_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_SequenceVar___str__(operations_research::SequenceVar *self)
SWIGINTERN PyObject * _wrap_Solver_Minimize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SolutionPool[]
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsBefore(operations_research::IntervalVar *self, int64_t date)
SWIGINTERN PyObject * _wrap_new_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_SyntaxError
static swig_type_info _swigt__p_operations_research__GlobalDimensionCumulOptimizer
SWIGINTERN PyObject * _wrap_Assignment_SetObjectiveRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAfterStart(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
#define SWIG_Error(code, msg)
SWIGINTERN PyObject * _wrap_RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void ExitSearch()
End of the search.
SWIGINTERN PyObject * _wrap_delete_IntVarLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_RoutingModelVisitor_kRemoveValues_set(PyObject *)
SWIGINTERN PyObject * _wrap_SequenceVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_PY_POINTER
SWIGINTERN PyObject * _wrap_IntExpr___ge____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
int64_t tail
SWIGINTERN PyObject * _wrap_SequenceVarElement_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RestoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_AddErrorMsg(const char *mesg)
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SolutionCollector_SolutionCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumLessOrEqualConstantDimension(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_HoleIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___mul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_globalvar swig_globalvar
SWIGINTERN PyObject * _wrap_Solver_ElementFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__DefaultPhaseParameters
SWIGINTERN PyObject * _wrap_LocalSearchFilterManager_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetMutableLocalCumulOptimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_signed_char
SWIGINTERN PyObject * _wrap_RoutingModel_GetArcCostForFirstSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
SWIGINTERN PyObject * _wrap_Solver_Element__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetDurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetPerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_format(const char *fmt, SwigPyObject *v)
#define SWIGTYPE_p_operations_research__IntVar
SWIGINTERN PyObject * RoutingModelVisitor_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_Decision___str__(operations_research::Decision *self)
static PyMethodDef swigobject_methods[]
#define SWIG_addvarlink(p, name, get_attr, set_attr)
virtual void BeginFail()
Just when the failure occurs.
SWIGINTERN PyObject * _wrap_RoutingDimension_SetSpanCostCoefficientForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A DecisionBuilder is responsible for creating the search tree.
#define SWIG_RuntimeError
SWIGINTERN PyObject * _wrap_Solver_IntConst__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__PathOperator
static void * _p_operations_research__ImprovementSearchLimitTo_p_operations_research__SearchLimit(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingDimension_GetCumulVarSoftLowerBoundCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * IntVarIterator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Solver(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_operations_research__SequenceVarElement
SWIGINTERN PyObject * _wrap_Solver_Limit(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetPickupAndDeliveryPolicyOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject_HEAD void * pack
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_ValueError
SWIGINTERN PyObject * Constraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t ends at d, i.e. End(t) == d.
SWIGINTERN PyObject * _wrap_Solver_RandomLnsOperator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__FirstSolutionStrategy__Value
SWIGINTERN PyObject * _wrap_IntExpr_Member(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_unsigned_long
Problem solved successfully after calling RoutingModel::Solve().
Definition: routing.h:216
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___lt____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Assignment_SetSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_NEW
SWIGINTERN PyObject * _wrap_IntExpr___lt__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SumObjectiveFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_DecisionBuilder___repr__(operations_research::DecisionBuilder *self)
SWIGINTERN PyObject * _wrap_Constraint___ne____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual Solver::DemonPriority priority() const
This method returns the priority of the demon.
SWIGINTERN PyObject * _wrap_RoutingModel_CloseVisitTypes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Swig_var_RoutingModel_kNoDimension_get(void)
static swig_type_info _swigt__p_operations_research__RegularLimit
SWIGINTERN PyObject * _wrap_RoutingModel_MakePathSpansAndTotalSlacks(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_value_selection_schema_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdLessOrEqual__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___rmul__(operations_research::Constraint *self, int64_t v)
PyObject * FromObjectIntVar(operations_research::IntVar *obj)
#define SWIGTYPE_p_operations_research__RevT_long_t
SWIGINTERN PyObject * SearchLimit_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_absl__flat_hash_setT_int_t
static swig_cast_info _swigc__p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t[]
static void * _p_operations_research__SymmetryBreakerTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAtStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_VehicleVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
int64_t b
PyObject *(* get_attr)(void)
SWIGINTERN PyObject * _wrap_IntVar_RemoveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t
SWIGRUNTIME PyObject * SWIG_Python_TypeCache(void)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetSpanUpperBoundForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Defines operators which change the value of variables; each neighbor corresponds to one modified vari...
SWIGINTERN PyObject * _wrap_Constraint___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAfterStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_IntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
static swig_cast_info _swigc__p_DisjunctionIndex[]
SWIGINTERN PyObject * _wrap_Solver_Max(PyObject *self, PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___le____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_IntExpr___ne__(PyObject *self, PyObject *args)
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
static swig_type_info * swig_types[104]
SWIGINTERN PyObject * IntVarLocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_RemainingTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AssignVariableValueOrFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Maximize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ElementEquality__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAfter(operations_research::IntervalVar *self, int64_t date)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchFilter_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The default behavior is ASSIGN_MIN_VALUE.
static swig_type_info _swigt__p_std__vectorT_std__pairT_long_long_t_t
PyObject_HEAD swig_globalvar * vars
t1 starts at t2 start, i.e. Start(t1) == Start(t2) + delay.
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectLocalSearchFilterManager(operations_research::LocalSearchFilterManager *obj)
static void * _p_operations_research__IntervalVarElementTo_p_operations_research__AssignmentElement(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
Deliveries must be performed in the same order as pickups.
Definition: routing.h:232
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAfterEndWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
static void * _p_operations_research__SolutionCollectorTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_operations_research__DecisionVisitor
std::function< int64_t(const Model &)> Value(IntegerVariable v)
Definition: integer.h:1544
SWIGINTERN PyObject * _wrap_Solver_SearchTrace(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__TypeIncompatibilityChecker
SWIGINTERN PyObject * _wrap_Solver_IsBetweenCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectSequenceVar(operations_research::SequenceVar *obj)
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterTransitMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void BeginInitialPropagation()
Before the initial propagation.
void swig_acquire_ownership(Type *vptr) const
SWIGINTERN PyObject * _wrap_Solver_IsMemberVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProd__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TransitionConstraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t starts at d, i.e. Start(t) == d.
static void * _p_operations_research__CastConstraintTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_ReadAssignmentFromRoutes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Run(operations_research::Solver *const s)
This is the main callback of the demon.
virtual bool MakeOneNeighbor()
Creates a new neighbor.
virtual IntVar * Var()=0
Creates a variable from the expression.
SWIGINTERN PyObject * _wrap_IntExpr___rsub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Branches(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__LocalSearchPhaseParameters
SWIGRUNTIMEINLINE const char * SwigPyObject_GetDesc(PyObject *self)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___radd__(operations_research::IntExpr *self, int64_t v)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ne____SWIG_0(operations_research::Constraint *self, int64_t v)
static swig_cast_info _swigc__p_operations_research__IntVarIterator[]
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAfterStart(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGINTERN PyObject * _wrap_RoutingModel_HasVehicleWithCostClassIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t_t
SWIGINTERN PyObject * NumericalRevInteger_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_From_int(int value)
SWIGINTERN PyObject * _wrap_Solver_SumEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
No solution found to the problem after calling RoutingModel::Solve().
Definition: routing.h:218
static swig_cast_info _swigc__p_std__vectorT_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t_t[]
SWIGINTERN PyObject * _wrap_SolutionCollector_Unperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_IntervalVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Interval variables are often used in scheduling.
static swig_cast_info _swigc__p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t[]
SWIGRUNTIMEINLINE PyObject * SWIG_Python_ExceptionType(swig_type_info *desc)
SWIGINTERN PyObject * _wrap_delete_AssignmentElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_PathCumul(PyObject *self, PyObject *args)
static swig_cast_info _swigc__p_operations_research__RevT_long_t[]
SWIGINTERN PyObject * _wrap_SolutionCollector_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_EvalEvalStrTieBreakPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, operations_research::Solver::IndexEvaluator2 evaluator, operations_research::Solver::IndexEvaluator1 tie_breaker, operations_research::Solver::EvaluatorStrategy str)
static const char kLightElement[]
Constraint types.
Definition: routing.h:2072
#define SWIG_ConvertPtrAndOwn(obj, pptr, type, flags, own)
SWIGINTERN PyObject * _wrap_Solver_SimulatedAnnealing(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__functionT_long_flong_longF_t
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAtEndWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
SWIGINTERN PyObject * _wrap_RoutingModel_MakeSelfDependentDimensionFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetAutomaticFirstSolutionStrategy(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarElement_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_IntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SearchMonitor[]
SWIGRUNTIME int SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
SWIGINTERN PyObject * _wrap_IntVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___gt____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
virtual void swig_set_inner(const char *, bool) const
#define SWIG_ArgError(r)
SWIGINTERN PyObject * _wrap_Solver_IntervalRelaxedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetSpanCostCoefficientForAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdEquality(PyObject *self, PyObject *args)
#define SWIG_AddCast(r)
SWIGINTERN PyObject * _wrap_IntVarElement_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_run_all_heuristics_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__GlobalVehicleBreaksConstraint[]
SWIGINTERN PyObject * _wrap_RoutingDimension_HasCumulVarSoftLowerBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The simple is INTERVAL_SET_TIMES_FORWARD.
static swig_cast_info _swigc__p_operations_research__DecisionBuilder[]
SWIGINTERN PyObject * _wrap_IntVar___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_MutableIntervalVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__SearchLimit
SWIGINTERN PyObject * _wrap_delete_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Constraint[]
SWIGINTERN PyObject * _wrap_SequenceVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 ends after t2 end, i.e. End(t1) >= End(t2) + delay.
SWIGINTERN PyObject * _wrap_Solver_Element__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SearchLimit[]
SWIGRUNTIMEINLINE int SwigPyPacked_Check(PyObject *op)
SWIGINTERN PyObject * _wrap_Constraint___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * DefaultPhaseParameters_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetAssignmentFromOtherModelAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___eq____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveWithParameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_Python_ErrorType(int code)
static swig_cast_info _swigc__p_operations_research__ModelVisitor[]
SWIGINTERN PyObject * _wrap_RoutingModel_GetDimensions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SolutionCollector_Add(PyObject *self, PyObject *args)
#define SWIG_PY_BINARY
#define SWIGTYPE_p_operations_research__SolutionCollector
SwigDirector_Constraint(operations_research::Solver *const solver)
static swig_type_info _swigt__p_VehicleClassIndex
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_var_selection_schema_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntVarElement
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__TypeRegulationsChecker[]
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
SWIGINTERN int operations_research_BaseLns___len__(operations_research::BaseLns *self)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___gt____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_Assignment_Save(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetStartRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__DisjunctiveConstraintTo_p_operations_research__Constraint(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_operations_research__RoutingModelVisitor
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_CrossesDate(operations_research::IntervalVar *self, int64_t date)
static void * _p_operations_research__TypeIncompatibilityCheckerTo_p_operations_research__TypeRegulationsChecker(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIME swig_type_info * SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
DecisionBuilder * MakeSetValuesFromTargets(Solver *solver, std::vector< IntVar * > variables, std::vector< int64_t > targets)
A decision builder which tries to assign values to variables as close as possible to target values fi...
Definition: routing.cc:169
virtual bool AcceptSolution()
This method is called when a solution is found.
SWIGINTERN PyObject * _wrap_RoutingModel_GetHomogeneousCost(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_DefaultPhaseParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WeightedMaximize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ConstantRestart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void swig_acquire_ownership_array(Type *vptr) const
SWIGINTERN PyObject * _wrap_RoutingModel_SetFixedCostOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__GlobalDimensionCumulOptimizer[]
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___abs__(operations_research::Constraint *self)
static void * _p_operations_research__PackTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterUnaryTransitVector(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * ChangeValue_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_OldValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DecisionBuilder_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarElement_SetSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.
static void * _p_operations_research__BaseLnsTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIG_NewClientData(obj)
SwigDirector_PropagationBaseObject(PyObject *self, operations_research::Solver *const s)
SWIGINTERN PyObject * _wrap_Assignment_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingIndexManager_GetNumberOfVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info * swig_cast_initial[]
struct swig_globalvar * next
#define SWIG_AttributeError
static swig_cast_info _swigc__p_operations_research__PropagationBaseObject[]
SWIGINTERN PyObject * _wrap_Assignment_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
int64_t max
Definition: alldiff_cst.cc:140
SWIGINTERN PyObject * _wrap_BooleanVar_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_DurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Block * next
virtual std::string DebugString() const
SWIGINTERN PyObject * _wrap_Solver_IsMemberVar(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_NumericalRevInteger_Incr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * OptimizeVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Solutions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__SequenceVarLocalSearchOperator
static swig_type_info _swigt__p_operations_research__LocalSearchMonitor
SWIGINTERN PyObject * _wrap_Solver_Solve(PyObject *self, PyObject *args)
Relocate neighborhood with length of 1 (see OROPT comment).
static void * _p_operations_research__DisjunctiveConstraintTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_operations_research__PathOperator
#define SWIGTYPE_p_operations_research__ModelVisitor
SWIGINTERN PyObject * _wrap_RoutingModel_GetPickupAndDeliveryPolicyOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAtEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Demon_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___lt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_ObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Move is accepted when the current objective value <= objective.Max.
SWIGINTERN PyObject * _wrap_Solver_MonotonicElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2)
SWIGINTERN PyObject * _wrap_RoutingModel_IsStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
With the following policy, the visit enforces that type 'T' is considered on the route from its start...
Definition: routing.h:871
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperator_OneNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.
SWIGINTERN PyObject * _wrap_RoutingDimension_HasBreakConstraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___mul__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarElement___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which defines one neighbor per variable.
SWIGINTERN PyObject * _wrap_Solver_IsGreaterCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Count__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___mul____SWIG_1(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Solver_Fail(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarContainer___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_CheckState(r)
SWIGINTERN PyObject * _wrap_Solver_StatisticsModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
virtual std::string DebugString() const
static void * _p_operations_research__BooleanVarTo_p_operations_research__IntVar(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_BaseLns_NextFragment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NonOverlappingBoxesConstraint__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * PropagationBaseObject_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_LocalSearchOperator_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Selects the variable with the lowest starting time of all variables, and fixes its starting time to t...
SWIGINTERN PyObject * _wrap_IntVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths.
SWIGINTERN PyObject * _wrap_IntVar_WhenDomain__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SubCircuit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_RestoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_FindErrorInRoutingSearchParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t
SWIGINTERN PyObject * _wrap_Solver_IsEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
LocalSearchFilterBound
This enum is used in Solver::MakeLocalSearchObjectiveFilter.
SWIGINTERN PyObject * _wrap_Solver_ScalProdEquality__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchFilter_Synchronize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ne____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
struct swig_cast_info swig_cast_info
SWIGINTERN PyObject * _wrap_RoutingModel_SetFirstSolutionEvaluator(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsDifferentCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_AvoidsDate(operations_research::IntervalVar *self, int64_t date)
struct swig_cast_info * prev
static swig_cast_info _swigc__p_operations_research__IntTupleSet[]
SWIGRUNTIME void SwigPyPacked_dealloc(PyObject *v)
SWIGINTERN PyObject * _wrap_Solver_ScalProdGreaterOrEqual__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BoolVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DisjunctiveConstraint_SetTransitionTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAtEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
NORMAL_PRIORITY is the highest priority: Demons will be processed first.
SWIGINTERN PyObject * _wrap_Constraint___le____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__BaseObject[]
Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...
static swig_cast_info _swigc__p_operations_research__ImprovementSearchLimit[]
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___add____SWIG_2(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_RoutingModel_GetVehicleTypeContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void AcceptNeighbor(Search *const search)
static swig_cast_info _swigc__p_operations_research__IntVar[]
SWIGINTERN PyObject * _wrap_IntervalVar_WhenPerformedBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhase__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BaseLnsTo_p_operations_research__IntVarLocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_SolveModelWithSat(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_BeginInitialPropagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * NumericalRevInteger_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_MinEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_NullReferenceError
SWIGINTERN PyObject * _wrap_RoutingModel_GetVehicleClassesCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToIntervalVar(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_DecisionBuilder_NextWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
This class encapsulates an objective.
SWIGINTERN PyObject * _wrap_IntVar_DomainIteratorAux(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___sub____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Apply(operations_research::Solver *const s)
Apply will be called first when the decision is executed.
SWIGINTERN PyObject * _wrap_Constraint___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_RoutingModel(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_str_FromChar(const char *c)
#define SWIGTYPE_p_operations_research__DecisionBuilder
static void * _p_operations_research__DecisionBuilderTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_VarStrValEvalPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, operations_research::Solver::IntVarStrategy var_str, operations_research::Solver::IndexEvaluator2 val_eval)
SWIGINTERN PyObject * _wrap_Solver_ScalProd__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
SWIGRUNTIME void * SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags)
SWIGINTERN operations_research::IntVar * operations_research_IntExpr_IsMember(operations_research::IntExpr *self, std::vector< int64_t > const &values)
bool SolveModelWithSat(const RoutingModel &model, const RoutingSearchParameters &search_parameters, const Assignment *initial_solution, Assignment *solution)
Attempts to solve the model using the cp-sat solver.
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Assignment
SWIGINTERN PyObject * _wrap_IntVar_IsVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetDisjunctionIndices(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetMaximumNumberOfActiveVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_VarEvalValEvalPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, std::function< int64_t(int64_t) > var_eval, operations_research::Solver::IndexEvaluator2 val_eval)
Deliveries must be performed in reverse order of pickups.
Definition: routing.h:230
static swig_cast_info _swigc__p_operations_research__RoutingModelVisitor[]
SWIGINTERN PyObject * _wrap_Solver_IsLessOrEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsLessCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_PropagationBaseObject_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAfter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t
SWIGINTERN PyObject * _wrap_IntervalVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___sub____SWIG_0(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAtStartWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
static swig_cast_info _swigc__p_unsigned_long[]
SWIGINTERN PyObject * _wrap_Solver_CustomLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Demon_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllSolutionCollector(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_CloseModelWithParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_repr(SwigPyObject *v)
static void * _p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_tTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__TypeIncompatibilityChecker
SWIGINTERN PyObject * _wrap_SequenceVarElement_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAt(operations_research::IntervalVar *self, int64_t date)
static swig_cast_info _swigc__p_std__ostream[]
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarTo_p_operations_research__IntExpr(void *x, int *SWIGUNUSEDPARM(newmemory))
Checker for type requirements.
Definition: routing.h:2362
SWIGINTERN PyObject * _wrap_RoutingModel_GetVisitType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntExpr * MakeAbs(IntExpr *const expr)
|expr|
SWIGINTERN PyObject * _wrap_Solver_Element__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddHardTypeIncompatibility(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__TypeRequirementChecker
SWIGINTERN PyObject * SWIG_globals(void)
SWIGINTERN PyObject * _wrap_Assignment_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The class Iterator has two direct subclasses.
SWIGINTERN PyObject * _wrap_SequenceVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IndexOfConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_unsigned_char
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * DecisionBuilder_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_HasTypeRegulations(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Deviation(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr_IndexOf__SWIG_0(operations_research::IntExpr *self, std::vector< int64_t > const &vars)
#define SWIGTYPE_p_operations_research__AssignmentElement
SWIGINTERN PyObject * _wrap_Solver_IsGreaterVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___floordiv____SWIG_0(operations_research::IntExpr *self, int64_t v)
#define SWIGTYPE_p_operations_research__RoutingModel__VehicleTypeContainer
SWIGINTERN PyObject * _wrap_IntervalVar_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Decision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetAllowedVehiclesForIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_Constraint___str__(operations_research::Constraint *self)
SWIGINTERN PyObject * _wrap_IntVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___eq____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsDifferentVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_RoutingIndexManager__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Problem not solved yet (before calling RoutingModel::Solve()).
Definition: routing.h:214
SWIGINTERN PyObject * _wrap_Solver_VarEvalValStrPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
SWIGINTERN PyObject * _wrap_Assignment_Deactivate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__SearchMonitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenAnything__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsBefore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_FixedTransitVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_unsigned_short[]
SWIGINTERN PyObject * _wrap_Solver_EvalEvalStrTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_GetModule(clientdata)
SWIGINTERN PyObject * _wrap_Solver_DisjunctiveConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingIndexManager_NodeToIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__Decision
SWIGINTERNINLINE PyObject * SWIG_From_bool(bool value)
SWIGINTERN PyObject * _wrap_Solver_NonOverlappingBoxesConstraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdEquality__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which makes a "chain" of path nodes inactive.
The base class of all search logs that periodically outputs information when the search is running.
SWIGINTERN PyObject * _wrap_IntVarLocalSearchFilter_IndexFromVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta)
Lets the filter know what delta and deltadelta will be passed in the next Accept().
SWIGRUNTIME int SWIG_TypeCmp(const char *nb, const char *tb)
virtual operations_research::IntVar * Var()
Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...
SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
SWIGINTERN PyObject * _wrap_Solver_DefaultPhase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_RoutingDimensionIndex
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_display_level_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__PropagationBaseObjectTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_SequenceVar_RankFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__BaseObject
SWIGINTERN PyObject * _wrap_Solver_AbsEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_ObjectiveMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_DelayedPathCumul(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetHardTypeIncompatibilitiesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * TypeRegulationsConstraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___radd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
SWIGINTERN PyObject * _wrap_RoutingModel_GetVisitTypePolicy(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 starts at t2 end, i.e. Start(t1) == End(t2) + delay.
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_TransitCallback2[]
SWIGINTERN operations_research::Constraint * operations_research_Constraint___eq____SWIG_0(operations_research::Constraint *self, int64_t v)
#define PyObject_DEL
SWIGINTERN PyObject * _wrap_Solver_WeightedMaximize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_OldStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___lt____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_OnStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarContainer___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___neg__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_absl__flat_hash_setT_int_t[]
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual std::string DebugString() const
static swig_cast_info _swigc__p_unsigned_char[]
#define SWIG_Python_str_DelForPy3(x)
SWIGINTERN PyObject * _wrap_IntExpr___gt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNonZeroCostClassesCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__OptimizeVar
SWIGINTERN PyObject * _wrap_Solver_MoveTowardTargetOperator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
LocalSearchOperators
This enum is used in Solver::MakeOperator to specify the neighborhood to create.
SWIGINTERN PyObject * RoutingModel_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void PyFunctionSolverToVoid(PyObject *pyfunc, operations_research::Solver *s)
SWIGINTERN PyObject * _wrap_Assignment_Load__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__SequenceVarLocalSearchOperator
SWIGINTERN PyObject * _wrap_IntExpr___mod____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_AppendOutput(PyObject *result, PyObject *obj)
virtual void NoMoreSolutions()
When the search tree is finished.
static swig_cast_info _swigc__p_signed_char[]
SWIGINTERN PyObject * _wrap_IntervalVar_DurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t
Selects the variable with the highest ending time of all variables, and fixes the ending time to this...
SWIGINTERN PyObject * _wrap_RevInteger_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_VarWithName(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsPtr_std_string(PyObject *obj, std::string **val)
SWIGINTERN PyObject * _wrap_SolutionCollector_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__AssignmentTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t
SWIGINTERN PyObject * _wrap_delete_IntVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SymmetryBreaker[]
SWIGINTERN PyObject * _wrap_Solver_DecisionBuilderFromAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddConstantDimensionWithSlack(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_Python_TypeErrorOccurred(PyObject *obj)
SWIGINTERN PyObject * _wrap_IntVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_hex(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_BooleanVar_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_TransitVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_IndexOf__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToDecision(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetGlobalOptimizerOffset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_AddCountAssignedItemsDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_Solver___str__(operations_research::Solver *self)
SWIGINTERN PyObject * _wrap_RoutingModel_GetPickupIndexPairs(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetSpanCostCoefficientForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__IntVarLocalSearchOperator[]
SWIGINTERN PyObject * _wrap_Solver_MaxEquality(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarLocalSearchOperatorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_AddIntervalToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t
VisitTypePolicy
Set the node visit types and incompatibilities/requirements between the types (see below).
Definition: routing.h:861
SWIGINTERN PyObject * _wrap_RoutingModel_GetDisjunctionMaxCardinality(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_AcceptSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_WhenDomain(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_AssignmentElement_Deactivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__LocalDimensionCumulOptimizer[]
IntExpr * MakeDifference(IntExpr *const left, IntExpr *const right)
left - right
SWIGINTERN PyObject * BaseLns_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_MayBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarContainer_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGINTERNINLINE
SWIGINTERN PyObject * _wrap_Solver_VarEvalValEvalTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj)
static swig_type_info _swigt__p_int
SWIGINTERN PyObject * _wrap_RoutingModel_Solve(PyObject *self, PyObject *args)
static void * _p_operations_research__CastConstraintTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIME PyObject * SwigPyPacked_str(SwigPyPacked *v)
SWIGINTERN int Swig_var_RoutingModel_kNoDimension_set(PyObject *)
SWIGINTERN PyObject * IntervalVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___rmul__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void raise(JNIEnv *jenv, jthrowable throwable)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_IsIncremental(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TransitionConstraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t
SWIGINTERN PyObject * _wrap_Solver_LocalSearchProfile(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The SequenceVarElement stores a partial representation of ranked interval variables in the underlying...
IntVar * MakeIsMemberVar(IntExpr *const expr, const std::vector< int64_t > &values)
Definition: expr_cst.cc:1495
SWIGINTERN PyObject * _wrap_RoutingModel_GetFixedCostOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
SWIGINTERN PyObject * _wrap_Decision_RefuteWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool HasFragments() const override
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_display_level_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllDifferent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetPostTravelEvaluatorOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DisjunctiveConstraint_SequenceVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Element(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Add(PyObject *self, PyObject *args)
SWIGINTERN PyObject * TypeIncompatibilityChecker_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsLessOrEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RandomConcatenateOperators__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Deactivate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given visitor.
SWIGINTERN PyObject * _wrap_RoutingModel_AddVariableMaximizedByFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
static swig_cast_info _swigc__p_std__vectorT_std__pairT_int_int_t_t[]
static void * _p_operations_research__DecisionTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_ConstraintInitialPropagateCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 starts after t2 end, i.e. Start(t1) >= End(t2) + delay.
#define SWIGTYPE_p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t
SWIGINTERN PyObject * _wrap_disown_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_InitializeBreaks(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the largest gap between the first and the second va...
SWIGINTERN PyObject * _wrap_Solver_FirstSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__FirstSolutionStrategy__Value
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___floordiv____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *e)
static swig_cast_info _swigc__p_absl__Duration[]
std::function< int64_t(int64_t, int64_t, int64_t)> IndexEvaluator3
SWIGINTERN PyObject * _wrap_BaseLns___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__IntervalVarElement
static void * _p_operations_research__SequenceVarLocalSearchOperatorTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_ScheduleOrPostpone(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Decision[]
#define SWIGTYPE_p_operations_research__DefaultPhaseParameters
SWIGINTERN PyObject * _wrap_Assignment_SetEndRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_absl__Duration
SWIGINTERN PyObject * _wrap_Solver_Phase(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_WriteAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME SwigPyClientData * SwigPyClientData_New(PyObject *obj)
virtual void Accept(ModelVisitor *const visitor) const
Accepts the given model visitor.
SWIGINTERN PyObject * _wrap_Assignment_AddObjective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_heuristic_num_failures_limit_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultRoutingSearchParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static int input(yyscan_t yyscanner)
SWIGINTERN PyObject * _wrap_Solver_ClosureDemon(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_persistent_impact_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Constraint * MakeIntervalVarRelation(IntervalVar *const t, UnaryIntervalRelation r, int64_t d)
This method creates a relation between an interval var and a date.
Definition: timetabling.cc:114
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___mod____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *e)
SWIGINTERN PyObject * _wrap_RoutingModel_GetGlobalDimensionCumulOptimizers(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Selects the max value of the selected variable.
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_OldValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Cumulative(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Operator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
#define SWIGTYPE_p_operations_research__IntVarIterator
SWIGINTERN PyObject * _wrap_Solver_TimeLimit(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarContainer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * RoutingIndexManager_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentsWithParameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
RoutingDisjunctionIndex DisjunctionIndex
Definition: routing.h:236
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndBound(PyObject *self, PyObject *args)
PickupAndDeliveryPolicy
Types of precedence policy applied to pickup and delivery pairs.
Definition: routing.h:226
SWIGINTERN PyObject * _wrap_RoutingModel_AddDisjunction__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BaseLnsTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_ElementEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Pack_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_TypeRegulationsConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Swig_var_RoutingModelVisitor_kRemoveValues_get(void)
int index
Definition: pack.cc:509
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__GlobalVehicleBreaksConstraintTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_AllowedAssignments__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * IntVarLocalSearchOperator_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
SWIGINTERN PyObject * _wrap_IntExpr___eq____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__BaseLns[]
static swig_type_info _swigt__p_std__vectorT_std__unique_ptrT_operations_research__LocalDimensionCumulOptimizer_t_t
SWIGINTERN PyObject * _wrap_IntervalVar_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
Constraint * MakeLess(IntExpr *const left, IntExpr *const right)
left < right
Definition: range_cst.cc:546
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___add____SWIG_0(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_Solver_AllDifferentExcept(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_module_info * SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata))
SWIGINTERN PyObject * _wrap_IntVarContainer_Restore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___gt__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * Demon_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Count__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_PYTHON_THREAD_BEGIN_BLOCK
static swig_cast_info _swigc__p_operations_research__TypeRequirementChecker[]
SWIGINTERN PyObject * _wrap_SequenceVar_RankLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdLessOrEqual__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetTemporalTypeIncompatibilitiesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static const DisjunctionIndex kNoDisjunction
Constant used to express the "no disjunction" index, returned when a node does not appear in any disj...
Definition: routing.h:455
SWIGINTERN PyObject * _wrap_RoutingModel_AddDimensionWithVehicleTransitAndCapacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimensio...
Definition: routing.h:2188
An Assignment is a variable -> domains mapping, used to report solutions to the user.
SWIGINTERN PyObject * _wrap_Solver_InversePermutationConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntVarLocalSearchOperator
static void * _p_operations_research__SearchLimitTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingDimension_ShortestTransitionSlack(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__DemonTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingDimension_SetBreakIntervalsOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_model(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntExpr * MakeSquare(IntExpr *const expr)
expr * expr
SWIGINTERN PyObject * _wrap_SolutionCollector_ForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__PropagationMonitor[]
static void * _p_operations_research__TypeRegulationsConstraintTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_BooleanVar_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EnterSearch()
Beginning of the search.
SWIGINTERN PyObject * _wrap_IntervalVar_CannotBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___add__(PyObject *self, PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___add____SWIG_2(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_Assignment_SetStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetPerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAfterEnd(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
static swig_type_info _swigt__p_operations_research__IntVarLocalSearchFilter
struct swig_module_info * next
DirectorException(PyObject *error, const char *hdr="", const char *msg="")
SWIGINTERN operations_research::LocalSearchFilter * operations_research_Solver_SumObjectiveFilter(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, operations_research::Solver::IndexEvaluator2 values, operations_research::Solver::LocalSearchFilterBound filter_enum)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetDurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A BaseObject is the root of all reversibly allocated objects.
PyObject * PyObjFrom< int64_t >(const int64_t &c)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___eq____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_PYTHON_THREAD_END_BLOCK
SWIGINTERN PyObject * _wrap_Solver_SearchLogWithCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ge____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_SearchLimit_Check(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVar_RankNotLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Add__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_IsMatchingModel(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetPairIndicesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsVal_double(PyObject *obj, double *val)
SWIGINTERN PyObject * _wrap_RoutingModel_GetGlobalDimensionCumulMPOptimizers(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty)
static swig_type_info _swigt__p_operations_research__IntVarElement
The class IntVar is a subset of IntExpr.
SWIGINTERN PyObject * _wrap_IntExpr___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FixedDurationIntervalVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__BaseLns
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsVal_int(PyObject *obj, int *val)
SWIGINTERN PyObject * _wrap_SolutionCollector_BackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_PickupToDeliveryLimitFunction[]
SWIGINTERN PyObject * _wrap_RoutingDimension_CumulVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activated(PyObject *self, PyObject *args)
When visited, the number of types 'T' on the vehicle increases by one.
Definition: routing.h:863
#define SWIGTYPE_p_operations_research__Constraint
t1 ends after t2 start, i.e. End(t1) >= Start(t2) + delay.
SWIGINTERN PyObject * _wrap_Solver_RestartCurrentSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__TypeRegulationsConstraintTo_p_operations_research__Constraint(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_ShouldFail(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetSingleNodesOfType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__SequenceVarLocalSearchOperatorTo_p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_t(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_WeightedMinimize(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_OldEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The class IntExpr is the base of all integer expressions in constraint programming.
SWIGINTERN PyObject * _wrap_Solver_VarStrValEvalPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_next(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_IntExpr___ne____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___eq____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
std::string message
Definition: trace.cc:398
SWIGINTERN PyObject * _wrap_delete_RevBool(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_TypeRequirementChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddMatrixDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the highest maximal value.
static swig_cast_info _swigc__p_operations_research__DefaultPhaseParameters[]
void HandleResult< void >(PyObject *pyresult)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint_Square(operations_research::Constraint *self)
IntValueStrategy
This enum describes the strategy used to select the next variable value to set.
SWIGINTERN operations_research::IntExpr * operations_research_Solver_ElementFunction(operations_research::Solver *self, std::function< int64_t(int64_t) > values, operations_research::IntVar *const index)
static swig_cast_info _swigc__p_operations_research__LocalSearchOperator[]
SWIGINTERN PyObject * _wrap_delete_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_AddSumVariableWeightsLessOrEqualConstantDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_AcceptNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_AtSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_EvalEvalStrPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, operations_research::Solver::IndexEvaluator2 evaluator, operations_research::Solver::EvaluatorStrategy str)
SWIGINTERN std::string operations_research_SequenceVar___repr__(operations_research::SequenceVar *self)
struct swig_module_info swig_module_info
SWIGINTERN PyObject * _wrap_SolutionCollector_Solution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_initialization_splits_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_HasPickupToDeliveryLimits(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetAmortizedLinearCostFactorOfVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___add__(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_operations_research__IntExpr
SWIGINTERN PyObject * _wrap_SearchLimit_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_NO_NULL
SWIGINTERN PyObject * _wrap_Solver_NextSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static const int64_t kNoPenalty
Constant used to express a hard constraint instead of a soft penalty.
Definition: routing.h:451
virtual void BeginInitialPropagation()
Before the initial propagation.
Constraint * MakeLessOrEqual(IntExpr *const left, IntExpr *const right)
left <= right
Definition: range_cst.cc:526
STARTS_AT_START and ENDS_AT_END at the same time.
SWIGINTERN PyObject * _wrap_Assignment_SetObjectiveMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentWithParameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterPositiveUnaryTransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Failures(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_IntVarLocalSearchOperator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_DIRECTOR_CAST(ARG)
SWIGINTERN PyObject * _wrap_new_IntVarLocalSearchOperator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
STARTS_BEFORE and ENDS_AFTER at the same time, i.e.
virtual void InitialPropagate()
This method performs the initial propagation of the constraint.
SWIGINTERN PyObject * _wrap_new_IntVarLocalSearchOperator(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Phase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___sub____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarElement_SetUnperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddDisjunction__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t[]
static void * _p_operations_research__BaseIntExprTo_p_operations_research__IntExpr(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN swig_type_info * SWIG_pchar_descriptor(void)
static void * _p_operations_research__NumericalRevT_long_tTo_p_operations_research__RevT_long_t(void *x, int *SWIGUNUSEDPARM(newmemory))
Relocate: OROPT and RELOCATE.
Move is accepted when the current objective value >= objective.Min.
SWIGINTERN PyObject * _wrap_delete_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EndNextDecision(DecisionBuilder *const b, Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
SWIGINTERN PyObject * _wrap_SequenceVar_Interval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntExpr
SWIGINTERN PyObject * _wrap_Solver_TrueConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Accept(ModelVisitor *const visitor) const
Accepts the given visitor.
SWIGRUNTIME PyObject * SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
static swig_type_info _swigt__p_TransitCallback1
IntExpr * MakeElement(const std::vector< int64_t > &values, IntVar *const index)
values[index]
Definition: element.cc:657
SWIGINTERN PyObject * _wrap_RoutingModel_UnperformedPenalty(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_UnaryTransitCallbackOrNull(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetCumulVarSoftUpperBoundCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterOrEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__vectorT_operations_research__RoutingDimension_p_t
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___sub____SWIG_0(operations_research::Constraint *self, operations_research::IntExpr *other)
static void * _p_operations_research__IntVarTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntVarIterator_Init(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetPerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool SkipUnchanged(int index) const
static void * _p_operations_research__IntExprTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_cast_info _swigc__p_operations_research__IntExpr[]
SWIGINTERN PyObject * _wrap_SearchMonitor_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BaseObject_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE int SWIG_CanCastAsInteger(double *d, double min, double max)
SWIGINTERN std::string operations_research_IntervalVar___str__(operations_research::IntervalVar *self)
static swig_type_info _swigt__p_operations_research__LocalDimensionCumulOptimizer
SWIGINTERN PyObject * _wrap_IntExpr_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_IsPerformedBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_DecisionBuilder(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t[]
int64_t delta
Definition: resource.cc:1692
SWIGINTERN PyObject * _wrap_Solver_FixedDurationEndSyncedOnEndIntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SafeDurationExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddSameVehicleRequiredTypeAlternatives(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BranchesLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntVarStrategy
This enum describes the strategy used to select the next branching variable at each node during the s...
SWIGINTERN PyObject * _wrap_RoutingModel_GetLocalDimensionCumulOptimizers(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_STATIC_POINTER(var)
#define SWIG_NewPointerObj(ptr, type, flags)
SWIGRUNTIME void SWIG_PropagateClientData(void)
SWIGINTERN PyObject * _wrap_RoutingModel_GetMaximumNumberOfActiveVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__RegularLimitTo_p_operations_research__SearchLimit(void *x, int *SWIGUNUSEDPARM(newmemory))
virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta)
Dual of Relax(), lets the filter know that the delta was accepted.
SWIGINTERN PyObject * _wrap_RoutingModel_GetLocalDimensionCumulMPOptimizers(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
DirectorTypeMismatchException(PyObject *error, const char *msg="")
SWIGINTERN PyObject * _wrap_BooleanVar_RemoveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_BaseLns(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BestValueSolutionCollector(PyObject *self, PyObject *args)
std::function< int64_t(int64_t, int64_t)> IndexEvaluator2
SWIGINTERN PyObject * _wrap_Solver_Circuit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FixedDurationStartSyncedOnEndIntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_unsigned_int[]
SWIGINTERN PyObject * _wrap_IntervalVar_DurationExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_ExitSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__ChangeValue
static swig_type_info _swigt__p_operations_research__LocalSearchOperator
SWIGINTERN PyObject * _wrap_RoutingModel_GetPerfectBinaryDisjunctions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarIterator_Next(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ne____SWIG_2(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_IntervalVarElement_StartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAfterEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t[]
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___mul____SWIG_1(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_ChangeValue_ModifyValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__TypeRegulationsConstraint
SWIGINTERN PyObject * _wrap_Assignment_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetDisjunctionPenalty(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ne____SWIG_0(operations_research::IntExpr *self, int64_t v)
virtual std::string name() const
Object naming.
static swig_type_info _swigt__p_unsigned_int
SWIGINTERN std::string operations_research_SearchMonitor___repr__(operations_research::SearchMonitor *self)
SWIGINTERN PyObject * _wrap_delete_TypeRegulationsChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__CastConstraint[]
static swig_type_info _swigt__p_operations_research__IntVar
SWIGINTERN PyObject * IntervalVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Demon
SWIGINTERN PyObject * RevBool_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Min(PyObject *self, PyObject *args)
struct swig_varlinkobject swig_varlinkobject
SWIGINTERN PyObject * _wrap_Solver_FixedInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAfterEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ConstraintTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * IntVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_WhenBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RankLastInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__ostream
SWIGINTERN PyObject * _wrap_Assignment_SetEndMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_Best(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_TYPE_TABLE_NAME
static swig_type_info _swigt__p_operations_research__LocalSearchFilter
SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
SWIGINTERN PyObject * DefaultPhaseParameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static ReturnT HandleResult(PyObject *pyresult)
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterTransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddTemporalTypeIncompatibility(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_LocalSearchFilterManager__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_AvoidsDate(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ConstraintTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_CheckLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Operator__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToLocalSearchOperator(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_Assignment_SetPerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAtEndWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Among unbound variables, select the variable with the smallest size.
SWIGINTERN PyObject * _wrap_RoutingModel_AddPickupAndDeliverySets(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_AcceptSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_absl__flat_hash_setT_int_t
SWIGINTERN PyObject * _wrap_RoutingModel_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_ObjectiveBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static const DimensionIndex kNoDimension
Constant used to express the "no dimension" index, returned when a dimension name does not correspond...
Definition: routing.h:459
SWIGINTERN PyObject * _wrap_RoutingModel_AddLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::DecisionBuilder * operations_research_Solver_VarEvalValEvalTieBreakPhase(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &vars, std::function< int64_t(int64_t) > var_eval, operations_research::Solver::IndexEvaluator2 val_eval, std::function< int64_t(int64_t) > tie_breaker)
SWIGINTERN PyObject * _wrap_Solver_SumEquality(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_operations_research__IntTupleSet
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAtStartWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
SWIGINTERNINLINE PyObject * SWIG_From_std_string(const std::string &s)
SWIGINTERNINLINE PyObject * SWIG_FromCharPtrAndSize(const char *carray, size_t size)
static swig_cast_info _swigc__p_char[]
#define SWIGTYPE_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t
static void * _p_operations_research__GlobalVehicleBreaksConstraintTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SwigVar_PyObject & operator=(PyObject *obj)
static swig_type_info _swigt__p_std__ostream
static swig_cast_info _swigc__p_operations_research__RoutingDimension[]
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_ChangeValue_OneNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetNumberOfDisjunctions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_PathCumul__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...
SWIGINTERN PyObject * _wrap_Constraint___ne____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TreeNoCycle__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Max__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which replaces an active node by an inactive one.
SWIGINTERN PyObject * _wrap_SolutionCollector_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___floordiv__(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * IntVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsLessCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__pairT_std__vectorT_long_t_std__vectorT_long_t_t
SWIGINTERN PyObject * _wrap_RoutingModel_AddDimensionWithVehicleCapacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetPrimaryConstrainedDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGRUNTIMEINLINE
#define SWIG_ConvertPtr(obj, pptr, type, flags)
#define SWIGTYPE_p_operations_research__NumericalRevT_long_t
#define SWIGTYPE_p_absl__Duration
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ne____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * Pack_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which reverses a sub-chain of a path.
SWIGINTERN PyObject * _wrap_disown_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_random_seed_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___eq__(PyObject *self, PyObject *args)
static swig_cast_info _swigc__p_RoutingDisjunctionIndex[]
STARTS_AFTER or ENDS_BEFORE, i.e.
SWIGINTERN PyObject * _wrap_Solver_FixedDurationIntervalVar(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___gt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___add____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__LocalSearchFilterManager[]
Constraint * MakeGreaterOrEqual(IntExpr *const left, IntExpr *const right)
left >= right
Definition: range_cst.cc:542
SWIGRUNTIME int SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Demon_RunWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_IntVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchLimit_Crossed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
SWIGINTERN PyObject * _wrap_Solver_NewSearch(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___add____SWIG_1(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_OptimizeVar_AcceptDelta(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_decision_builder_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_WhenRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_DimensionIndex[]
#define SWIGTYPE_p_operations_research__RoutingIndexManager
SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
static void * _p_operations_research__PropagationMonitorTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN operations_research::Constraint * operations_research_IntExpr_Member(operations_research::IntExpr *self, std::vector< int64_t > const &values)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAfterStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___lt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___sub____SWIG_2(operations_research::IntExpr *self, int64_t v)
#define SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___floordiv__(PyObject *self, PyObject *args)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAfterEndWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
This class is used to manage a pool of solutions.
SWIGINTERN PyObject * _wrap_SearchMonitor_ApplyDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_MustBePerformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg)
std::function< bool(int64_t)> IndexFilter1
SWIGINTERN PyObject * _wrap_AssignmentElement_Activate(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ImprovementSearchLimitTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_LubyRestart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddPickupAndDelivery(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_VarStrValEvalTieBreakPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * AssignmentElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchLimit_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___gt____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
PyObject_HEAD void * ptr
SWIGINTERN PyObject * SequenceVarContainer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Decision_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__SolutionCollectorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Assignment_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToLocalSearchFilterManager(PyObject *py_obj)
bool CanConvertToLocalSearchFilter(PyObject *py_obj)
static swig_cast_info _swigc__p_operations_research__RegularLimit[]
SWIGINTERN PyObject * GlobalVehicleBreaksConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_tTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_ElementEquality__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
SWIGINTERN PyObject * _wrap_Pack_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint_MapTo(operations_research::Constraint *self, std::vector< operations_research::IntVar * > const &vars)
SWIGINTERN PyObject * _wrap_Assignment_SetEndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LastSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
SWIGINTERN operations_research::IntExpr * operations_research_Constraint_IndexOf__SWIG_0(operations_research::Constraint *self, std::vector< int64_t > const &vars)
SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz)
SWIGINTERN PyObject * _wrap_Solver_FixedDurationIntervalVar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_From_long
SWIGINTERN PyObject * _wrap_RoutingModel_End(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__PackTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
Operator which defines one neighbor per variable.
SWIGINTERN PyObject * _wrap_Solver_VariableGreaterOrEqualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BestValueSolutionCollector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__functionT_long_flong_longF_t
SWIGINTERN std::string operations_research_SearchMonitor___str__(operations_research::SearchMonitor *self)
Model, model parameters or flags are not valid.
Definition: routing.h:222
SWIGINTERN PyObject * _wrap_RoutingDimension_global_span_cost_coefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_IntVar___repr__(operations_research::IntVar *self)
SWIGINTERN PyObject * Constraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * swig_varlink_str(swig_varlinkobject *v)
static void * _p_operations_research__LocalSearchFilterTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
SWIGINTERN PyObject * _wrap_IntervalVar_WhenAnything(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetGlobalSpanCostCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IntervalRelaxedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ElementEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyMethodDef * SWIG_PythonGetProxyDoc(const char *name)
virtual int64_t ModifyValue(int64_t index, int64_t value)
SWIGINTERN PyObject * TypeRequirementChecker_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdEquality__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__LocalSearchPhaseParameters[]
SWIGINTERN PyObject * _wrap_SolutionCollector_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NewSearch__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Min__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BaseIntExprTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SequenceStrategy
Used for scheduling. Not yet implemented.
static void * _p_operations_research__SolutionPoolTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_IsEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGUNUSEDPARM(p)
SWIGINTERN PyObject * _wrap_RoutingModel_VehicleIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarElement_SetForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___rsub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
SWIGINTERN PyObject * _wrap_RoutingModel_AddDisjunction__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarElementTo_p_operations_research__AssignmentElement(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumEqualVarDimension__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAfterEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_IndexOf__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_BUILTIN_TP_INIT
SWIGINTERN PyObject * _wrap_IntExpr_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___abs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * PropagationBaseObject_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info * swig_type_initial[]
SWIGINTERN PyObject * _wrap_SearchMonitor_solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Optimize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_IsEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_short
SWIGINTERN int Swig_var_RoutingModel_kNoPenalty_set(PyObject *)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___ge____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * DecisionBuilder_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ReSeed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultRoutingModelParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool SkipUnchanged(int index) const
SWIGINTERN PyObject * _wrap_RoutingModel_CostVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_TypeIncompatibilityChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
DemonPriority
This enum represents the three possible priorities for a demon in the Solver queue.
#define SWIG_POINTER_NOSHADOW
#define SWIG_SystemError
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SwigPyObject_own(PyObject *v, PyObject *args)
SWIGINTERN PyObject * LocalSearchFilter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A Decision represents a choice point in the search tree.
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
SWIGINTERN PyObject * _wrap_RoutingDimension_GetCumulVarSoftUpperBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NonOverlappingBoxesConstraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndRange(PyObject *self, PyObject *args)
static void * _p_operations_research__GlobalVehicleBreaksConstraintTo_p_operations_research__Constraint(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_LastSolutionCollector(PyObject *self, PyObject *args)
static swig_cast_info _swigc__p_operations_research__LocalSearchFilter[]
static swig_cast_info _swigc__p_operations_research__TypeRegulationsConstraint[]
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___sub____SWIG_2(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_RoutingModel_NextVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_ComputeLowerBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_Constraint___repr__(operations_research::Constraint *self)
PyObject * FromObjectDecision(operations_research::Decision *obj)
SWIGINTERN PyObject * _wrap_Solver_TreeNoCycle(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___abs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarLocalSearchOperatorTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
static PyMethodDef SwigMethods_proxydocs[]
SWIGINTERN PyObject * _wrap_new_RoutingIndexManager__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_NumSequenceVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_MangledTypeQuery(name)
#define SWIGTYPE_p_operations_research__GlobalVehicleBreaksConstraint
SWIGINTERN PyObject * _wrap_IntExpr___lt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__SequenceVar
SWIGINTERN PyObject * _wrap_new_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
RoutingTransitCallback2 TransitCallback2
Definition: routing.h:239
The following constraint ensures that incompatibilities and requirements between types are respected.
Definition: routing.h:2426
SWIGINTERN PyObject * _wrap_SequenceVarLocalSearchOperatorTemplate_IsIncremental(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_RemoveInterval(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_AddNodePrecedence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__GlobalVehicleBreaksConstraint
SWIGINTERN PyObject * _wrap_Solver_GuidedLocalSearch__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AddConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllDifferent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * TypeIncompatibilityChecker_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_MemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__CastConstraintTo_p_operations_research__Constraint(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_TypeRegulationsConstraint_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BoolVar(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAtStartWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectIntExpr(operations_research::IntExpr *obj)
void * malloc(YYSIZE_T)
static void * _p_operations_research__SequenceVarTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static void * _p_operations_research__LocalSearchFilterManagerTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntVar_WhenBound(PyObject *self, PyObject *args)
SWIGINTERN PyObject * RoutingDimension_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddVectorDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsBefore(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_Python_ArgFail(int argnum)
SWIGINTERN PyObject * _wrap_Constraint___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ChangeValueTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__TypeRegulationsChecker
static swig_type_info _swigt__p_operations_research__RevT_long_t
SWIGINTERN PyObject * _wrap_Solver_IsLessOrEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NotMemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__BaseIntExpr[]
SWIGINTERN PyObject * _wrap_Solver_ScalProdLessOrEqual(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_delete_NumericalRevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_HasHardTypeIncompatibilities(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_module_info swig_module
static void * _p_operations_research__DisjunctiveConstraintTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Decision_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_SequenceVarElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__TypeRegulationsConstraint
SWIGINTERN PyObject * _wrap_Solver_FixedDurationIntervalVar__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Max(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SwigPyObject_disown(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_IntVar_RemoveValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsLessVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__BaseObject
SWIGINTERN PyObject * _wrap_Solver_Element__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetDurationMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolveAndCommit(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_DurationValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_BaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___mul____SWIG_0(operations_research::Constraint *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartRange(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_new_LocalSearchFilterManager__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
A search monitor is a simple set of callbacks to monitor all search events.
SWIGINTERN PyObject * _wrap_Solver_Cumulative__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsVal_bool(PyObject *obj, bool *val)
SWIGINTERN PyObject * _wrap_Demon_Priority(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__ChangeValue[]
SWIGINTERN PyObject * _wrap_IntExpr___mul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__AssignmentContainerT_operations_research__IntervalVar_operations_research__IntervalVarElement_t
static swig_cast_info _swigc__p_operations_research__BooleanVar[]
virtual void AfterDecision(Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
SWIGINTERN PyObject * _wrap_Solver_Stamp(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___mul__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_delete_TypeIncompatibilityChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_Bound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntVarLocalSearchFilter
static void * _p_operations_research__BaseIntExprTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_cast_info _swigc__p_operations_research__AssignmentContainerT_operations_research__IntVar_operations_research__IntVarElement_t[]
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_WhenDomain__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndBound__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntervalStrategy
This enum describes the straregy used to select the next interval variable and its value to be fixed.
SWIGINTERN PyObject * _wrap_IntVar_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___ge____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhase__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void ExitSearch()
End of the search.
SWIGINTERN PyObject * _wrap_Constraint___lt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ScalProdGreaterOrEqual__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddWeightedVariableMinimizedByFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ge____SWIG_1(operations_research::IntExpr *self, operations_research::IntExpr *other)
SWIGINTERN PyObject * _wrap_IntExpr___ne____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SearchMonitor_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetDepot(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Solver_TreeNoCycle__SWIG_0(operations_research::Solver *self, std::vector< operations_research::IntVar * > const &nexts, std::vector< operations_research::IntVar * > const &active, operations_research::Solver::IndexFilter1 callback=nullptr)
SWIGINTERN PyObject * SequenceVarLocalSearchOperator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_DefaultPhaseParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IntConst__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_TransitCallback1[]
SWIGINTERN PyObject * _wrap_Constraint___lt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Struct used to sort and store vehicles by their type.
Definition: routing.h:354
virtual void Reset()
Sets the filter to empty solution.
SWIGINTERN PyObject * SearchMonitor_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchFilter_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetPrimaryConstrainedDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LexicalLessOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__Pack
SWIGINTERN PyObject * _wrap_Assignment_SetPerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BooleanVarTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_StaysInSync(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__CastConstraint
The visit doesn't have an impact on the number of types 'T' on the route, as it's (virtually) added a...
Definition: routing.h:876
SWIGINTERN PyObject * Swig_var_RoutingModel_kNoDisjunction_get(void)
SWIGINTERN PyObject * _wrap_IntervalVarElement_PerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static PyObject * swig_pyobj_disown(PyObject *pyobj, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_IntVarElement_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_RefuteDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___floordiv__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SolutionsLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SetStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_SetRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__TypeRegulationsChecker
SWIGINTERN PyObject * _wrap_IntExpr___ge__(PyObject *self, PyObject *args)
Collection of objects used to extend the Constraint Solver library.
SWIGINTERN PyObject * _wrap_IntExpr___gt____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_Min(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Solver__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__RegularLimit
SWIGINTERN PyObject * _wrap_Solver_NonOverlappingBoxesConstraint(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SumGreaterOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
virtual void ApplyDecision(Decision *const d)
Before applying the decision.
SWIGINTERN PyObject * _wrap_Constraint_InitialPropagateWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_PerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllDifferent(PyObject *self, PyObject *args)
virtual operations_research::Solver::DemonPriority priority() const
This method returns the priority of the demon.
SWIGINTERN PyObject * _wrap_Solver_IsEqualCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ChangeValueTo_p_operations_research__IntVarLocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_VehicleCostsConsideredVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchLimit_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual std::string name() const
Object naming.
SWIGINTERN PyObject * _wrap_RoutingIndexManager_GetNumberOfNodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__RoutingDimension
SWIGINTERN PyObject * _wrap_RoutingModel_GetMutableDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__SequenceVarLocalSearchOperator[]
SwigDirector_SearchMonitor(operations_research::Solver *const s)
static swig_type_info _swigt__p_operations_research__ImprovementSearchLimit
SWIGINTERN PyObject * _wrap_new_RevBool(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_MemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllowedAssignments__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetCumulVarSoftLowerBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___sub____SWIG_1(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Solver_ConcatenateOperators(PyObject *self, PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StaysInSyncWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
static void * _p_operations_research__SearchLimitTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Solver_IsLessCstCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__RoutingModel[]
SWIGINTERN PyObject * _wrap_IntExpr_NotMember(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_RoutingIndexManager(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Guard(PyThread_type_lock &mutex)
static void * _p_operations_research__SearchLogTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIME PyObject * SWIG_This(void)
SWIGINTERN PyTypeObject * swig_varlink_type(void)
A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...
SWIGINTERN PyObject * _wrap_RoutingIndexManager_GetStartIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__ChangeValue
static swig_type_info _swigt__p_operations_research__RoutingDimension
SWIGINTERN PyObject * _wrap_Solver_Distribute(PyObject *self, PyObject *args)
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___mod____SWIG_0(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_delete_LocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__Pack[]
GCItem_var & operator=(GCItem *item)
SWIGINTERN PyObject * _wrap_IntervalVarElement_PerformedValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterOrEqualVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_BaseObject___repr__(operations_research::BaseObject *self)
SWIGRUNTIME PyObject * SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
static swig_type_info _swigt__p_operations_research__DecisionBuilder
SWIGINTERN PyObject * _wrap_Solver_Max__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Demon_Desinhibit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_tTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_GetDimensionResourceGroupIndices(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SwigPtr_PyObject(PyObject *obj, bool initial_ref=true)
SWIGINTERN PyObject * _wrap_Constraint___rmul__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumEqualVarDimension__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Constraint * MakeEquality(IntExpr *const left, IntExpr *const right)
left == right
Definition: range_cst.cc:512
SWIGINTERN PyObject * IntVarLocalSearchFilter_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___floordiv____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddVariableMinimizedByFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___gt____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetBackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Decision_ApplyWrapper(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_short[]
Operator which makes an inactive node active and an active one inactive.
SWIGINTERN PyObject * SwigPyObject_acquire(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
Selects the next unbound variable on a path, the path being defined by the variables: var[i] correspo...
static swig_type_info _swigt__p_unsigned_short
SWIGINTERN std::string operations_research_IntVar___str__(operations_research::IntVar *self)
SWIGINTERN PyObject * _wrap_LocalSearchOperator_NextNeighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_heuristic_num_failures_limit_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_VarEvalValEvalPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.
SWIGINTERN PyObject * _wrap_RoutingModel_MutablePreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SemiContinuousExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool PyObjAs(PyObject *py_obj, operations_research::Decision **b)
Selects randomly one of the possible values of the selected variable.
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_EndsAtEnd(operations_research::IntervalVar *self, operations_research::IntervalVar *other)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AreEmptyRouteCostsConsideredForVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activated__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___le____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToIntExpr(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_IntVarIterator_Ok(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetObjectiveMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
void swig_acquire_ownership_obj(void *vptr, int own) const
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetPerformedMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__SequenceVarTo_p_operations_research__PropagationBaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAtStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__LocalSearchMonitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_heuristic_period_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_HasTemporalTypeRequirements(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void NoMoreSolutions()
When the search tree is finished.
#define SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t
SWIGINTERN PyObject * _wrap_Solver_PrintModelVisitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__SolutionCollector
SWIGINTERN PyObject * _wrap_SearchLimit_BeginNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Deactivate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_BestValueSolutionCollector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SolveFromAssignmentsWithParameters(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_MapTo(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
SWIGINTERN PyObject * _wrap_RoutingModel_GetDimensionsWithSoftOrSpanCosts(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_nodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_TypeRegulationsConstraint_Post(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___mod____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_InitShadowInstance(PyObject *args)
jobject swig_get_self(JNIEnv *jenv) const
SWIGINTERN PyObject * _wrap_IntExpr_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__RegularLimitTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_cast_info _swigc__p_operations_research__IntVarElement[]
SWIGINTERN PyObject * _wrap_Solver_MemoryUsage(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Decision
SWIGINTERN PyObject * Solver_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_CAST_NEW_MEMORY
SWIGINTERN PyObject * _wrap_Decision___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_IsMember(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_EndNextDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddVariableTargetToFinalizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
SWIGINTERN PyObject * _wrap_Solver_ConvexPiecewiseExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_TypeRequirementChecker(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_TypeRegulationsConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsLessOrEqualCt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntVar * var
Definition: expr_array.cc:1874
SWIGINTERN PyObject * _wrap_IntervalVar_StartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_oct(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_PropagationBaseObject_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__LocalSearchFilter
SWIGINTERN PyObject * _wrap_GlobalVehicleBreaksConstraint_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
SWIGINTERN PyObject * _wrap_BaseLns_InitFragments(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_LocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetDurationMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_IsVehicleUsed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsMemberCt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SetBreakDistanceDurationOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarElement_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t starts before d, i.e. Start(t) <= d.
SWIGINTERN PyObject * _wrap_Solver_IntVar__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_StartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__vectorT_operations_research__RoutingDimension_p_t[]
EvaluatorLocalSearchOperators
This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...
SWIGRUNTIME int SWIG_Python_AcquirePtr(PyObject *obj, int own)
virtual bool AtSolution()
This method is called when a valid solution is found.
SWIGINTERN PyObject * _wrap_RoutingModel_RegisterPositiveTransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TabuSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_SafeStartExpr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_random_seed_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToDecisionBuilder(PyObject *py_obj)
Among unbound variables, select the variable with the highest size.
static swig_cast_info _swigc__p_operations_research__Solver[]
SWIGINTERN PyObject * _wrap_Solver_NullIntersectExcept(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * swig_varlink_getattr(swig_varlinkobject *v, char *n)
SWIGINTERN PyObject * _wrap_new_RoutingModel__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_SetMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BooleanVar_WhenRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__VarLocalSearchOperatorT_operations_research__SequenceVar_std__vectorT_int_t_operations_research__SequenceVarLocalSearchHandler_tTo_p_operations_research__LocalSearchOperator(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___rsub__(operations_research::Constraint *self, int64_t v)
SWIGINTERN PyObject * _wrap_Constraint___ne__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ConstraintAdder(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * IntVarLocalSearchOperatorTemplate_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
#define SWIG_InternalNewPointerObj(ptr, type, flags)
IntExpr * MakeDiv(IntExpr *const expr, int64_t value)
expr / value (integer division)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void RestartSearch()
Restart the search.
void free(void *)
SWIGINTERN PyObject * _wrap_RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_SetUnperformed(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
swig_converter_func converter
SWIGINTERN PyObject * _wrap_IntVarElement_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
SWIGINTERN PyObject * _wrap_IntVarIterator_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t
SWIGINTERN PyObject * _wrap_Solver_Min__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool swig_get_inner(const char *) const
SWIGINTERN PyObject * _wrap_Solver_RandomConcatenateOperators__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
Constraint * MakeNonEquality(IntExpr *const left, IntExpr *const right)
left != right
Definition: range_cst.cc:564
SWIGINTERN PyObject * _wrap_IntervalVar_WhenPerformedBound(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarContainer_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_SetAmortizedCostFactorsOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Subclass of Rev<T> which adds numerical operations.
SWIGINTERN PyObject * _wrap_RoutingModel_AddDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__BooleanVar
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAfterStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Move is accepted when the current objective value is in the interval objective.Min .
static void * _p_operations_research__ModelVisitorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static swig_type_info _swigt__p_char
SWIGINTERN PyObject * RoutingIndexManager_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
IntExpr * MakeModulo(IntExpr *const x, int64_t mod)
Modulo expression x % mod (with the python convention for modulo).
SWIGINTERN PyObject * _wrap_RoutingModel_DebugOutputAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_DIRECTOR_RGTR(ARG1, ARG2)
SWIGINTERN PyObject * _wrap_RoutingModel_GetMutableGlobalCumulOptimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVarLocalSearchOperatorTemplate_OnStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SearchMonitor_AfterDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__AssignmentTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
static void * _p_operations_research__SymmetryBreakerTo_p_operations_research__DecisionVisitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_AddConstantDimension(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_AssignmentElement_Activated(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_std__functionT_long_flongF_t[]
SWIGINTERN PyObject * _wrap_RoutingModel_GetMutableGlobalCumulMPOptimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StaysInSyncWithDelay(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_IntVarLocalSearchFilter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...
SWIGINTERN PyObject * _wrap_Solver_NestedOptimize__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_RoutesToAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NotMemberCt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_ErrorType(code)
SWIGINTERN PyObject * _wrap_BooleanVar_SetMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
IntExpr * MakeOpposite(IntExpr *const expr)
-expr
SWIGINTERN PyObject * _wrap_RoutingModel_ApplyLocksToAllVehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Demon(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
int nodes
SWIGINTERN PyObject * _wrap_RoutingModel_TransitCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_exception_fail(code, msg)
static swig_const_info swig_const_table[]
SWIGINTERN PyObject * _wrap_Solver_EvalEvalStrPhase(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_vehicles(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IntervalVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetRequiredTypeAlternativesWhenRemovingType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_NumericalRevInteger_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RestartSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_ObjectiveMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t1 starts after t2 start, i.e. Start(t1) >= Start(t2) + delay.
SWIGINTERN PyObject * _wrap_Solver_ScalProdEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
int swig_release_ownership(void *vptr) const
SWIGINTERN PyObject * _wrap_IntervalVarElement_PerformedMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__BooleanVar
SWIGINTERN PyObject * _wrap_SequenceVarElement_SetBackwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__IntVarIterator
static swig_cast_info _swigc__p_operations_research__DecisionVisitor[]
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumEqualVarDimension(PyObject *self, PyObject *args)
PyObject * FromObjectLocalSearchOperator(operations_research::LocalSearchOperator *obj)
SWIGINTERN PyObject * _wrap_new_RoutingIndexManager(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_long
SWIGINTERN PyObject * _wrap_LocalSearchFilter_Accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_OldEndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__SearchMonitor
SWIGINTERN PyObject * _wrap_Solver_Compose(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__SearchMonitor
SWIGINTERN PyObject * _wrap_Solver_TemporalDisjunction(PyObject *self, PyObject *args)
SWIGINTERN operations_research::IntExpr * operations_research_IntExpr___abs__(operations_research::IntExpr *self)
SWIGINTERN PyObject * _wrap_BooleanVar_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_NumericalRevInteger_Decr(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___floordiv____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntVar_OldMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__RevT_bool_t[]
Base class of all search limits.
RoutingVehicleClassIndex VehicleClassIndex
Definition: routing.h:237
SWIGINTERN PyObject * _wrap_SearchMonitor_RestartSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_GlobalVehicleBreaksConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_CompactAndCheckAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr___gt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__RoutingIndexManager[]
Split the domain in two around the center, and choose the lower part first.
SWIGINTERN PyObject * _wrap_Assignment_Load(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_TreeNoCycle__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsGreaterOrEqualCstVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BaseLns_FragmentSize(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual bool LocalOptimum()
When a local optimum is reached.
#define SWIG_POINTER_EXCEPTION
SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
SWIGINTERN PyObject * _wrap_IntExpr_WhenRange(PyObject *self, PyObject *args)
#define SWIG_TypeQuery(name)
SWIGRUNTIME PyTypeObject * SwigPyObject_type(void)
#define SWIGTYPE_p_operations_research__LocalSearchPhaseParameters
#define SWIG_SetModule(clientdata, pointer)
static swig_cast_info _swigc__p_std__vectorT_operations_research__LocalSearchFilterManager__FilterEvent_t[]
SWIGINTERN PyObject * _wrap_Solver_Distribute__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__IntTupleSet
SWIGINTERN PyObject * _wrap_Solver_StoreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddRequiredTypeAlternativesWhenAddingType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__BooleanVarTo_p_operations_research__IntExpr(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_operations_research__SequenceVar
static swig_type_info _swigt__p_operations_research__SearchLog
SWIGINTERN PyObject * _wrap_disown_IntVarLocalSearchOperator(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_PropagationBaseObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Store(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_IsNewObj(r)
SWIGINTERN PyObject * _wrap_IntExpr_IsVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntExpr_WhenRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Assignment__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_IntExpr___str__(operations_research::IntExpr *self)
static swig_type_info _swigt__p_operations_research__Assignment
static swig_type_info _swigt__p_DisjunctionIndex
SWIGINTERN PyObject * _wrap_Solver_SearchLeftDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_BUFFER_SIZE
SWIGINTERN PyObject * _wrap_Solver_FalseConstraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Commit(const Assignment *delta, const Assignment *deltadelta)
Dual of Relax(), lets the filter know that the delta was accepted.
SWIGINTERN PyObject * _wrap_Assignment_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_AddDisjunction(PyObject *self, PyObject *args)
SWIGINTERN PyObject * IntVarElement_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int(*set_attr)(PyObject *p))
static void * _p_operations_research__LocalSearchOperatorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_PreAssignment(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__IntVarIteratorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_Assignment_SetPerformedRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Split the domain in two around the center, and choose the lower part first.
SWIGINTERN PyObject * _wrap_Solver_MemberCt(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Demon_Inhibit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__DisjunctiveConstraint[]
static void * _p_operations_research__SequenceVarLocalSearchOperatorTo_p_operations_research__BaseObject(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntVarElement___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenDurationBound(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_GuidedLocalSearch__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_OldStartMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVarContainer_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_StartsAfterStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IsMemberCt(PyObject *self, PyObject *args)
Local Search Filters are used for fast neighbor pruning.
#define SWIGTYPE_p_operations_research__SearchLimit
SWIGINTERN PyObject * BaseObject_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_Activate(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint___le__(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LexicalLess(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
Operator which relaxes two sub-chains of three consecutive arcs each.
#define SWIGTYPE_p_std__vectorT_std__vectorT_long_t_t
SWIGINTERN int swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p)
SWIGINTERN PyObject * _wrap_Pack_AddWeightedSumLessOrEqualConstantDimension__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ElementEquality(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_SlackVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * IntervalVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__IntervalVar
static swig_cast_info _swigc__p_operations_research__SequenceVarElement[]
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_heuristic_period_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IndexExpression(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Assignment_MutableSequenceVarContainer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAt(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
if(!yyg->yy_init)
Definition: parser.yy.cc:965
int64_t value
SWIGINTERN PyObject * _wrap_Solver_IntVar(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVar_WhenEndBound__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIOR...
SWIGINTERN PyObject * _wrap_Solver_LocalSearchPhaseParameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_MemoryError
SWIGINTERNINLINE PyObject * SWIG_From_unsigned_SS_long(unsigned long value)
IntExpr * MakeSum(IntExpr *const left, IntExpr *const right)
left + right.
#define SWIG_Python_CallFunctor(functor, obj)
SWIGINTERN PyObject * _wrap_SolutionCollector_EndValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingModel_GetDimensionOrDie(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RevBool_SetValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_ChangeValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Limit__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsBefore(operations_research::IntervalVar *self, int64_t date)
SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars)
void set_fail_intercept(std::function< void()> fail_intercept)
Internal.
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAfter(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SequenceVar___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_IOError
SWIGINTERN PyObject * _wrap_Solver_SolveDepth(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Operator(PyObject *self, PyObject *args)
virtual void Refute(operations_research::Solver *const s)
Refute will be called after a backtrack.
SWIGINTERN PyObject * _wrap_new_RevInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
The default behavior is CHOOSE_FIRST_UNBOUND.
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_long_t_t[]
SWIGINTERN PyObject * _wrap_RoutingModel_GetDeliveryIndexPairs(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToIntVar(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_Assignment_SetForwardSequence(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_SolutionCollector_ObjectiveValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
t starts after d, i.e. Start(t) >= d.
SWIGINTERN PyObject * _wrap_Assignment_SetStartMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_AllowedAssignments(PyObject *self, PyObject *args)
SWIGINTERN PyObject * IntExpr_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EndInitialPropagation()
After the initial propagation.
static swig_cast_info _swigc__p_operations_research__AssignmentElement[]
SWIGINTERN operations_research::Constraint * operations_research_Constraint___le____SWIG_0(operations_research::Constraint *self, int64_t v)
Operator which inserts an inactive node into a path.
SWIGINTERN PyObject * _wrap_IntervalVar_WhenStartRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___ne____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Assignment_NumIntVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__RoutingModelVisitor
SWIGINTERN PyObject * _wrap_Constraint___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_type_info swig_type_info
PyObject * FromObjectLocalSearchFilter(operations_research::LocalSearchFilter *obj)
SWIGINTERN PyObject * _wrap_Solver_SearchLog__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * IntVarLocalSearchFilter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FailDecision(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__ChangeValueTo_p_operations_research__VarLocalSearchOperatorT_operations_research__IntVar_long_operations_research__IntVarLocalSearchHandler_t(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_IntExpr___lt____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static PyObject * Swig_This_global
SWIGINTERN operations_research::Constraint * operations_research_IntervalVar_StartsAtEndWithDelay(operations_research::IntervalVar *self, operations_research::IntervalVar *other, int64_t delay)
SWIGINTERN PyObject * _wrap_IntervalVar_EndsAfterEnd(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual std::string DebugString() const
SWIGINTERN PyObject * _wrap_Solver_IsMemberVar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_IntervalVarElement_EndMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
RoutingModelParameters DefaultRoutingModelParameters()
bool CanConvertToSearchMonitor(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_DefaultPhaseParameters_initialization_splits_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_Constraint___eq____SWIG_1(operations_research::Constraint *self, operations_research::IntExpr *other)
#define SWIGTYPE_p_RoutingDisjunctionIndex
SWIGINTERN PyObject * _wrap_RoutingDimension_SetCumulVarSoftUpperBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_Python_str_FromFormat
SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
SWIGINTERN PyObject * _wrap_SearchMonitor_EndInitialPropagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___le____SWIG_2(operations_research::IntExpr *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Assignment_NumIntervalVars(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_disown_SearchMonitor(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * DisjunctiveConstraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_const_info swig_const_info
SWIGINTERN PyObject * LocalSearchFilterManager_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SumLessOrEqual(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void EndFail()
After completing the backtrack.
EvaluatorStrategy
This enum is used by Solver::MakePhase to specify how to select variables and values during the searc...
static swig_cast_info _swigc__p_CostClassIndex[]
SWIGINTERN PyObject * _wrap_RoutingModel_GetRequiredTypeAlternativesWhenAddingType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_DefaultPhase(PyObject *self, PyObject *args)
SWIGRUNTIME void SWIG_Python_RaiseOrModifyTypeError(const char *message)
SWIGINTERN PyObject * _wrap_IntExpr___sub__(PyObject *self, PyObject *args)
static swig_cast_info _swigc__p_operations_research__AssignmentContainerT_operations_research__SequenceVar_operations_research__SequenceVarElement_t[]
SWIGINTERN PyObject * _wrap_RoutingModel_AddSoftSameVehicleConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SumEquality__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN operations_research::Constraint * operations_research_IntExpr___gt____SWIG_0(operations_research::IntExpr *self, int64_t v)
SWIGINTERN PyObject * _wrap_Solver_WeightedMaximize(PyObject *self, PyObject *args)
virtual std::string DebugString() const
SWIGINTERN PyObject * _wrap_Solver_AssignVariableValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_OptimizeVar_EnterSearch(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
virtual void Reset()
Sets the filter to empty solution.
SWIGINTERN PyObject * GlobalVehicleBreaksConstraint_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__Solver__SearchLogParameters
SWIGINTERN PyObject * _wrap_IntervalVarElement_SetDurationRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
This struct holds all parameters for the default search.
SWIGINTERN PyObject * SequenceVar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FalseConstraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
This class is the root class of all solution collectors.
#define SWIGTYPE_p_operations_research__LocalSearchOperator
#define SWIGTYPE_p_RoutingDimensionIndex
SWIGINTERN PyObject * RevInteger_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__Pack
SWIGINTERN PyObject * _wrap_Solver_Assignment__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static void * _p_operations_research__LocalSearchMonitorTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN operations_research::IntExpr * operations_research_Constraint___add____SWIG_1(operations_research::Constraint *self, operations_research::Constraint *other)
SWIGINTERN PyObject * _wrap_Solver_ScalProd(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_RandomConcatenateOperators(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_LocalSearchFilterManager_DebugString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
std::function< void()> Closure
static void * _p_operations_research__OptimizeVarTo_p_operations_research__SearchMonitor(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGINTERN PyObject * _wrap_RoutingModel_GetVehicleClassIndexOfVehicle(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_BaseObject___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__PropagationMonitor
SwigPtr_PyObject(const SwigPtr_PyObject &item)
SWIGINTERN PyObject * _wrap_Solver_GuidedLocalSearch(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingIndexManager_GetEndIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_RoutingDimension_GetCumulVarSoftLowerBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FalseConstraint(PyObject *self, PyObject *args)