From f14e5bcf222fce8d83be9234d8bdc8f3719aab04 Mon Sep 17 00:00:00 2001
From: Walter Van Herck <w.van.herck@fz-juelich.de>
Date: Tue, 13 Sep 2016 13:35:07 +0200
Subject: [PATCH] Regenerated Python API

---
 auto/Wrap/libBornAgainCore.py       |  938 +++--
 auto/Wrap/libBornAgainCore_wrap.cpp | 5631 ++++++++++++++-------------
 auto/Wrap/libBornAgainCore_wrap.h   |    2 +-
 auto/Wrap/libBornAgainFit.py        |  252 +-
 auto/Wrap/libBornAgainFit_wrap.cpp  | 2414 ++++++------
 auto/Wrap/libBornAgainFit_wrap.h    |    2 +-
 6 files changed, 4851 insertions(+), 4388 deletions(-)

diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py
index bef28907aac..3c11fd51dfc 100644
--- a/auto/Wrap/libBornAgainCore.py
+++ b/auto/Wrap/libBornAgainCore.py
@@ -1,5 +1,5 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.7
+# Version 3.0.8
 #
 # Do not make changes to this file unless you know what you are doing--modify
 # the SWIG interface file instead.
@@ -77,7 +77,7 @@ def _swig_getattr(self, class_type, name):
 def _swig_repr(self):
     try:
         strthis = "proxy of " + self.this.__repr__()
-    except:
+    except Exception:
         strthis = ""
     return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
 
@@ -93,12 +93,13 @@ except AttributeError:
 try:
     import weakref
     weakref_proxy = weakref.proxy
-except:
+except Exception:
     weakref_proxy = lambda x: x
 
 
 class SwigPyIterator(_object):
-    """Proxy of C++ swig::SwigPyIterator class"""
+    """Proxy of C++ swig::SwigPyIterator class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
     __swig_getmethods__ = {}
@@ -207,7 +208,8 @@ SwigPyIterator_swigregister(SwigPyIterator)
 _libBornAgainCore.SHARED_PTR_DISOWN_swigconstant(_libBornAgainCore)
 SHARED_PTR_DISOWN = _libBornAgainCore.SHARED_PTR_DISOWN
 class vdouble1d_t(_object):
-    """Proxy of C++ std::vector<(double)> class"""
+    """Proxy of C++ std::vector<(double)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vdouble1d_t, name, value)
     __swig_getmethods__ = {}
@@ -236,11 +238,6 @@ class vdouble1d_t(_object):
         return _libBornAgainCore.vdouble1d_t___len__(self)
 
 
-    def pop(self):
-        """pop(vdouble1d_t self) -> std::vector< double >::value_type"""
-        return _libBornAgainCore.vdouble1d_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vdouble1d_t"""
         return _libBornAgainCore.vdouble1d_t___getslice__(self, i, j)
@@ -248,8 +245,8 @@ class vdouble1d_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)
         __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)
+        __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)
         """
         return _libBornAgainCore.vdouble1d_t___setslice__(self, *args)
 
@@ -284,6 +281,11 @@ class vdouble1d_t(_object):
         return _libBornAgainCore.vdouble1d_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vdouble1d_t self) -> std::vector< double >::value_type"""
+        return _libBornAgainCore.vdouble1d_t_pop(self)
+
+
     def append(self, x):
         """append(vdouble1d_t self, std::vector< double >::value_type const & x)"""
         return _libBornAgainCore.vdouble1d_t_append(self, x)
@@ -299,21 +301,11 @@ class vdouble1d_t(_object):
         return _libBornAgainCore.vdouble1d_t_size(self)
 
 
-    def clear(self):
-        """clear(vdouble1d_t self)"""
-        return _libBornAgainCore.vdouble1d_t_clear(self)
-
-
     def swap(self, v):
         """swap(vdouble1d_t self, vdouble1d_t v)"""
         return _libBornAgainCore.vdouble1d_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"""
-        return _libBornAgainCore.vdouble1d_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vdouble1d_t self) -> std::vector< double >::iterator"""
         return _libBornAgainCore.vdouble1d_t_begin(self)
@@ -334,6 +326,16 @@ class vdouble1d_t(_object):
         return _libBornAgainCore.vdouble1d_t_rend(self)
 
 
+    def clear(self):
+        """clear(vdouble1d_t self)"""
+        return _libBornAgainCore.vdouble1d_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"""
+        return _libBornAgainCore.vdouble1d_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vdouble1d_t self)"""
         return _libBornAgainCore.vdouble1d_t_pop_back(self)
@@ -357,7 +359,7 @@ class vdouble1d_t(_object):
         this = _libBornAgainCore.new_vdouble1d_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -411,7 +413,8 @@ vdouble1d_t_swigregister = _libBornAgainCore.vdouble1d_t_swigregister
 vdouble1d_t_swigregister(vdouble1d_t)
 
 class vdouble2d_t(_object):
-    """Proxy of C++ std::vector<(std::vector<(double)>)> class"""
+    """Proxy of C++ std::vector<(std::vector<(double)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vdouble2d_t, name, value)
     __swig_getmethods__ = {}
@@ -440,11 +443,6 @@ class vdouble2d_t(_object):
         return _libBornAgainCore.vdouble2d_t___len__(self)
 
 
-    def pop(self):
-        """pop(vdouble2d_t self) -> vdouble1d_t"""
-        return _libBornAgainCore.vdouble2d_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j) -> vdouble2d_t"""
         return _libBornAgainCore.vdouble2d_t___getslice__(self, i, j)
@@ -452,8 +450,8 @@ class vdouble2d_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)
         __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)
+        __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)
         """
         return _libBornAgainCore.vdouble2d_t___setslice__(self, *args)
 
@@ -488,6 +486,11 @@ class vdouble2d_t(_object):
         return _libBornAgainCore.vdouble2d_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vdouble2d_t self) -> vdouble1d_t"""
+        return _libBornAgainCore.vdouble2d_t_pop(self)
+
+
     def append(self, x):
         """append(vdouble2d_t self, vdouble1d_t x)"""
         return _libBornAgainCore.vdouble2d_t_append(self, x)
@@ -503,21 +506,11 @@ class vdouble2d_t(_object):
         return _libBornAgainCore.vdouble2d_t_size(self)
 
 
-    def clear(self):
-        """clear(vdouble2d_t self)"""
-        return _libBornAgainCore.vdouble2d_t_clear(self)
-
-
     def swap(self, v):
         """swap(vdouble2d_t self, vdouble2d_t v)"""
         return _libBornAgainCore.vdouble2d_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"""
-        return _libBornAgainCore.vdouble2d_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"""
         return _libBornAgainCore.vdouble2d_t_begin(self)
@@ -538,6 +531,16 @@ class vdouble2d_t(_object):
         return _libBornAgainCore.vdouble2d_t_rend(self)
 
 
+    def clear(self):
+        """clear(vdouble2d_t self)"""
+        return _libBornAgainCore.vdouble2d_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"""
+        return _libBornAgainCore.vdouble2d_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vdouble2d_t self)"""
         return _libBornAgainCore.vdouble2d_t_pop_back(self)
@@ -561,7 +564,7 @@ class vdouble2d_t(_object):
         this = _libBornAgainCore.new_vdouble2d_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -615,7 +618,8 @@ vdouble2d_t_swigregister = _libBornAgainCore.vdouble2d_t_swigregister
 vdouble2d_t_swigregister(vdouble2d_t)
 
 class vector_integer_t(_object):
-    """Proxy of C++ std::vector<(int)> class"""
+    """Proxy of C++ std::vector<(int)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_integer_t, name, value)
     __swig_getmethods__ = {}
@@ -644,11 +648,6 @@ class vector_integer_t(_object):
         return _libBornAgainCore.vector_integer_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_integer_t self) -> std::vector< int >::value_type"""
-        return _libBornAgainCore.vector_integer_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_integer_t"""
         return _libBornAgainCore.vector_integer_t___getslice__(self, i, j)
@@ -656,8 +655,8 @@ class vector_integer_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)
         __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)
+        __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)
         """
         return _libBornAgainCore.vector_integer_t___setslice__(self, *args)
 
@@ -692,6 +691,11 @@ class vector_integer_t(_object):
         return _libBornAgainCore.vector_integer_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_integer_t self) -> std::vector< int >::value_type"""
+        return _libBornAgainCore.vector_integer_t_pop(self)
+
+
     def append(self, x):
         """append(vector_integer_t self, std::vector< int >::value_type const & x)"""
         return _libBornAgainCore.vector_integer_t_append(self, x)
@@ -707,21 +711,11 @@ class vector_integer_t(_object):
         return _libBornAgainCore.vector_integer_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_integer_t self)"""
-        return _libBornAgainCore.vector_integer_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_integer_t self, vector_integer_t v)"""
         return _libBornAgainCore.vector_integer_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"""
-        return _libBornAgainCore.vector_integer_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_integer_t self) -> std::vector< int >::iterator"""
         return _libBornAgainCore.vector_integer_t_begin(self)
@@ -742,6 +736,16 @@ class vector_integer_t(_object):
         return _libBornAgainCore.vector_integer_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_integer_t self)"""
+        return _libBornAgainCore.vector_integer_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"""
+        return _libBornAgainCore.vector_integer_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_integer_t self)"""
         return _libBornAgainCore.vector_integer_t_pop_back(self)
@@ -765,7 +769,7 @@ class vector_integer_t(_object):
         this = _libBornAgainCore.new_vector_integer_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -819,7 +823,8 @@ vector_integer_t_swigregister = _libBornAgainCore.vector_integer_t_swigregister
 vector_integer_t_swigregister(vector_integer_t)
 
 class vector_longinteger_t(_object):
-    """Proxy of C++ std::vector<(unsigned long)> class"""
+    """Proxy of C++ std::vector<(unsigned long)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_longinteger_t, name, value)
     __swig_getmethods__ = {}
@@ -848,11 +853,6 @@ class vector_longinteger_t(_object):
         return _libBornAgainCore.vector_longinteger_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"""
-        return _libBornAgainCore.vector_longinteger_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j) -> vector_longinteger_t"""
         return _libBornAgainCore.vector_longinteger_t___getslice__(self, i, j)
@@ -860,8 +860,8 @@ class vector_longinteger_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)
         __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)
+        __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)
         """
         return _libBornAgainCore.vector_longinteger_t___setslice__(self, *args)
 
@@ -896,6 +896,11 @@ class vector_longinteger_t(_object):
         return _libBornAgainCore.vector_longinteger_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"""
+        return _libBornAgainCore.vector_longinteger_t_pop(self)
+
+
     def append(self, x):
         """append(vector_longinteger_t self, std::vector< unsigned long >::value_type const & x)"""
         return _libBornAgainCore.vector_longinteger_t_append(self, x)
@@ -911,21 +916,11 @@ class vector_longinteger_t(_object):
         return _libBornAgainCore.vector_longinteger_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_longinteger_t self)"""
-        return _libBornAgainCore.vector_longinteger_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_longinteger_t self, vector_longinteger_t v)"""
         return _libBornAgainCore.vector_longinteger_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"""
-        return _libBornAgainCore.vector_longinteger_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"""
         return _libBornAgainCore.vector_longinteger_t_begin(self)
@@ -946,6 +941,16 @@ class vector_longinteger_t(_object):
         return _libBornAgainCore.vector_longinteger_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_longinteger_t self)"""
+        return _libBornAgainCore.vector_longinteger_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"""
+        return _libBornAgainCore.vector_longinteger_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_longinteger_t self)"""
         return _libBornAgainCore.vector_longinteger_t_pop_back(self)
@@ -969,7 +974,7 @@ class vector_longinteger_t(_object):
         this = _libBornAgainCore.new_vector_longinteger_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1023,7 +1028,8 @@ vector_longinteger_t_swigregister = _libBornAgainCore.vector_longinteger_t_swigr
 vector_longinteger_t_swigregister(vector_longinteger_t)
 
 class vector_complex_t(_object):
-    """Proxy of C++ std::vector<(std::complex<(double)>)> class"""
+    """Proxy of C++ std::vector<(std::complex<(double)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_complex_t, name, value)
     __swig_getmethods__ = {}
@@ -1052,11 +1058,6 @@ class vector_complex_t(_object):
         return _libBornAgainCore.vector_complex_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"""
-        return _libBornAgainCore.vector_complex_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j) -> vector_complex_t"""
         return _libBornAgainCore.vector_complex_t___getslice__(self, i, j)
@@ -1064,8 +1065,8 @@ class vector_complex_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)
         __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)
+        __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)
         """
         return _libBornAgainCore.vector_complex_t___setslice__(self, *args)
 
@@ -1100,6 +1101,11 @@ class vector_complex_t(_object):
         return _libBornAgainCore.vector_complex_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"""
+        return _libBornAgainCore.vector_complex_t_pop(self)
+
+
     def append(self, x):
         """append(vector_complex_t self, std::vector< std::complex< double > >::value_type const & x)"""
         return _libBornAgainCore.vector_complex_t_append(self, x)
@@ -1115,21 +1121,11 @@ class vector_complex_t(_object):
         return _libBornAgainCore.vector_complex_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_complex_t self)"""
-        return _libBornAgainCore.vector_complex_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_complex_t self, vector_complex_t v)"""
         return _libBornAgainCore.vector_complex_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"""
-        return _libBornAgainCore.vector_complex_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"""
         return _libBornAgainCore.vector_complex_t_begin(self)
@@ -1150,6 +1146,16 @@ class vector_complex_t(_object):
         return _libBornAgainCore.vector_complex_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_complex_t self)"""
+        return _libBornAgainCore.vector_complex_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"""
+        return _libBornAgainCore.vector_complex_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_complex_t self)"""
         return _libBornAgainCore.vector_complex_t_pop_back(self)
@@ -1173,7 +1179,7 @@ class vector_complex_t(_object):
         this = _libBornAgainCore.new_vector_complex_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1227,7 +1233,8 @@ vector_complex_t_swigregister = _libBornAgainCore.vector_complex_t_swigregister
 vector_complex_t_swigregister(vector_complex_t)
 
 class vector_string_t(_object):
-    """Proxy of C++ std::vector<(std::string)> class"""
+    """Proxy of C++ std::vector<(std::string)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_string_t, name, value)
     __swig_getmethods__ = {}
@@ -1256,11 +1263,6 @@ class vector_string_t(_object):
         return _libBornAgainCore.vector_string_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_string_t self) -> std::vector< std::string >::value_type"""
-        return _libBornAgainCore.vector_string_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_string_t"""
         return _libBornAgainCore.vector_string_t___getslice__(self, i, j)
@@ -1268,8 +1270,8 @@ class vector_string_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)
         __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)
+        __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)
         """
         return _libBornAgainCore.vector_string_t___setslice__(self, *args)
 
@@ -1304,6 +1306,11 @@ class vector_string_t(_object):
         return _libBornAgainCore.vector_string_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_string_t self) -> std::vector< std::string >::value_type"""
+        return _libBornAgainCore.vector_string_t_pop(self)
+
+
     def append(self, x):
         """append(vector_string_t self, std::vector< std::string >::value_type const & x)"""
         return _libBornAgainCore.vector_string_t_append(self, x)
@@ -1319,21 +1326,11 @@ class vector_string_t(_object):
         return _libBornAgainCore.vector_string_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_string_t self)"""
-        return _libBornAgainCore.vector_string_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_string_t self, vector_string_t v)"""
         return _libBornAgainCore.vector_string_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"""
-        return _libBornAgainCore.vector_string_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_string_t self) -> std::vector< std::string >::iterator"""
         return _libBornAgainCore.vector_string_t_begin(self)
@@ -1354,6 +1351,16 @@ class vector_string_t(_object):
         return _libBornAgainCore.vector_string_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_string_t self)"""
+        return _libBornAgainCore.vector_string_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"""
+        return _libBornAgainCore.vector_string_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_string_t self)"""
         return _libBornAgainCore.vector_string_t_pop_back(self)
@@ -1377,7 +1384,7 @@ class vector_string_t(_object):
         this = _libBornAgainCore.new_vector_string_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1473,6 +1480,7 @@ class INoncopyable(_object):
     C++ includes: INoncopyable.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, INoncopyable, name, value)
     __swig_getmethods__ = {}
@@ -1489,7 +1497,7 @@ class INoncopyable(_object):
         this = _libBornAgainCore.new_INoncopyable()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_INoncopyable
     __del__ = lambda self: None
@@ -1512,6 +1520,7 @@ class ICloneable(INoncopyable):
     C++ includes: ICloneable.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [INoncopyable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -1560,6 +1569,7 @@ class INamed(_object):
     C++ includes: INamed.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, INamed, name, value)
     __swig_getmethods__ = {}
@@ -1581,7 +1591,7 @@ class INamed(_object):
         this = _libBornAgainCore.new_INamed(_self, *args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_INamed
     __del__ = lambda self: None
@@ -1611,6 +1621,7 @@ class IParameterized(INamed):
     C++ includes: IParameterized.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [INamed]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -1637,7 +1648,7 @@ class IParameterized(INamed):
         this = _libBornAgainCore.new_IParameterized(_self, *args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IParameterized
     __del__ = lambda self: None
@@ -1733,6 +1744,7 @@ class kvector_t(_object):
     C++ includes: BasicVector3D.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, kvector_t, name, value)
     __swig_getmethods__ = {}
@@ -1752,7 +1764,7 @@ class kvector_t(_object):
         this = _libBornAgainCore.new_kvector_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def x(self):
@@ -2035,7 +2047,8 @@ kvector_t_swigregister = _libBornAgainCore.kvector_t_swigregister
 kvector_t_swigregister(kvector_t)
 
 class vector_kvector_t(_object):
-    """Proxy of C++ std::vector<(BasicVector3D<(double)>)> class"""
+    """Proxy of C++ std::vector<(BasicVector3D<(double)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_kvector_t, name, value)
     __swig_getmethods__ = {}
@@ -2064,11 +2077,6 @@ class vector_kvector_t(_object):
         return _libBornAgainCore.vector_kvector_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_kvector_t self) -> kvector_t"""
-        return _libBornAgainCore.vector_kvector_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j) -> vector_kvector_t"""
         return _libBornAgainCore.vector_kvector_t___getslice__(self, i, j)
@@ -2076,8 +2084,8 @@ class vector_kvector_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j, vector_kvector_t v)
         __setslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j)
+        __setslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j, vector_kvector_t v)
         """
         return _libBornAgainCore.vector_kvector_t___setslice__(self, *args)
 
@@ -2112,6 +2120,11 @@ class vector_kvector_t(_object):
         return _libBornAgainCore.vector_kvector_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_kvector_t self) -> kvector_t"""
+        return _libBornAgainCore.vector_kvector_t_pop(self)
+
+
     def append(self, x):
         """append(vector_kvector_t self, kvector_t x)"""
         return _libBornAgainCore.vector_kvector_t_append(self, x)
@@ -2127,21 +2140,11 @@ class vector_kvector_t(_object):
         return _libBornAgainCore.vector_kvector_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_kvector_t self)"""
-        return _libBornAgainCore.vector_kvector_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_kvector_t self, vector_kvector_t v)"""
         return _libBornAgainCore.vector_kvector_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::allocator_type"""
-        return _libBornAgainCore.vector_kvector_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::iterator"""
         return _libBornAgainCore.vector_kvector_t_begin(self)
@@ -2162,6 +2165,16 @@ class vector_kvector_t(_object):
         return _libBornAgainCore.vector_kvector_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_kvector_t self)"""
+        return _libBornAgainCore.vector_kvector_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::allocator_type"""
+        return _libBornAgainCore.vector_kvector_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_kvector_t self)"""
         return _libBornAgainCore.vector_kvector_t_pop_back(self)
@@ -2185,7 +2198,7 @@ class vector_kvector_t(_object):
         this = _libBornAgainCore.new_vector_kvector_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -2247,6 +2260,7 @@ class cvector_t(_object):
     C++ includes: BasicVector3D.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, cvector_t, name, value)
     __swig_getmethods__ = {}
@@ -2266,7 +2280,7 @@ class cvector_t(_object):
         this = _libBornAgainCore.new_cvector_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def x(self):
@@ -2462,7 +2476,8 @@ cvector_t_swigregister = _libBornAgainCore.cvector_t_swigregister
 cvector_t_swigregister(cvector_t)
 
 class vector_cvector_t(_object):
-    """Proxy of C++ std::vector<(BasicVector3D<(std::complex<(double)>)>)> class"""
+    """Proxy of C++ std::vector<(BasicVector3D<(std::complex<(double)>)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_cvector_t, name, value)
     __swig_getmethods__ = {}
@@ -2491,11 +2506,6 @@ class vector_cvector_t(_object):
         return _libBornAgainCore.vector_cvector_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_cvector_t self) -> cvector_t"""
-        return _libBornAgainCore.vector_cvector_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j) -> vector_cvector_t"""
         return _libBornAgainCore.vector_cvector_t___getslice__(self, i, j)
@@ -2503,8 +2513,8 @@ class vector_cvector_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j, vector_cvector_t v)
         __setslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j)
+        __setslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j, vector_cvector_t v)
         """
         return _libBornAgainCore.vector_cvector_t___setslice__(self, *args)
 
@@ -2539,6 +2549,11 @@ class vector_cvector_t(_object):
         return _libBornAgainCore.vector_cvector_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_cvector_t self) -> cvector_t"""
+        return _libBornAgainCore.vector_cvector_t_pop(self)
+
+
     def append(self, x):
         """append(vector_cvector_t self, cvector_t x)"""
         return _libBornAgainCore.vector_cvector_t_append(self, x)
@@ -2554,21 +2569,11 @@ class vector_cvector_t(_object):
         return _libBornAgainCore.vector_cvector_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_cvector_t self)"""
-        return _libBornAgainCore.vector_cvector_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_cvector_t self, vector_cvector_t v)"""
         return _libBornAgainCore.vector_cvector_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::allocator_type"""
-        return _libBornAgainCore.vector_cvector_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::iterator"""
         return _libBornAgainCore.vector_cvector_t_begin(self)
@@ -2589,6 +2594,16 @@ class vector_cvector_t(_object):
         return _libBornAgainCore.vector_cvector_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_cvector_t self)"""
+        return _libBornAgainCore.vector_cvector_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::allocator_type"""
+        return _libBornAgainCore.vector_cvector_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_cvector_t self)"""
         return _libBornAgainCore.vector_cvector_t_pop_back(self)
@@ -2612,7 +2627,7 @@ class vector_cvector_t(_object):
         this = _libBornAgainCore.new_vector_cvector_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -2714,6 +2729,7 @@ class WavevectorInfo(_object):
     C++ includes: WavevectorInfo.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, WavevectorInfo, name, value)
     __swig_getmethods__ = {}
@@ -2732,7 +2748,7 @@ class WavevectorInfo(_object):
         this = _libBornAgainCore.new_WavevectorInfo(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def getKi(self):
@@ -2804,6 +2820,7 @@ class Beam(IParameterized):
     C++ includes: Beam.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -2825,7 +2842,7 @@ class Beam(IParameterized):
         this = _libBornAgainCore.new_Beam(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Beam
     __del__ = lambda self: None
@@ -2923,7 +2940,8 @@ Beam_swigregister = _libBornAgainCore.Beam_swigregister
 Beam_swigregister(Beam)
 
 class Bin1D(_object):
-    """Proxy of C++ Bin1D class"""
+    """Proxy of C++ Bin1D class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Bin1D, name, value)
     __swig_getmethods__ = {}
@@ -2941,7 +2959,7 @@ class Bin1D(_object):
         this = _libBornAgainCore.new_Bin1D(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_setmethods__["m_lower"] = _libBornAgainCore.Bin1D_m_lower_set
     __swig_getmethods__["m_lower"] = _libBornAgainCore.Bin1D_m_lower_get
@@ -2985,6 +3003,7 @@ class Bin1DKVector(_object):
     C++ includes: Bin.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Bin1DKVector, name, value)
     __swig_getmethods__ = {}
@@ -3005,7 +3024,7 @@ class Bin1DKVector(_object):
         this = _libBornAgainCore.new_Bin1DKVector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def getMidPoint(self):
@@ -3049,6 +3068,7 @@ class Bin1DCVector(_object):
     C++ includes: Bin.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Bin1DCVector, name, value)
     __swig_getmethods__ = {}
@@ -3069,7 +3089,7 @@ class Bin1DCVector(_object):
         this = _libBornAgainCore.new_Bin1DCVector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def getMidPoint(self):
@@ -3113,6 +3133,7 @@ class IAxis(_object):
     C++ includes: IAxis.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IAxis, name, value)
     __swig_getmethods__ = {}
@@ -3318,6 +3339,7 @@ class VariableBinAxis(IAxis):
     C++ includes: VariableBinAxis.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IAxis]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -3352,7 +3374,7 @@ class VariableBinAxis(IAxis):
         this = _libBornAgainCore.new_VariableBinAxis(name, nbins, bin_boundaries)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_VariableBinAxis
     __del__ = lambda self: None
@@ -3487,6 +3509,7 @@ class ConstKBinAxis(VariableBinAxis):
     C++ includes: ConstKBinAxis.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [VariableBinAxis]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -3524,7 +3547,7 @@ class ConstKBinAxis(VariableBinAxis):
         this = _libBornAgainCore.new_ConstKBinAxis(name, nbins, start, end)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ConstKBinAxis
     __del__ = lambda self: None
@@ -3564,6 +3587,7 @@ class CustomBinAxis(VariableBinAxis):
     C++ includes: CustomBinAxis.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [VariableBinAxis]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -3601,7 +3625,7 @@ class CustomBinAxis(VariableBinAxis):
         this = _libBornAgainCore.new_CustomBinAxis(name, nbins, start, end)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_CustomBinAxis
     __del__ = lambda self: None
@@ -3663,6 +3687,7 @@ class IShape2D(ICloneable, INamed):
     C++ includes: IShape2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable, INamed]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -3716,6 +3741,7 @@ class ISample(ICloneable, IParameterized):
     C++ includes: ISample.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable, IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -3857,7 +3883,7 @@ class ISample(ICloneable, IParameterized):
         this = _libBornAgainCore.new_ISample(_self, )
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ISample
     __del__ = lambda self: None
@@ -3879,7 +3905,8 @@ ISample_swigregister = _libBornAgainCore.ISample_swigregister
 ISample_swigregister(ISample)
 
 class swig_dummy_type_isample_vector(_object):
-    """Proxy of C++ std::vector<(p.ISample)> class"""
+    """Proxy of C++ std::vector<(p.ISample)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, swig_dummy_type_isample_vector, name, value)
     __swig_getmethods__ = {}
@@ -3908,11 +3935,6 @@ class swig_dummy_type_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_isample_vector___len__(self)
 
 
-    def pop(self):
-        """pop(swig_dummy_type_isample_vector self) -> ISample"""
-        return _libBornAgainCore.swig_dummy_type_isample_vector_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j) -> swig_dummy_type_isample_vector"""
         return _libBornAgainCore.swig_dummy_type_isample_vector___getslice__(self, i, j)
@@ -3920,8 +3942,8 @@ class swig_dummy_type_isample_vector(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j, swig_dummy_type_isample_vector v)
         __setslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j)
+        __setslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j, swig_dummy_type_isample_vector v)
         """
         return _libBornAgainCore.swig_dummy_type_isample_vector___setslice__(self, *args)
 
@@ -3956,6 +3978,11 @@ class swig_dummy_type_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_isample_vector___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(swig_dummy_type_isample_vector self) -> ISample"""
+        return _libBornAgainCore.swig_dummy_type_isample_vector_pop(self)
+
+
     def append(self, x):
         """append(swig_dummy_type_isample_vector self, ISample x)"""
         return _libBornAgainCore.swig_dummy_type_isample_vector_append(self, x)
@@ -3967,13 +3994,8 @@ class swig_dummy_type_isample_vector(_object):
 
 
     def size(self):
-        """size(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::size_type"""
-        return _libBornAgainCore.swig_dummy_type_isample_vector_size(self)
-
-
-    def clear(self):
-        """clear(swig_dummy_type_isample_vector self)"""
-        return _libBornAgainCore.swig_dummy_type_isample_vector_clear(self)
+        """size(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::size_type"""
+        return _libBornAgainCore.swig_dummy_type_isample_vector_size(self)
 
 
     def swap(self, v):
@@ -3981,11 +4003,6 @@ class swig_dummy_type_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_isample_vector_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::allocator_type"""
-        return _libBornAgainCore.swig_dummy_type_isample_vector_get_allocator(self)
-
-
     def begin(self):
         """begin(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::iterator"""
         return _libBornAgainCore.swig_dummy_type_isample_vector_begin(self)
@@ -4006,6 +4023,16 @@ class swig_dummy_type_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_isample_vector_rend(self)
 
 
+    def clear(self):
+        """clear(swig_dummy_type_isample_vector self)"""
+        return _libBornAgainCore.swig_dummy_type_isample_vector_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::allocator_type"""
+        return _libBornAgainCore.swig_dummy_type_isample_vector_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(swig_dummy_type_isample_vector self)"""
         return _libBornAgainCore.swig_dummy_type_isample_vector_pop_back(self)
@@ -4029,7 +4056,7 @@ class swig_dummy_type_isample_vector(_object):
         this = _libBornAgainCore.new_swig_dummy_type_isample_vector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -4083,7 +4110,8 @@ swig_dummy_type_isample_vector_swigregister = _libBornAgainCore.swig_dummy_type_
 swig_dummy_type_isample_vector_swigregister(swig_dummy_type_isample_vector)
 
 class swig_dummy_type_const_isample_vector(_object):
-    """Proxy of C++ std::vector<(p.q(const).ISample)> class"""
+    """Proxy of C++ std::vector<(p.q(const).ISample)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, swig_dummy_type_const_isample_vector, name, value)
     __swig_getmethods__ = {}
@@ -4112,11 +4140,6 @@ class swig_dummy_type_const_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_const_isample_vector___len__(self)
 
 
-    def pop(self):
-        """pop(swig_dummy_type_const_isample_vector self) -> ISample"""
-        return _libBornAgainCore.swig_dummy_type_const_isample_vector_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j) -> swig_dummy_type_const_isample_vector"""
         return _libBornAgainCore.swig_dummy_type_const_isample_vector___getslice__(self, i, j)
@@ -4124,8 +4147,8 @@ class swig_dummy_type_const_isample_vector(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j, swig_dummy_type_const_isample_vector v)
         __setslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j)
+        __setslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j, swig_dummy_type_const_isample_vector v)
         """
         return _libBornAgainCore.swig_dummy_type_const_isample_vector___setslice__(self, *args)
 
@@ -4160,6 +4183,11 @@ class swig_dummy_type_const_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_const_isample_vector___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(swig_dummy_type_const_isample_vector self) -> ISample"""
+        return _libBornAgainCore.swig_dummy_type_const_isample_vector_pop(self)
+
+
     def append(self, x):
         """append(swig_dummy_type_const_isample_vector self, ISample x)"""
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_append(self, x)
@@ -4175,21 +4203,11 @@ class swig_dummy_type_const_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_size(self)
 
 
-    def clear(self):
-        """clear(swig_dummy_type_const_isample_vector self)"""
-        return _libBornAgainCore.swig_dummy_type_const_isample_vector_clear(self)
-
-
     def swap(self, v):
         """swap(swig_dummy_type_const_isample_vector self, swig_dummy_type_const_isample_vector v)"""
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::allocator_type"""
-        return _libBornAgainCore.swig_dummy_type_const_isample_vector_get_allocator(self)
-
-
     def begin(self):
         """begin(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::iterator"""
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_begin(self)
@@ -4210,6 +4228,16 @@ class swig_dummy_type_const_isample_vector(_object):
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_rend(self)
 
 
+    def clear(self):
+        """clear(swig_dummy_type_const_isample_vector self)"""
+        return _libBornAgainCore.swig_dummy_type_const_isample_vector_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::allocator_type"""
+        return _libBornAgainCore.swig_dummy_type_const_isample_vector_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(swig_dummy_type_const_isample_vector self)"""
         return _libBornAgainCore.swig_dummy_type_const_isample_vector_pop_back(self)
@@ -4233,7 +4261,7 @@ class swig_dummy_type_const_isample_vector(_object):
         this = _libBornAgainCore.new_swig_dummy_type_const_isample_vector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -4297,6 +4325,7 @@ class IChiSquaredModule(ICloneable):
     C++ includes: IChiSquaredModule.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4417,6 +4446,7 @@ class IObserver(_object):
     C++ includes: IObserver.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IObserver, name, value)
     __swig_getmethods__ = {}
@@ -4451,6 +4481,7 @@ class IObservable(_object):
     C++ includes: IObserver.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IObservable, name, value)
     __swig_getmethods__ = {}
@@ -4501,7 +4532,7 @@ class IObservable(_object):
         this = _libBornAgainCore.new_IObservable(_self, )
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     def __disown__(self):
         self.this.disown()
@@ -4519,6 +4550,7 @@ class IFitObserver(IObserver):
     C++ includes: IFitObserver.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IObserver]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4543,7 +4575,7 @@ class IFitObserver(IObserver):
         this = _libBornAgainCore.new_IFitObserver(_self, update_every_nth)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def notify(self, subject):
@@ -4589,6 +4621,7 @@ class IFitStrategy(INamed):
     C++ includes: IFitStrategy.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [INamed]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4645,6 +4678,7 @@ class FitStrategyDefault(IFitStrategy):
     C++ includes: IFitStrategy.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFitStrategy]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4665,7 +4699,7 @@ class FitStrategyDefault(IFitStrategy):
         this = _libBornAgainCore.new_FitStrategyDefault()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -4701,6 +4735,7 @@ class IIntensityFunction(_object):
     C++ includes: IIntensityFunction.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IIntensityFunction, name, value)
     __swig_getmethods__ = {}
@@ -4743,6 +4778,7 @@ class IntensityFunctionLog(IIntensityFunction):
     C++ includes: IIntensityFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IIntensityFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4789,7 +4825,7 @@ class IntensityFunctionLog(IIntensityFunction):
         this = _libBornAgainCore.new_IntensityFunctionLog()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 IntensityFunctionLog_swigregister = _libBornAgainCore.IntensityFunctionLog_swigregister
 IntensityFunctionLog_swigregister(IntensityFunctionLog)
@@ -4803,6 +4839,7 @@ class IntensityFunctionSqrt(IIntensityFunction):
     C++ includes: IIntensityFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IIntensityFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4849,7 +4886,7 @@ class IntensityFunctionSqrt(IIntensityFunction):
         this = _libBornAgainCore.new_IntensityFunctionSqrt()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 IntensityFunctionSqrt_swigregister = _libBornAgainCore.IntensityFunctionSqrt_swigregister
 IntensityFunctionSqrt_swigregister(IntensityFunctionSqrt)
@@ -4863,6 +4900,7 @@ class IIntensityNormalizer(IParameterized):
     C++ includes: IIntensityNormalizer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4929,6 +4967,7 @@ class IntensityNormalizer(IIntensityNormalizer):
     C++ includes: IIntensityNormalizer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IIntensityNormalizer]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -4951,7 +4990,7 @@ class IntensityNormalizer(IIntensityNormalizer):
         this = _libBornAgainCore.new_IntensityNormalizer(scale, shift)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IntensityNormalizer
     __del__ = lambda self: None
@@ -5007,6 +5046,7 @@ class IntensityScaleAndShiftNormalizer(IntensityNormalizer):
     C++ includes: IIntensityNormalizer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IntensityNormalizer]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5029,7 +5069,7 @@ class IntensityScaleAndShiftNormalizer(IntensityNormalizer):
         this = _libBornAgainCore.new_IntensityScaleAndShiftNormalizer(scale, shift)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IntensityScaleAndShiftNormalizer
     __del__ = lambda self: None
@@ -5067,6 +5107,7 @@ class ISquaredFunction(_object):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, ISquaredFunction, name, value)
     __swig_getmethods__ = {}
@@ -5122,6 +5163,7 @@ class SquaredFunctionDefault(ISquaredFunction):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISquaredFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5142,7 +5184,7 @@ class SquaredFunctionDefault(ISquaredFunction):
         this = _libBornAgainCore.new_SquaredFunctionDefault()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_SquaredFunctionDefault
     __del__ = lambda self: None
@@ -5191,6 +5233,7 @@ class SquaredFunctionSimError(ISquaredFunction):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISquaredFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5249,6 +5292,7 @@ class SquaredFunctionMeanSquaredError(ISquaredFunction):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISquaredFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5307,6 +5351,7 @@ class SquaredFunctionSystematicError(ISquaredFunction):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISquaredFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5365,6 +5410,7 @@ class SquaredFunctionGaussianError(ISquaredFunction):
     C++ includes: ISquaredFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISquaredFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5421,6 +5467,7 @@ class ChiSquaredModule(IChiSquaredModule):
     C++ includes: ChiSquaredModule.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IChiSquaredModule]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5442,7 +5489,7 @@ class ChiSquaredModule(IChiSquaredModule):
         this = _libBornAgainCore.new_ChiSquaredModule(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ChiSquaredModule
     __del__ = lambda self: None
@@ -5480,6 +5527,7 @@ class FitObject(IParameterized, INoncopyable):
     C++ includes: FitObject.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized, INoncopyable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5519,7 +5567,7 @@ class FitObject(IParameterized, INoncopyable):
         this = _libBornAgainCore.new_FitObject(simulation, real_data, weight, adjust_detector_to_data)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FitObject
     __del__ = lambda self: None
@@ -5620,6 +5668,7 @@ class FitOptions(_object):
     C++ includes: FitOptions.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, FitOptions, name, value)
     __swig_getmethods__ = {}
@@ -5636,7 +5685,7 @@ class FitOptions(_object):
         this = _libBornAgainCore.new_FitOptions()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FitOptions
     __del__ = lambda self: None
@@ -5692,6 +5741,7 @@ class FitSuite(IObservable):
     C++ includes: FitSuite.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IObservable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -5712,7 +5762,7 @@ class FitSuite(IObservable):
         this = _libBornAgainCore.new_FitSuite()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FitSuite
     __del__ = lambda self: None
@@ -6121,6 +6171,7 @@ class FitSuiteObjects(IParameterized, INoncopyable):
     C++ includes: FitSuiteObjects.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized, INoncopyable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -6141,7 +6192,7 @@ class FitSuiteObjects(IParameterized, INoncopyable):
         this = _libBornAgainCore.new_FitSuiteObjects()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FitSuiteObjects
     __del__ = lambda self: None
@@ -6504,6 +6555,7 @@ class FitStrategyAdjustMinimizer(IFitStrategy):
     C++ includes: FitStrategyAdjustMinimizer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFitStrategy]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -6527,7 +6579,7 @@ class FitStrategyAdjustMinimizer(IFitStrategy):
         this = _libBornAgainCore.new_FitStrategyAdjustMinimizer(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FitStrategyAdjustMinimizer
     __del__ = lambda self: None
@@ -6596,6 +6648,7 @@ class IMultiLayerBuilder(IParameterized):
     C++ includes: IMultiLayerBuilder.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -6620,7 +6673,7 @@ class IMultiLayerBuilder(IParameterized):
         this = _libBornAgainCore.new_IMultiLayerBuilder(_self, )
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IMultiLayerBuilder
     __del__ = lambda self: None
@@ -6716,6 +6769,7 @@ class ISampleVisitor(_object):
     C++ includes: ISampleVisitor.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, ISampleVisitor, name, value)
     __swig_getmethods__ = {}
@@ -6732,7 +6786,7 @@ class ISampleVisitor(_object):
         this = _libBornAgainCore.new_ISampleVisitor()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ISampleVisitor
     __del__ = lambda self: None
@@ -6890,6 +6944,7 @@ class ICompositeSample(ISample):
     C++ includes: ICompositeSample.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -6990,6 +7045,7 @@ class IClusteredParticles(ICompositeSample):
     C++ includes: IClusteredParticles.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICompositeSample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7086,6 +7142,7 @@ class Crystal(IClusteredParticles):
     C++ includes: Crystal.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IClusteredParticles]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7106,7 +7163,7 @@ class Crystal(IClusteredParticles):
         this = _libBornAgainCore.new_Crystal(lattice_basis, lattice)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Crystal
     __del__ = lambda self: None
@@ -7212,6 +7269,7 @@ class IDistribution1D(IParameterized):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7363,6 +7421,7 @@ class DistributionGate(IDistribution1D):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7384,7 +7443,7 @@ class DistributionGate(IDistribution1D):
         this = _libBornAgainCore.new_DistributionGate(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_DistributionGate
     __del__ = lambda self: None
@@ -7485,6 +7544,7 @@ class DistributionLorentz(IDistribution1D):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7506,7 +7566,7 @@ class DistributionLorentz(IDistribution1D):
         this = _libBornAgainCore.new_DistributionLorentz(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_DistributionLorentz
     __del__ = lambda self: None
@@ -7593,6 +7653,7 @@ class DistributionGaussian(IDistribution1D):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7614,7 +7675,7 @@ class DistributionGaussian(IDistribution1D):
         this = _libBornAgainCore.new_DistributionGaussian(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_DistributionGaussian
     __del__ = lambda self: None
@@ -7703,6 +7764,7 @@ class DistributionLogNormal(IDistribution1D):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7724,7 +7786,7 @@ class DistributionLogNormal(IDistribution1D):
         this = _libBornAgainCore.new_DistributionLogNormal(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_DistributionLogNormal
     __del__ = lambda self: None
@@ -7825,6 +7887,7 @@ class DistributionCosine(IDistribution1D):
     C++ includes: Distributions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -7846,7 +7909,7 @@ class DistributionCosine(IDistribution1D):
         this = _libBornAgainCore.new_DistributionCosine(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_DistributionCosine
     __del__ = lambda self: None
@@ -7935,6 +7998,7 @@ class DetectorMask(_object):
     C++ includes: DetectorMask.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, DetectorMask, name, value)
     __swig_getmethods__ = {}
@@ -7952,7 +8016,7 @@ class DetectorMask(_object):
         this = _libBornAgainCore.new_DetectorMask(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def addMask(self, shape, mask_value):
@@ -8084,6 +8148,7 @@ class Ellipse(IShape2D):
     C++ includes: Ellipse.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8123,7 +8188,7 @@ class Ellipse(IShape2D):
         this = _libBornAgainCore.new_Ellipse(xcenter, ycenter, xradius, yradius, theta)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8212,6 +8277,7 @@ class IFTDecayFunction1D(IParameterized):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8278,6 +8344,7 @@ class FTDecayFunction1DCauchy(IFTDecayFunction1D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8298,7 +8365,7 @@ class FTDecayFunction1DCauchy(IFTDecayFunction1D):
         this = _libBornAgainCore.new_FTDecayFunction1DCauchy(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8334,6 +8401,7 @@ class FTDecayFunction1DGauss(IFTDecayFunction1D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8354,7 +8422,7 @@ class FTDecayFunction1DGauss(IFTDecayFunction1D):
         this = _libBornAgainCore.new_FTDecayFunction1DGauss(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8390,6 +8458,7 @@ class FTDecayFunction1DTriangle(IFTDecayFunction1D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8410,7 +8479,7 @@ class FTDecayFunction1DTriangle(IFTDecayFunction1D):
         this = _libBornAgainCore.new_FTDecayFunction1DTriangle(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8446,6 +8515,7 @@ class FTDecayFunction1DVoigt(IFTDecayFunction1D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8466,7 +8536,7 @@ class FTDecayFunction1DVoigt(IFTDecayFunction1D):
         this = _libBornAgainCore.new_FTDecayFunction1DVoigt(omega, eta)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8512,6 +8582,7 @@ class IFTDecayFunction2D(IParameterized):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8632,6 +8703,7 @@ class FTDecayFunction2DCauchy(IFTDecayFunction2D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8654,7 +8726,7 @@ class FTDecayFunction2DCauchy(IFTDecayFunction2D):
         this = _libBornAgainCore.new_FTDecayFunction2DCauchy(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8692,6 +8764,7 @@ class FTDecayFunction2DGauss(IFTDecayFunction2D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8714,7 +8787,7 @@ class FTDecayFunction2DGauss(IFTDecayFunction2D):
         this = _libBornAgainCore.new_FTDecayFunction2DGauss(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8752,6 +8825,7 @@ class FTDecayFunction2DVoigt(IFTDecayFunction2D):
     C++ includes: FTDecayFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDecayFunction2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8774,7 +8848,7 @@ class FTDecayFunction2DVoigt(IFTDecayFunction2D):
         this = _libBornAgainCore.new_FTDecayFunction2DVoigt(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8822,6 +8896,7 @@ class IFTDistribution1D(IParameterized):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8890,6 +8965,7 @@ class FTDistribution1DCauchy(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8910,7 +8986,7 @@ class FTDistribution1DCauchy(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DCauchy(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -8948,6 +9024,7 @@ class FTDistribution1DGauss(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -8968,7 +9045,7 @@ class FTDistribution1DGauss(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DGauss(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9006,6 +9083,7 @@ class FTDistribution1DGate(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9026,7 +9104,7 @@ class FTDistribution1DGate(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DGate(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9064,6 +9142,7 @@ class FTDistribution1DTriangle(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9084,7 +9163,7 @@ class FTDistribution1DTriangle(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DTriangle(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FTDistribution1DTriangle
     __del__ = lambda self: None
@@ -9122,6 +9201,7 @@ class FTDistribution1DCosine(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9142,7 +9222,7 @@ class FTDistribution1DCosine(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DCosine(omega)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9180,6 +9260,7 @@ class FTDistribution1DVoigt(IFTDistribution1D):
     C++ includes: FTDistributions1D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution1D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9200,7 +9281,7 @@ class FTDistribution1DVoigt(IFTDistribution1D):
         this = _libBornAgainCore.new_FTDistribution1DVoigt(omega, eta)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9248,6 +9329,7 @@ class IFTDistribution2D(IParameterized):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9346,6 +9428,7 @@ class FTDistribution2DCauchy(IFTDistribution2D):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9368,7 +9451,7 @@ class FTDistribution2DCauchy(IFTDistribution2D):
         this = _libBornAgainCore.new_FTDistribution2DCauchy(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9406,6 +9489,7 @@ class FTDistribution2DGauss(IFTDistribution2D):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9428,7 +9512,7 @@ class FTDistribution2DGauss(IFTDistribution2D):
         this = _libBornAgainCore.new_FTDistribution2DGauss(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9466,6 +9550,7 @@ class FTDistribution2DGate(IFTDistribution2D):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9488,7 +9573,7 @@ class FTDistribution2DGate(IFTDistribution2D):
         this = _libBornAgainCore.new_FTDistribution2DGate(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9526,6 +9611,7 @@ class FTDistribution2DCone(IFTDistribution2D):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9548,7 +9634,7 @@ class FTDistribution2DCone(IFTDistribution2D):
         this = _libBornAgainCore.new_FTDistribution2DCone(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9586,6 +9672,7 @@ class FTDistribution2DVoigt(IFTDistribution2D):
     C++ includes: FTDistributions2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFTDistribution2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9608,7 +9695,7 @@ class FTDistribution2DVoigt(IFTDistribution2D):
         this = _libBornAgainCore.new_FTDistribution2DVoigt(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -9656,6 +9743,7 @@ class FixedBinAxis(IAxis):
     C++ includes: FixedBinAxis.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IAxis]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9693,7 +9781,7 @@ class FixedBinAxis(IAxis):
         this = _libBornAgainCore.new_FixedBinAxis(name, nbins, start, end)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FixedBinAxis
     __del__ = lambda self: None
@@ -9832,6 +9920,7 @@ class IFormFactor(ISample):
     C++ includes: IFormFactor.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -9856,7 +9945,7 @@ class IFormFactor(ISample):
         this = _libBornAgainCore.new_IFormFactor(_self, )
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IFormFactor
     __del__ = lambda self: None
@@ -9962,7 +10051,8 @@ IFormFactor_swigregister = _libBornAgainCore.IFormFactor_swigregister
 IFormFactor_swigregister(IFormFactor)
 
 class vector_IFormFactorPtr_t(_object):
-    """Proxy of C++ std::vector<(p.IFormFactor)> class"""
+    """Proxy of C++ std::vector<(p.IFormFactor)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_IFormFactorPtr_t, name, value)
     __swig_getmethods__ = {}
@@ -9991,11 +10081,6 @@ class vector_IFormFactorPtr_t(_object):
         return _libBornAgainCore.vector_IFormFactorPtr_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_IFormFactorPtr_t self) -> IFormFactor"""
-        return _libBornAgainCore.vector_IFormFactorPtr_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j) -> vector_IFormFactorPtr_t"""
         return _libBornAgainCore.vector_IFormFactorPtr_t___getslice__(self, i, j)
@@ -10003,8 +10088,8 @@ class vector_IFormFactorPtr_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j, vector_IFormFactorPtr_t v)
         __setslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j)
+        __setslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j, vector_IFormFactorPtr_t v)
         """
         return _libBornAgainCore.vector_IFormFactorPtr_t___setslice__(self, *args)
 
@@ -10039,6 +10124,11 @@ class vector_IFormFactorPtr_t(_object):
         return _libBornAgainCore.vector_IFormFactorPtr_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_IFormFactorPtr_t self) -> IFormFactor"""
+        return _libBornAgainCore.vector_IFormFactorPtr_t_pop(self)
+
+
     def append(self, x):
         """append(vector_IFormFactorPtr_t self, IFormFactor x)"""
         return _libBornAgainCore.vector_IFormFactorPtr_t_append(self, x)
@@ -10054,21 +10144,11 @@ class vector_IFormFactorPtr_t(_object):
         return _libBornAgainCore.vector_IFormFactorPtr_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_IFormFactorPtr_t self)"""
-        return _libBornAgainCore.vector_IFormFactorPtr_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_IFormFactorPtr_t self, vector_IFormFactorPtr_t v)"""
         return _libBornAgainCore.vector_IFormFactorPtr_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::allocator_type"""
-        return _libBornAgainCore.vector_IFormFactorPtr_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::iterator"""
         return _libBornAgainCore.vector_IFormFactorPtr_t_begin(self)
@@ -10089,6 +10169,16 @@ class vector_IFormFactorPtr_t(_object):
         return _libBornAgainCore.vector_IFormFactorPtr_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_IFormFactorPtr_t self)"""
+        return _libBornAgainCore.vector_IFormFactorPtr_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::allocator_type"""
+        return _libBornAgainCore.vector_IFormFactorPtr_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_IFormFactorPtr_t self)"""
         return _libBornAgainCore.vector_IFormFactorPtr_t_pop_back(self)
@@ -10112,7 +10202,7 @@ class vector_IFormFactorPtr_t(_object):
         this = _libBornAgainCore.new_vector_IFormFactorPtr_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -10176,6 +10266,7 @@ class IFormFactorBorn(IFormFactor):
     C++ includes: IFormFactorBorn.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactor]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10200,7 +10291,7 @@ class IFormFactorBorn(IFormFactor):
         this = _libBornAgainCore.new_IFormFactorBorn(_self, )
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IFormFactorBorn
     __del__ = lambda self: None
@@ -10292,6 +10383,7 @@ class IFormFactorDecorator(IFormFactor):
     C++ includes: IFormFactorDecorator.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactor]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10378,6 +10470,7 @@ class PolygonalTopology(_object):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, PolygonalTopology, name, value)
     __swig_getmethods__ = {}
@@ -10406,7 +10499,7 @@ class PolygonalTopology(_object):
         this = _libBornAgainCore.new_PolygonalTopology()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_PolygonalTopology
     __del__ = lambda self: None
@@ -10422,6 +10515,7 @@ class PolyhedralTopology(_object):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, PolyhedralTopology, name, value)
     __swig_getmethods__ = {}
@@ -10450,7 +10544,7 @@ class PolyhedralTopology(_object):
         this = _libBornAgainCore.new_PolyhedralTopology()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_PolyhedralTopology
     __del__ = lambda self: None
@@ -10466,6 +10560,7 @@ class PolyhedralEdge(_object):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, PolyhedralEdge, name, value)
     __swig_getmethods__ = {}
@@ -10482,7 +10577,7 @@ class PolyhedralEdge(_object):
         this = _libBornAgainCore.new_PolyhedralEdge(_Vlow, _Vhig)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def E(self):
@@ -10550,6 +10645,7 @@ class PolyhedralFace(_object):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, PolyhedralFace, name, value)
     __swig_getmethods__ = {}
@@ -10587,7 +10683,7 @@ class PolyhedralFace(_object):
         this = _libBornAgainCore.new_PolyhedralFace(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def area(self):
@@ -10707,6 +10803,7 @@ class FormFactorPolyhedron(IFormFactorBorn):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10805,6 +10902,7 @@ class FormFactorPolygonalPrism(IFormFactorBorn):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10825,7 +10923,7 @@ class FormFactorPolygonalPrism(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorPolygonalPrism(height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def evaluate_for_q(self, q):
@@ -10887,6 +10985,7 @@ class FormFactorPolygonalSurface(IFormFactorBorn):
     C++ includes: FormFactorPolyhedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10907,7 +11006,7 @@ class FormFactorPolygonalSurface(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorPolygonalSurface()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def evaluate_for_q(self, q):
@@ -10959,6 +11058,7 @@ class FormFactorAnisoPyramid(FormFactorPolyhedron):
     C++ includes: FormFactorAnisoPyramid.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -10994,7 +11094,7 @@ class FormFactorAnisoPyramid(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorAnisoPyramid(length, width, height, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11074,6 +11174,7 @@ class FormFactorBox(IFormFactorBorn):
     C++ includes: FormFactorBox.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11106,7 +11207,7 @@ class FormFactorBox(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorBox(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11200,6 +11301,7 @@ class FormFactorCone(IFormFactorBorn):
     C++ includes: FormFactorCone.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11232,7 +11334,7 @@ class FormFactorCone(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorCone(radius, height, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorCone
     __del__ = lambda self: None
@@ -11326,6 +11428,7 @@ class FormFactorCone6(FormFactorPolyhedron):
     C++ includes: FormFactorCone6.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11358,7 +11461,7 @@ class FormFactorCone6(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorCone6(base_edge, height, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11428,6 +11531,7 @@ class FormFactorCrystal(IFormFactor):
     C++ includes: FormFactorCrystal.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactor]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11448,7 +11552,7 @@ class FormFactorCrystal(IFormFactor):
         this = _libBornAgainCore.new_FormFactorCrystal(lattice, basis_form_factor, meso_form_factor)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorCrystal
     __del__ = lambda self: None
@@ -11524,6 +11628,7 @@ class FormFactorCuboctahedron(FormFactorPolyhedron):
     C++ includes: FormFactorCuboctahedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11559,7 +11664,7 @@ class FormFactorCuboctahedron(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorCuboctahedron(length, height, height_ratio, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11639,6 +11744,7 @@ class FormFactorCylinder(IFormFactorBorn):
     C++ includes: FormFactorCylinder.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11659,7 +11765,7 @@ class FormFactorCylinder(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorCylinder(radius, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorCylinder
     __del__ = lambda self: None
@@ -11743,6 +11849,7 @@ class FormFactorDecoratorDebyeWaller(IFormFactorDecorator):
     C++ includes: FormFactorDecoratorDebyeWaller.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorDecorator]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11766,7 +11873,7 @@ class FormFactorDecoratorDebyeWaller(IFormFactorDecorator):
         this = _libBornAgainCore.new_FormFactorDecoratorDebyeWaller(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11818,6 +11925,7 @@ class FormFactorDodecahedron(FormFactorPolyhedron):
     C++ includes: FormFactorDodecahedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11846,7 +11954,7 @@ class FormFactorDodecahedron(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorDodecahedron(edge)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -11896,6 +12004,7 @@ class FormFactorEllipsoidalCylinder(IFormFactorBorn):
     C++ includes: FormFactorEllipsoidalCylinder.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -11927,7 +12036,7 @@ class FormFactorEllipsoidalCylinder(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorEllipsoidalCylinder(radius_x, radius_y, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12021,6 +12130,7 @@ class FormFactorFullSphere(IFormFactorBorn):
     C++ includes: FormFactorFullSphere.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12041,7 +12151,7 @@ class FormFactorFullSphere(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorFullSphere(radius)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12115,6 +12225,7 @@ class FormFactorFullSpheroid(IFormFactorBorn):
     C++ includes: FormFactorFullSpheroid.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12144,7 +12255,7 @@ class FormFactorFullSpheroid(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorFullSpheroid(radius, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12228,6 +12339,7 @@ class FormFactorGauss(IFormFactorBorn):
     C++ includes: FormFactorGauss.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12249,7 +12361,7 @@ class FormFactorGauss(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorGauss(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12333,6 +12445,7 @@ class FormFactorHemiEllipsoid(IFormFactorBorn):
     C++ includes: FormFactorHemiEllipsoid.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12365,7 +12478,7 @@ class FormFactorHemiEllipsoid(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorHemiEllipsoid(radius_x, radius_y, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorHemiEllipsoid
     __del__ = lambda self: None
@@ -12459,6 +12572,7 @@ class FormFactorIcosahedron(FormFactorPolyhedron):
     C++ includes: FormFactorIcosahedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12479,7 +12593,7 @@ class FormFactorIcosahedron(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorIcosahedron(edge)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12529,6 +12643,7 @@ class FormFactorLongBoxGauss(IFormFactorBorn):
     C++ includes: FormFactorLongBoxGauss.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12563,7 +12678,7 @@ class FormFactorLongBoxGauss(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongBoxGauss(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12657,6 +12772,7 @@ class FormFactorLongBoxLorentz(IFormFactorBorn):
     C++ includes: FormFactorLongBoxLorentz.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12691,7 +12807,7 @@ class FormFactorLongBoxLorentz(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongBoxLorentz(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -12785,6 +12901,7 @@ class FormFactorLongRipple1Gauss(IFormFactorBorn):
     C++ includes: FormFactorLongRipple1Gauss.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12819,7 +12936,7 @@ class FormFactorLongRipple1Gauss(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongRipple1Gauss(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorLongRipple1Gauss
     __del__ = lambda self: None
@@ -12913,6 +13030,7 @@ class FormFactorLongRipple1Lorentz(IFormFactorBorn):
     C++ includes: FormFactorLongRipple1Lorentz.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -12947,7 +13065,7 @@ class FormFactorLongRipple1Lorentz(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongRipple1Lorentz(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorLongRipple1Lorentz
     __del__ = lambda self: None
@@ -13041,6 +13159,7 @@ class FormFactorLongRipple2Gauss(IFormFactorBorn):
     C++ includes: FormFactorLongRipple2Gauss.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13078,7 +13197,7 @@ class FormFactorLongRipple2Gauss(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongRipple2Gauss(length, width, height, asymmetry)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorLongRipple2Gauss
     __del__ = lambda self: None
@@ -13182,6 +13301,7 @@ class FormFactorLongRipple2Lorentz(IFormFactorBorn):
     C++ includes: FormFactorLongRipple2Lorentz.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13217,7 +13337,7 @@ class FormFactorLongRipple2Lorentz(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLongRipple2Lorentz(length, width, height, asymmetry)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorLongRipple2Lorentz
     __del__ = lambda self: None
@@ -13321,6 +13441,7 @@ class FormFactorLorentz(IFormFactorBorn):
     C++ includes: FormFactorLorentz.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13342,7 +13463,7 @@ class FormFactorLorentz(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorLorentz(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -13426,6 +13547,7 @@ class FormFactorPrism3(FormFactorPolygonalPrism):
     C++ includes: FormFactorPrism3.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolygonalPrism]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13446,7 +13568,7 @@ class FormFactorPrism3(FormFactorPolygonalPrism):
         this = _libBornAgainCore.new_FormFactorPrism3(base_edge, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -13496,6 +13618,7 @@ class FormFactorPrism6(FormFactorPolygonalPrism):
     C++ includes: FormFactorPrism6.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolygonalPrism]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13516,7 +13639,7 @@ class FormFactorPrism6(FormFactorPolygonalPrism):
         this = _libBornAgainCore.new_FormFactorPrism6(base_edge, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -13566,6 +13689,7 @@ class FormFactorPyramid(FormFactorPolyhedron):
     C++ includes: FormFactorPyramid.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13598,7 +13722,7 @@ class FormFactorPyramid(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorPyramid(base_edge, height, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -13668,6 +13792,7 @@ class FormFactorRipple1(IFormFactorBorn):
     C++ includes: FormFactorRipple1.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13702,7 +13827,7 @@ class FormFactorRipple1(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorRipple1(length, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorRipple1
     __del__ = lambda self: None
@@ -13796,6 +13921,7 @@ class FormFactorRipple2(IFormFactorBorn):
     C++ includes: FormFactorRipple2.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13833,7 +13959,7 @@ class FormFactorRipple2(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorRipple2(length, width, height, asymmetry)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorRipple2
     __del__ = lambda self: None
@@ -13937,6 +14063,7 @@ class FormFactorSphereGaussianRadius(IFormFactorBorn):
     C++ includes: FormFactorSphereGaussianRadius.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -13957,7 +14084,7 @@ class FormFactorSphereGaussianRadius(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorSphereGaussianRadius(mean, sigma)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorSphereGaussianRadius
     __del__ = lambda self: None
@@ -14021,6 +14148,7 @@ class FormFactorSphereLogNormalRadius(IFormFactorBorn):
     C++ includes: FormFactorSphereLogNormalRadius.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14041,7 +14169,7 @@ class FormFactorSphereLogNormalRadius(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorSphereLogNormalRadius(mean, scale_param, n_samples)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorSphereLogNormalRadius
     __del__ = lambda self: None
@@ -14105,6 +14233,7 @@ class FormFactorSphereUniformRadius(IFormFactorBorn):
     C++ includes: FormFactorSphereUniformRadius.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14125,7 +14254,7 @@ class FormFactorSphereUniformRadius(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorSphereUniformRadius(mean, full_width)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -14189,6 +14318,7 @@ class FormFactorTetrahedron(FormFactorPolyhedron):
     C++ includes: FormFactorTetrahedron.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14221,7 +14351,7 @@ class FormFactorTetrahedron(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorTetrahedron(base_edge, height, alpha)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -14291,6 +14421,7 @@ class FormFactorTrivial(IFormFactorBorn):
     C++ includes: FormFactorTrivial.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14311,7 +14442,7 @@ class FormFactorTrivial(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorTrivial()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -14375,6 +14506,7 @@ class FormFactorTruncatedCube(FormFactorPolyhedron):
     C++ includes: FormFactorTruncatedCube.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [FormFactorPolyhedron]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14404,7 +14536,7 @@ class FormFactorTruncatedCube(FormFactorPolyhedron):
         this = _libBornAgainCore.new_FormFactorTruncatedCube(length, removed_length)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -14464,6 +14596,7 @@ class FormFactorTruncatedSphere(IFormFactorBorn):
     C++ includes: FormFactorTruncatedSphere.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14484,7 +14617,7 @@ class FormFactorTruncatedSphere(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorTruncatedSphere(radius, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorTruncatedSphere
     __del__ = lambda self: None
@@ -14556,6 +14689,7 @@ class FormFactorTruncatedSpheroid(IFormFactorBorn):
     C++ includes: FormFactorTruncatedSpheroid.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactorBorn]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14576,7 +14710,7 @@ class FormFactorTruncatedSpheroid(IFormFactorBorn):
         this = _libBornAgainCore.new_FormFactorTruncatedSpheroid(radius, height, height_flattening)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorTruncatedSpheroid
     __del__ = lambda self: None
@@ -14672,6 +14806,7 @@ class FormFactorWeighted(IFormFactor):
     C++ includes: FormFactorWeighted.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IFormFactor]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -14692,7 +14827,7 @@ class FormFactorWeighted(IFormFactor):
         this = _libBornAgainCore.new_FormFactorWeighted()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_FormFactorWeighted
     __del__ = lambda self: None
@@ -14779,6 +14914,7 @@ class Simulation(ICloneable, IParameterized):
     C++ includes: Simulation.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable, IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -15036,6 +15172,7 @@ class SimulationOptions(_object):
     C++ includes: SimulationOptions.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, SimulationOptions, name, value)
     __swig_getmethods__ = {}
@@ -15052,7 +15189,7 @@ class SimulationOptions(_object):
         this = _libBornAgainCore.new_SimulationOptions()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def isIntegrate(self):
@@ -15197,6 +15334,7 @@ class GISASSimulation(Simulation):
     C++ includes: GISASSimulation.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [Simulation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -15219,7 +15357,7 @@ class GISASSimulation(Simulation):
         this = _libBornAgainCore.new_GISASSimulation(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_GISASSimulation
     __del__ = lambda self: None
@@ -15412,6 +15550,7 @@ class IHistogram(_object):
     C++ includes: IHistogram.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IHistogram, name, value)
     __swig_getmethods__ = {}
@@ -15965,7 +16104,8 @@ def IHistogram_createFrom(filename):
     return _libBornAgainCore.IHistogram_createFrom(filename)
 
 class Histogram1D(IHistogram):
-    """Proxy of C++ Histogram1D class"""
+    """Proxy of C++ Histogram1D class."""
+
     __swig_setmethods__ = {}
     for _s in [IHistogram]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -15991,7 +16131,7 @@ class Histogram1D(IHistogram):
         this = _libBornAgainCore.new_Histogram1D(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -16119,6 +16259,7 @@ class Histogram2D(IHistogram):
     C++ includes: Histogram2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IHistogram]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16144,7 +16285,7 @@ class Histogram2D(IHistogram):
         this = _libBornAgainCore.new_Histogram2D(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -16267,6 +16408,7 @@ class IMaterial(INamed):
     C++ includes: IMaterial.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [INamed]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16352,6 +16494,7 @@ class HomogeneousMaterial(IMaterial):
     C++ includes: HomogeneousMaterial.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IMaterial]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16375,7 +16518,7 @@ class HomogeneousMaterial(IMaterial):
         this = _libBornAgainCore.new_HomogeneousMaterial(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_HomogeneousMaterial
     __del__ = lambda self: None
@@ -16433,6 +16576,7 @@ class HomogeneousMagneticMaterial(HomogeneousMaterial):
     C++ includes: HomogeneousMagneticMaterial.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [HomogeneousMaterial]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16456,7 +16600,7 @@ class HomogeneousMagneticMaterial(HomogeneousMaterial):
         this = _libBornAgainCore.new_HomogeneousMagneticMaterial(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -16524,7 +16668,8 @@ HomogeneousMagneticMaterial_swigregister = _libBornAgainCore.HomogeneousMagnetic
 HomogeneousMagneticMaterial_swigregister(HomogeneousMagneticMaterial)
 
 class IDetector2D(IParameterized):
-    """Proxy of C++ IDetector2D class"""
+    """Proxy of C++ IDetector2D class."""
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16826,6 +16971,7 @@ class IDetectorResolution(ICloneable, IParameterized):
     C++ includes: IDetectorResolution.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable, IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16874,6 +17020,7 @@ class IInterferenceFunction(ISample):
     C++ includes: IInterferenceFunction.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -16960,6 +17107,7 @@ class ILayout(ICompositeSample):
     C++ includes: ILayout.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICompositeSample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17146,6 +17294,7 @@ class IAbstractParticle(ICompositeSample):
     C++ includes: IAbstractParticle.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICompositeSample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17252,6 +17401,7 @@ class IParameterReal(INamed, INoncopyable):
     C++ includes: IParameter.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [INamed, INoncopyable]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17333,6 +17483,7 @@ class IParticle(IAbstractParticle):
     C++ includes: IParticle.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IAbstractParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17492,6 +17643,7 @@ class IResolutionFunction2D(IParameterized):
     C++ includes: IResolutionFunction2D.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17540,6 +17692,7 @@ class IRotation(ISample):
     C++ includes: Rotations.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17653,7 +17806,8 @@ def CreateProduct(left, right):
     """
     return _libBornAgainCore.CreateProduct(left, right)
 class RotationX(IRotation):
-    """Proxy of C++ RotationX class"""
+    """Proxy of C++ RotationX class."""
+
     __swig_setmethods__ = {}
     for _s in [IRotation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17674,7 +17828,7 @@ class RotationX(IRotation):
         this = _libBornAgainCore.new_RotationX(angle)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -17740,7 +17894,8 @@ RotationX_swigregister = _libBornAgainCore.RotationX_swigregister
 RotationX_swigregister(RotationX)
 
 class RotationY(IRotation):
-    """Proxy of C++ RotationY class"""
+    """Proxy of C++ RotationY class."""
+
     __swig_setmethods__ = {}
     for _s in [IRotation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17761,7 +17916,7 @@ class RotationY(IRotation):
         this = _libBornAgainCore.new_RotationY(angle)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -17827,7 +17982,8 @@ RotationY_swigregister = _libBornAgainCore.RotationY_swigregister
 RotationY_swigregister(RotationY)
 
 class RotationZ(IRotation):
-    """Proxy of C++ RotationZ class"""
+    """Proxy of C++ RotationZ class."""
+
     __swig_setmethods__ = {}
     for _s in [IRotation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17849,7 +18005,7 @@ class RotationZ(IRotation):
         this = _libBornAgainCore.new_RotationZ(angle)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -17915,7 +18071,8 @@ RotationZ_swigregister = _libBornAgainCore.RotationZ_swigregister
 RotationZ_swigregister(RotationZ)
 
 class RotationEuler(IRotation):
-    """Proxy of C++ RotationEuler class"""
+    """Proxy of C++ RotationEuler class."""
+
     __swig_setmethods__ = {}
     for _s in [IRotation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -17936,7 +18093,7 @@ class RotationEuler(IRotation):
         this = _libBornAgainCore.new_RotationEuler(alpha, beta, gamma)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -18030,6 +18187,7 @@ class ISelectionRule(_object):
     C++ includes: ISelectionRule.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, ISelectionRule, name, value)
     __swig_getmethods__ = {}
@@ -18072,6 +18230,7 @@ class SimpleSelectionRule(ISelectionRule):
     C++ includes: ISelectionRule.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISelectionRule]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -18092,7 +18251,7 @@ class SimpleSelectionRule(ISelectionRule):
         this = _libBornAgainCore.new_SimpleSelectionRule(a, b, c, modulus)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_SimpleSelectionRule
     __del__ = lambda self: None
@@ -18128,6 +18287,7 @@ class Instrument(IParameterized):
     C++ includes: Instrument.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -18149,7 +18309,7 @@ class Instrument(IParameterized):
         this = _libBornAgainCore.new_Instrument(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Instrument
     __del__ = lambda self: None
@@ -18387,6 +18547,7 @@ class IntensityDataFunctions(_object):
     C++ includes: IntensityDataFunctions.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IntensityDataFunctions, name, value)
     __swig_getmethods__ = {}
@@ -18442,7 +18603,7 @@ class IntensityDataFunctions(_object):
         this = _libBornAgainCore.new_IntensityDataFunctions()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IntensityDataFunctions
     __del__ = lambda self: None
@@ -18479,6 +18640,7 @@ class IntensityDataIOFactory(_object):
     C++ includes: IntensityDataIOFactory.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IntensityDataIOFactory, name, value)
     __swig_getmethods__ = {}
@@ -18533,7 +18695,7 @@ class IntensityDataIOFactory(_object):
         this = _libBornAgainCore.new_IntensityDataIOFactory()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IntensityDataIOFactory
     __del__ = lambda self: None
@@ -18565,6 +18727,7 @@ class InterferenceFunction1DLattice(IInterferenceFunction):
     C++ includes: InterferenceFunction1DLattice.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IInterferenceFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -18594,7 +18757,7 @@ class InterferenceFunction1DLattice(IInterferenceFunction):
         this = _libBornAgainCore.new_InterferenceFunction1DLattice(length, xi)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_InterferenceFunction1DLattice
     __del__ = lambda self: None
@@ -18676,6 +18839,7 @@ class InterferenceFunctionRadialParaCrystal(IInterferenceFunction):
     C++ includes: InterferenceFunctionRadialParaCrystal.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IInterferenceFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -18697,7 +18861,7 @@ class InterferenceFunctionRadialParaCrystal(IInterferenceFunction):
         this = _libBornAgainCore.new_InterferenceFunctionRadialParaCrystal(peak_distance, damping_length)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -18854,6 +19018,7 @@ class InterferenceFunction2DLattice(IInterferenceFunction):
     C++ includes: InterferenceFunction2DLattice.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IInterferenceFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -18890,7 +19055,7 @@ class InterferenceFunction2DLattice(IInterferenceFunction):
         this = _libBornAgainCore.new_InterferenceFunction2DLattice(length_1, length_2, angle, xi)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_InterferenceFunction2DLattice
     __del__ = lambda self: None
@@ -19020,6 +19185,7 @@ class InterferenceFunction2DParaCrystal(IInterferenceFunction):
     C++ includes: InterferenceFunction2DParaCrystal.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IInterferenceFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19060,7 +19226,7 @@ class InterferenceFunction2DParaCrystal(IInterferenceFunction):
         this = _libBornAgainCore.new_InterferenceFunction2DParaCrystal(length_1, length_2, alpha_lattice, xi, damping_length)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_InterferenceFunction2DParaCrystal
     __del__ = lambda self: None
@@ -19283,6 +19449,7 @@ class InterferenceFunctionNone(IInterferenceFunction):
     C++ includes: InterferenceFunctionNone.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IInterferenceFunction]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19303,7 +19470,7 @@ class InterferenceFunctionNone(IInterferenceFunction):
         this = _libBornAgainCore.new_InterferenceFunctionNone()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -19355,6 +19522,7 @@ class IPixelMap(_object):
     C++ includes: IPixelMap.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IPixelMap, name, value)
     __swig_getmethods__ = {}
@@ -19427,6 +19595,7 @@ class SphericalDetector(IDetector2D):
     C++ includes: SphericalDetector.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDetector2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19449,7 +19618,7 @@ class SphericalDetector(IDetector2D):
         this = _libBornAgainCore.new_SphericalDetector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -19503,7 +19672,8 @@ SphericalDetector_swigregister = _libBornAgainCore.SphericalDetector_swigregiste
 SphericalDetector_swigregister(SphericalDetector)
 
 class AngularPixelMap(IPixelMap):
-    """Proxy of C++ AngularPixelMap class"""
+    """Proxy of C++ AngularPixelMap class."""
+
     __swig_setmethods__ = {}
     for _s in [IPixelMap]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19524,7 +19694,7 @@ class AngularPixelMap(IPixelMap):
         this = _libBornAgainCore.new_AngularPixelMap(alpha_bin, phi_bin)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_AngularPixelMap
     __del__ = lambda self: None
@@ -19590,6 +19760,7 @@ class IsGISAXSDetector(SphericalDetector):
     C++ includes: IsGISAXSDetector.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [SphericalDetector]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19612,7 +19783,7 @@ class IsGISAXSDetector(SphericalDetector):
         this = _libBornAgainCore.new_IsGISAXSDetector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -19638,6 +19809,7 @@ class Lattice(_object):
     C++ includes: Lattice.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Lattice, name, value)
     __swig_getmethods__ = {}
@@ -19655,7 +19827,7 @@ class Lattice(_object):
         this = _libBornAgainCore.new_Lattice(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Lattice
     __del__ = lambda self: None
@@ -19827,6 +19999,7 @@ class Lattice1DParameters(_object):
     C++ includes: Lattice1DParameters.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Lattice1DParameters, name, value)
     __swig_getmethods__ = {}
@@ -19853,7 +20026,7 @@ class Lattice1DParameters(_object):
         this = _libBornAgainCore.new_Lattice1DParameters(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_setmethods__["m_length"] = _libBornAgainCore.Lattice1DParameters_m_length_set
     __swig_getmethods__["m_length"] = _libBornAgainCore.Lattice1DParameters_m_length_get
@@ -19877,6 +20050,7 @@ class Lattice2DParameters(_object):
     C++ includes: Lattice2DParameters.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Lattice2DParameters, name, value)
     __swig_getmethods__ = {}
@@ -19893,7 +20067,7 @@ class Lattice2DParameters(_object):
         this = _libBornAgainCore.new_Lattice2DParameters()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def getUnitCellArea(self):
@@ -19935,6 +20109,7 @@ class Layer(ICompositeSample):
     C++ includes: Layer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICompositeSample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -19957,7 +20132,7 @@ class Layer(ICompositeSample):
         this = _libBornAgainCore.new_Layer(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Layer
     __del__ = lambda self: None
@@ -20172,6 +20347,7 @@ class IRoughness(ISample):
     C++ includes: IRoughness.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ISample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20212,6 +20388,7 @@ class LayerRoughness(IRoughness):
     C++ includes: LayerRoughness.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IRoughness]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20233,7 +20410,7 @@ class LayerRoughness(IRoughness):
         this = _libBornAgainCore.new_LayerRoughness(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -20373,6 +20550,7 @@ class Line(IShape2D):
     C++ includes: Line.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20393,7 +20571,7 @@ class Line(IShape2D):
         this = _libBornAgainCore.new_Line(x1, y1, x2, y2)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -20432,6 +20610,7 @@ class VerticalLine(IShape2D):
     C++ includes: Line.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20458,7 +20637,7 @@ class VerticalLine(IShape2D):
         this = _libBornAgainCore.new_VerticalLine(x)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -20507,6 +20686,7 @@ class HorizontalLine(IShape2D):
     C++ includes: Line.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20533,7 +20713,7 @@ class HorizontalLine(IShape2D):
         this = _libBornAgainCore.new_HorizontalLine(y)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -20582,6 +20762,7 @@ class MesoCrystal(IParticle):
     C++ includes: MesoCrystal.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20602,7 +20783,7 @@ class MesoCrystal(IParticle):
         this = _libBornAgainCore.new_MesoCrystal(particle_structure, form_factor)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_MesoCrystal
     __del__ = lambda self: None
@@ -20715,7 +20896,8 @@ ERROR = _libBornAgainCore.ERROR
 _libBornAgainCore.FATAL_swigconstant(_libBornAgainCore)
 FATAL = _libBornAgainCore.FATAL
 class Logger(_object):
-    """Proxy of C++ MSG::Logger class"""
+    """Proxy of C++ MSG::Logger class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Logger, name, value)
     __swig_getmethods__ = {}
@@ -20727,7 +20909,7 @@ class Logger(_object):
         this = _libBornAgainCore.new_Logger(level)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Logger
     __del__ = lambda self: None
@@ -20792,6 +20974,7 @@ class MultiLayer(ICompositeSample):
     C++ includes: MultiLayer.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICompositeSample]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -20812,7 +20995,7 @@ class MultiLayer(ICompositeSample):
         this = _libBornAgainCore.new_MultiLayer()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_MultiLayer
     __del__ = lambda self: None
@@ -21129,6 +21312,7 @@ class OffSpecSimulation(Simulation):
     C++ includes: OffSpecSimulation.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [Simulation]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -21151,7 +21335,7 @@ class OffSpecSimulation(Simulation):
         this = _libBornAgainCore.new_OffSpecSimulation(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_OffSpecSimulation
     __del__ = lambda self: None
@@ -21263,6 +21447,7 @@ class IntensityData(_object):
     C++ includes: OutputData.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IntensityData, name, value)
     __swig_getmethods__ = {}
@@ -21279,7 +21464,7 @@ class IntensityData(_object):
         this = _libBornAgainCore.new_IntensityData()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_IntensityData
     __del__ = lambda self: None
@@ -21921,7 +22106,8 @@ def applyFunction(data, func):
     """
     return _libBornAgainCore.applyFunction(data, func)
 class ParameterDistribution(IParameterized):
-    """Proxy of C++ ParameterDistribution class"""
+    """Proxy of C++ ParameterDistribution class."""
+
     __swig_setmethods__ = {}
     for _s in [IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -21946,7 +22132,7 @@ class ParameterDistribution(IParameterized):
         this = _libBornAgainCore.new_ParameterDistribution(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ParameterDistribution
     __del__ = lambda self: None
@@ -22074,6 +22260,7 @@ class ParameterPool(_object):
     C++ includes: ParameterPool.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, ParameterPool, name, value)
     __swig_getmethods__ = {}
@@ -22090,7 +22277,7 @@ class ParameterPool(_object):
         this = _libBornAgainCore.new_ParameterPool(name, onChange)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ParameterPool
     __del__ = lambda self: None
@@ -22261,6 +22448,7 @@ class Particle(IParticle):
     C++ includes: Particle.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -22284,7 +22472,7 @@ class Particle(IParticle):
         this = _libBornAgainCore.new_Particle(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -22437,6 +22625,7 @@ class ParticleComposition(IParticle):
     C++ includes: ParticleComposition.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -22460,7 +22649,7 @@ class ParticleComposition(IParticle):
         this = _libBornAgainCore.new_ParticleComposition(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ParticleComposition
     __del__ = lambda self: None
@@ -22603,6 +22792,7 @@ class ParticleCoreShell(IParticle):
     C++ includes: ParticleCoreShell.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -22624,7 +22814,7 @@ class ParticleCoreShell(IParticle):
         this = _libBornAgainCore.new_ParticleCoreShell(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ParticleCoreShell
     __del__ = lambda self: None
@@ -22736,6 +22926,7 @@ class ParticleDistribution(IAbstractParticle):
     C++ includes: ParticleDistribution.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IAbstractParticle]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -22756,7 +22947,7 @@ class ParticleDistribution(IAbstractParticle):
         this = _libBornAgainCore.new_ParticleDistribution(prototype, par_distr)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -22893,6 +23084,7 @@ class ParticleLayout(ILayout):
     C++ includes: ParticleLayout.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ILayout]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -22915,7 +23107,7 @@ class ParticleLayout(ILayout):
         this = _libBornAgainCore.new_ParticleLayout(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_ParticleLayout
     __del__ = lambda self: None
@@ -23093,6 +23285,7 @@ class Polygon(IShape2D):
     C++ includes: Polygon.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23115,7 +23308,7 @@ class Polygon(IShape2D):
         this = _libBornAgainCore.new_Polygon(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_Polygon
     __del__ = lambda self: None
@@ -23174,6 +23367,7 @@ class RealParameter(IParameterReal):
     C++ includes: RealParameter.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IParameterReal]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23196,7 +23390,7 @@ class RealParameter(IParameterReal):
         this = _libBornAgainCore.new_RealParameter(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self, *args):
@@ -23322,6 +23516,7 @@ class Rectangle(IShape2D):
     C++ includes: Rectangle.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IShape2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23357,7 +23552,7 @@ class Rectangle(IShape2D):
         this = _libBornAgainCore.new_Rectangle(xlow, ylow, xup, yup)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -23446,6 +23641,7 @@ class RectangularDetector(IDetector2D):
     C++ includes: RectangularDetector.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IDetector2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23472,7 +23668,7 @@ class RectangularDetector(IDetector2D):
         this = _libBornAgainCore.new_RectangularDetector(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def clone(self):
@@ -23711,7 +23907,8 @@ RectangularDetector_swigregister = _libBornAgainCore.RectangularDetector_swigreg
 RectangularDetector_swigregister(RectangularDetector)
 
 class RectPixelMap(IPixelMap):
-    """Proxy of C++ RectPixelMap class"""
+    """Proxy of C++ RectPixelMap class."""
+
     __swig_setmethods__ = {}
     for _s in [IPixelMap]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23732,7 +23929,7 @@ class RectPixelMap(IPixelMap):
         this = _libBornAgainCore.new_RectPixelMap(corner_pos, width, height)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_RectPixelMap
     __del__ = lambda self: None
@@ -23798,6 +23995,7 @@ class ResolutionFunction2DGaussian(IResolutionFunction2D):
     C++ includes: ResolutionFunction2DGaussian.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [IResolutionFunction2D]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23818,7 +24016,7 @@ class ResolutionFunction2DGaussian(IResolutionFunction2D):
         this = _libBornAgainCore.new_ResolutionFunction2DGaussian(sigma_x, sigma_y)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def evaluateCDF(self, x, y):
@@ -23874,6 +24072,7 @@ class SpecularSimulation(ICloneable, IParameterized):
     C++ includes: SpecularSimulation.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [ICloneable, IParameterized]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -23896,7 +24095,7 @@ class SpecularSimulation(ICloneable, IParameterized):
         this = _libBornAgainCore.new_SpecularSimulation(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainCore.delete_SpecularSimulation
     __del__ = lambda self: None
@@ -24074,6 +24273,7 @@ class ThreadInfo(_object):
     C++ includes: ThreadInfo.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, ThreadInfo, name, value)
     __swig_getmethods__ = {}
@@ -24090,7 +24290,7 @@ class ThreadInfo(_object):
         this = _libBornAgainCore.new_ThreadInfo()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_setmethods__["n_threads"] = _libBornAgainCore.ThreadInfo_n_threads_set
     __swig_getmethods__["n_threads"] = _libBornAgainCore.ThreadInfo_n_threads_get
@@ -24122,6 +24322,7 @@ class SampleBuilderFactory(_object):
     C++ includes: IFactory.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, SampleBuilderFactory, name, value)
     __swig_getmethods__ = {}
@@ -24138,7 +24339,7 @@ class SampleBuilderFactory(_object):
         this = _libBornAgainCore.new_SampleBuilderFactory()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def createItem(self, item_key):
@@ -24211,6 +24412,7 @@ class SimulationFactory(_object):
     C++ includes: IFactory.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, SimulationFactory, name, value)
     __swig_getmethods__ = {}
@@ -24227,7 +24429,7 @@ class SimulationFactory(_object):
         this = _libBornAgainCore.new_SimulationFactory()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def createItem(self, item_key):
diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp
index 11870244cb3..0de429f6ba5 100644
--- a/auto/Wrap/libBornAgainCore_wrap.cpp
+++ b/auto/Wrap/libBornAgainCore_wrap.cpp
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.7
+ * Version 3.0.8
  *
  * This file is not intended to be easily readable and contains a number of
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -8,7 +8,11 @@
  * interface file instead.
  * ----------------------------------------------------------------------------- */
 
+
+#ifndef SWIGPYTHON
 #define SWIGPYTHON
+#endif
+
 #define SWIG_DIRECTORS
 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
 
@@ -1326,7 +1330,7 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
 
 /* Unpack the argument tuple */
 
-SWIGINTERN int
+SWIGINTERN Py_ssize_t
 SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
 {
   if (!args) {
@@ -1340,7 +1344,7 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
   }  
   if (!PyTuple_Check(args)) {
     if (min <= 1 && max >= 1) {
-      int i;
+      Py_ssize_t i;
       objs[0] = args;
       for (i = 1; i < max; ++i) {
 	objs[i] = 0;
@@ -1360,7 +1364,7 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
 		   name, (min == max ? "" : "at most "), (int)max, (int)l);
       return 0;
     } else {
-      int i;
+      Py_ssize_t i;
       for (i = 0; i < l; ++i) {
 	objs[i] = PyTuple_GET_ITEM(args, i);
       }
@@ -1701,16 +1705,32 @@ SwigPyObject_dealloc(PyObject *v)
     if (destroy) {
       /* destroy is always a VARARGS method */
       PyObject *res;
+
+      /* PyObject_CallFunction() has the potential to silently drop
+         the active active exception.  In cases of unnamed temporary
+         variable or where we just finished iterating over a generator
+         StopIteration will be active right now, and this needs to
+         remain true upon return from SwigPyObject_dealloc.  So save
+         and restore. */
+      
+      PyObject *val = NULL, *type = NULL, *tb = NULL;
+      PyErr_Fetch(&val, &type, &tb);
+
       if (data->delargs) {
-	/* we need to create a temporary object to carry the destroy operation */
-	PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
-	res = SWIG_Python_CallFunctor(destroy, tmp);
-	Py_DECREF(tmp);
+        /* we need to create a temporary object to carry the destroy operation */
+        PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
+        res = SWIG_Python_CallFunctor(destroy, tmp);
+        Py_DECREF(tmp);
       } else {
-	PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
-	PyObject *mself = PyCFunction_GET_SELF(destroy);
-	res = ((*meth)(mself, v));
+        PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
+        PyObject *mself = PyCFunction_GET_SELF(destroy);
+        res = ((*meth)(mself, v));
       }
+      if (!res)
+        PyErr_WriteUnraisable(destroy);
+
+      PyErr_Restore(val, type, tb);
+
       Py_XDECREF(res);
     } 
 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
@@ -1734,6 +1754,7 @@ SwigPyObject_append(PyObject* v, PyObject* next)
   next = tmp;
 #endif
   if (!SwigPyObject_Check(next)) {
+    PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
     return NULL;
   }
   sobj->next = next;
@@ -1889,7 +1910,9 @@ SwigPyObject_TypeOnce(void) {
     (unaryfunc)SwigPyObject_oct,  /*nb_oct*/
     (unaryfunc)SwigPyObject_hex,  /*nb_hex*/
 #endif
-#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */
+#if PY_VERSION_HEX >= 0x03050000 /* 3.5 */
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
+#elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
 #elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
@@ -1969,10 +1992,19 @@ SwigPyObject_TypeOnce(void) {
       0,                                    /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-      0,                                    /* tp_version */
+      0,                                    /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+      0,                                    /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-      0,0,0,0                               /* tp_alloc -> tp_next */
+      0,                                    /* tp_allocs */
+      0,                                    /* tp_frees */
+      0,                                    /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+      0,                                    /* tp_prev */
+#endif
+      0                                     /* tp_next */
 #endif
     };
     swigpyobject_type = tmp;
@@ -2148,10 +2180,19 @@ SwigPyPacked_TypeOnce(void) {
       0,                                    /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-      0,                                    /* tp_version */
+      0,                                    /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+      0,                                    /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-      0,0,0,0                               /* tp_alloc -> tp_next */
+      0,                                    /* tp_allocs */
+      0,                                    /* tp_frees */
+      0,                                    /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+      0,                                    /* tp_prev */
+#endif
+      0                                     /* tp_next */
 #endif
     };
     swigpypacked_type = tmp;
@@ -2679,13 +2720,11 @@ PyModule_AddObject(PyObject *m, char *name, PyObject *o)
 {
   PyObject *dict;
   if (!PyModule_Check(m)) {
-    PyErr_SetString(PyExc_TypeError,
-		    "PyModule_AddObject() needs module as first arg");
+    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg");
     return SWIG_ERROR;
   }
   if (!o) {
-    PyErr_SetString(PyExc_TypeError,
-		    "PyModule_AddObject() needs non-NULL value");
+    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value");
     return SWIG_ERROR;
   }
   
@@ -3732,7 +3771,7 @@ static swig_module_info swig_module = {swig_types, 292, 0, 0, 0, 0};
 #endif
 #define SWIG_name    "_libBornAgainCore"
 
-#define SWIGVERSION 0x030007 
+#define SWIGVERSION 0x030008 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -3978,9 +4017,11 @@ SWIG_AsVal_double (PyObject *obj, double *val)
   if (PyFloat_Check(obj)) {
     if (val) *val = PyFloat_AsDouble(obj);
     return SWIG_OK;
+#if PY_VERSION_HEX < 0x03000000
   } else if (PyInt_Check(obj)) {
     if (val) *val = PyInt_AsLong(obj);
     return SWIG_OK;
+#endif
   } else if (PyLong_Check(obj)) {
     double v = PyLong_AsDouble(obj);
     if (!PyErr_Occurred()) {
@@ -4072,18 +4113,7 @@ SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
       return SWIG_OK;
     } else {
       PyErr_Clear();
-#if PY_VERSION_HEX >= 0x03000000
-      {
-        long v = PyLong_AsLong(obj);
-        if (!PyErr_Occurred()) {
-          if (v < 0) {
-            return SWIG_OverflowError;
-          }
-        } else {
-          PyErr_Clear();
-        }
-      }
-#endif
+      return SWIG_OverflowError;
     }
   }
 #ifdef SWIG_PYTHON_CAST_MODE
@@ -4140,16 +4170,20 @@ SWIGINTERNINLINE PyObject*
 SWIGINTERN int
 SWIG_AsVal_long (PyObject *obj, long* val)
 {
+#if PY_VERSION_HEX < 0x03000000
   if (PyInt_Check(obj)) {
     if (val) *val = PyInt_AsLong(obj);
     return SWIG_OK;
-  } else if (PyLong_Check(obj)) {
+  } else
+#endif
+  if (PyLong_Check(obj)) {
     long v = PyLong_AsLong(obj);
     if (!PyErr_Occurred()) {
       if (val) *val = v;
       return SWIG_OK;
     } else {
       PyErr_Clear();
+      return SWIG_OverflowError;
     }
   }
 #ifdef SWIG_PYTHON_CAST_MODE
@@ -4199,7 +4233,7 @@ SWIGINTERNINLINE PyObject*
 }
 
 
-namespace swig {  
+namespace swig {
   template <class Type>
   struct noconst_traits {
     typedef Type noconst_type;
@@ -4213,7 +4247,7 @@ namespace swig {
   /*
     type categories
   */
-  struct pointer_category { };  
+  struct pointer_category { };
   struct value_category { };
 
   /*
@@ -4226,12 +4260,12 @@ namespace swig {
     return traits<typename noconst_traits<Type >::noconst_type >::type_name();
   }
 
-  template <class Type> 
+  template <class Type>
   struct traits_info {
     static swig_type_info *type_query(std::string name) {
       name += " *";
       return SWIG_TypeQuery(name.c_str());
-    }    
+    }
     static swig_type_info *type_info() {
       static swig_type_info *info = type_query(type_name<Type>());
       return info;
@@ -4252,17 +4286,17 @@ namespace swig {
       std::string ptrname = name;
       ptrname += " *";
       return ptrname;
-    }    
+    }
     static const char* type_name() {
       static std::string name = make_ptr_name(swig::type_name<Type>());
       return name.c_str();
     }
   };
 
-  template <class Type, class Category> 
+  template <class Type, class Category>
   struct traits_as { };
- 
-  template <class Type, class Category> 
+
+  template <class Type, class Category>
   struct traits_check { };
 
 }
@@ -4606,6 +4640,12 @@ namespace swig {
     return pos;
   }
 
+  template <class Sequence>
+  inline void
+  erase(Sequence* seq, const typename Sequence::iterator& position) {
+    seq->erase(position);
+  }
+
   template <class Sequence, class Difference>
   inline Sequence*
   getslice(const Sequence* self, Difference i, Difference j, Py_ssize_t step) {
@@ -4980,7 +5020,7 @@ namespace swig
   template <class T>
   struct SwigPySequence_Ref
   {
-    SwigPySequence_Ref(PyObject* seq, int index)
+    SwigPySequence_Ref(PyObject* seq, Py_ssize_t index)
       : _seq(seq), _index(index)
     {
     }
@@ -4992,7 +5032,7 @@ namespace swig
 	return swig::as<T>(item, true);
       } catch (std::exception& e) {
 	char msg[1024];
-	sprintf(msg, "in sequence element %d ", _index);
+	sprintf(msg, "in sequence element %d ", (int)_index);
 	if (!PyErr_Occurred()) {
 	  ::SWIG_Error(SWIG_TypeError,  swig::type_name<T>());
 	}
@@ -5010,7 +5050,7 @@ namespace swig
 
   private:
     PyObject* _seq;
-    int _index;
+    Py_ssize_t _index;
   };
 
   template <class T>
@@ -5031,13 +5071,13 @@ namespace swig
     typedef Reference reference;
     typedef T value_type;
     typedef T* pointer;
-    typedef int difference_type;
+    typedef Py_ssize_t difference_type;
 
     SwigPySequence_InputIterator()
     {
     }
 
-    SwigPySequence_InputIterator(PyObject* seq, int index)
+    SwigPySequence_InputIterator(PyObject* seq, Py_ssize_t index)
       : _seq(seq), _index(index)
     {
     }
@@ -5117,6 +5157,7 @@ namespace swig
     difference_type _index;
   };
 
+  // STL container wrapper around a Python sequence
   template <class T>
   struct SwigPySequence_Cont
   {
@@ -5124,8 +5165,8 @@ namespace swig
     typedef const SwigPySequence_Ref<T> const_reference;
     typedef T value_type;
     typedef T* pointer;
-    typedef int difference_type;
-    typedef int size_type;
+    typedef Py_ssize_t difference_type;
+    typedef size_t size_type;
     typedef const pointer const_pointer;
     typedef SwigPySequence_InputIterator<T, reference> iterator;
     typedef SwigPySequence_InputIterator<T, const_reference> const_iterator;
@@ -5186,13 +5227,13 @@ namespace swig
 
     bool check(bool set_err = true) const
     {
-      int s = size();
-      for (int i = 0; i < s; ++i) {
+      Py_ssize_t s = size();
+      for (Py_ssize_t i = 0; i < s; ++i) {
 	swig::SwigVar_PyObject item = PySequence_GetItem(_seq, i);
 	if (!swig::check<value_type>(item)) {
 	  if (set_err) {
 	    char msg[1024];
-	    sprintf(msg, "in sequence element %d", i);
+	    sprintf(msg, "in sequence element %d", (int)i);
 	    SWIG_Error(SWIG_RuntimeError, msg);
 	  }
 	  return false;
@@ -5212,17 +5253,17 @@ namespace swig
 
 
 namespace swig {
-  template <> struct traits<double > {
+  template <> struct traits< double > {
     typedef value_category category;
     static const char* type_name() { return"double"; }
-  };  
-  template <>  struct traits_asval<double > {   
+  };
+  template <>  struct traits_asval< double > {
     typedef double value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_double (obj, val);
     }
   };
-  template <>  struct traits_from<double > {
+  template <>  struct traits_from< double > {
     typedef double value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_double  (val);
@@ -5296,10 +5337,9 @@ namespace swig {
 #endif
       size_type size = seq.size();
       if (size <= (size_type)INT_MAX) {
-	PyObject *obj = PyTuple_New((int)size);
-	int i = 0;
-	for (const_iterator it = seq.begin();
-	     it != seq.end(); ++it, ++i) {
+	PyObject *obj = PyTuple_New((Py_ssize_t)size);
+	Py_ssize_t i = 0;
+	for (const_iterator it = seq.begin(); it != seq.end(); ++it, ++i) {
 	  PyTuple_SetItem(obj,i,swig::from<value_type>(*it));
 	}
 	return obj;
@@ -5330,7 +5370,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<double, std::allocator< double > > > {
+	template <>  struct traits<std::vector< double, std::allocator< double > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "double" "," "std::allocator< double >" " >";
@@ -5365,24 +5405,20 @@ SWIG_From_size_t  (size_t value)
   return SWIG_From_unsigned_SS_long  (static_cast< unsigned long >(value));
 }
 
-SWIGINTERN std::vector< double >::value_type std_vector_Sl_double_Sg__pop(std::vector< double > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<double,std::allocator< double > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v=std::vector< double,std::allocator< double > >()){
+SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< double,std::allocator< double > >());
+    }
+SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_1(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getitem____SWIG_0(std::vector< double > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5391,8 +5427,8 @@ SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_0(std::vector< double > *self,PySliceObject *slice,std::vector< double,std::allocator< double > > const &v){
@@ -5402,8 +5438,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_0(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_1(std::vector< double > *self,PySliceObject *slice){
@@ -5413,8 +5449,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_1(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_1(std::vector< double > *self,PySliceObject *slice){
@@ -5424,8 +5460,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_1(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____getitem____SWIG_1(std::vector< double > const *self,std::vector< double >::difference_type i){
@@ -5434,6 +5470,13 @@ SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____g
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_2(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< double >::value_type std_vector_Sl_double_Sg__pop(std::vector< double > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< double,std::allocator< double > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_double_Sg__append(std::vector< double > *self,std::vector< double >::value_type const &x){
       self->push_back(x);
     }
@@ -5443,7 +5486,7 @@ SWIGINTERN std::vector< double >::iterator std_vector_Sl_double_Sg__insert__SWIG
 SWIGINTERN void std_vector_Sl_double_Sg__insert__SWIG_1(std::vector< double > *self,std::vector< double >::iterator pos,std::vector< double >::size_type n,std::vector< double >::value_type const &x){ self->insert(pos, n, x); }
 
       namespace swig {
-	template <>  struct traits<std::vector<std::vector< double,std::allocator< double > >, std::allocator< std::vector< double,std::allocator< double > > > > > {
+	template <>  struct traits<std::vector< std::vector< double,std::allocator< double > >, std::allocator< std::vector< double,std::allocator< double > > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::vector< double,std::allocator< double > >" "," "std::allocator< std::vector< double,std::allocator< double > > >" " >";
@@ -5463,24 +5506,20 @@ SWIGINTERN bool std_vector_Sl_std_vector_Sl_double_Sg__Sg____bool__(std::vector<
 SWIGINTERN std::vector< std::vector< double > >::size_type std_vector_Sl_std_vector_Sl_double_Sg__Sg____len__(std::vector< std::vector< double > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::vector< double > >::value_type std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(std::vector< std::vector< double > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *std_vector_Sl_std_vector_Sl_double_Sg__Sg____getslice__(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v=std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >()){
+SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >());
+    }
+SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_1(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delslice__(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *std_vector_Sl_std_vector_Sl_double_Sg__Sg____getitem____SWIG_0(std::vector< std::vector< double > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5489,8 +5528,8 @@ SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allo
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_0(std::vector< std::vector< double > > *self,PySliceObject *slice,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v){
@@ -5500,8 +5539,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_0(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_1(std::vector< std::vector< double > > *self,PySliceObject *slice){
@@ -5511,8 +5550,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_1(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_1(std::vector< std::vector< double > > *self,PySliceObject *slice){
@@ -5522,8 +5561,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_1(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::vector< double > >::value_type const &std_vector_Sl_std_vector_Sl_double_Sg__Sg____getitem____SWIG_1(std::vector< std::vector< double > > const *self,std::vector< std::vector< double > >::difference_type i){
@@ -5532,6 +5571,13 @@ SWIGINTERN std::vector< std::vector< double > >::value_type const &std_vector_Sl
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_2(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::vector< double > >::value_type std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(std::vector< std::vector< double > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg__append(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::value_type const &x){
       self->push_back(x);
     }
@@ -5567,17 +5613,17 @@ SWIG_AsVal_int (PyObject * obj, int *val)
 
 
 namespace swig {
-  template <> struct traits<int > {
+  template <> struct traits< int > {
     typedef value_category category;
     static const char* type_name() { return"int"; }
-  };  
-  template <>  struct traits_asval<int > {   
+  };
+  template <>  struct traits_asval< int > {
     typedef int value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_int (obj, val);
     }
   };
-  template <>  struct traits_from<int > {
+  template <>  struct traits_from< int > {
     typedef int value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_int  (val);
@@ -5587,7 +5633,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<int, std::allocator< int > > > {
+	template <>  struct traits<std::vector< int, std::allocator< int > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "int" "," "std::allocator< int >" " >";
@@ -5607,24 +5653,20 @@ SWIGINTERN bool std_vector_Sl_int_Sg____bool__(std::vector< int > const *self){
 SWIGINTERN std::vector< int >::size_type std_vector_Sl_int_Sg____len__(std::vector< int > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< int >::value_type std_vector_Sl_int_Sg__pop(std::vector< int > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<int,std::allocator< int > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v=std::vector< int,std::allocator< int > >()){
+SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< int,std::allocator< int > >());
+    }
+SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_1(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getitem____SWIG_0(std::vector< int > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5633,8 +5675,8 @@ SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____get
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_0(std::vector< int > *self,PySliceObject *slice,std::vector< int,std::allocator< int > > const &v){
@@ -5644,8 +5686,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_0(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_1(std::vector< int > *self,PySliceObject *slice){
@@ -5655,8 +5697,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_1(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_1(std::vector< int > *self,PySliceObject *slice){
@@ -5666,8 +5708,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_1(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem____SWIG_1(std::vector< int > const *self,std::vector< int >::difference_type i){
@@ -5676,6 +5718,13 @@ SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_2(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< int >::value_type std_vector_Sl_int_Sg__pop(std::vector< int > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< int,std::allocator< int > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_int_Sg__append(std::vector< int > *self,std::vector< int >::value_type const &x){
       self->push_back(x);
     }
@@ -5685,17 +5734,17 @@ SWIGINTERN std::vector< int >::iterator std_vector_Sl_int_Sg__insert__SWIG_0(std
 SWIGINTERN void std_vector_Sl_int_Sg__insert__SWIG_1(std::vector< int > *self,std::vector< int >::iterator pos,std::vector< int >::size_type n,std::vector< int >::value_type const &x){ self->insert(pos, n, x); }
 
 namespace swig {
-  template <> struct traits<unsigned long > {
+  template <> struct traits< unsigned long > {
     typedef value_category category;
     static const char* type_name() { return"unsigned long"; }
-  };  
-  template <>  struct traits_asval<unsigned long > {   
+  };
+  template <>  struct traits_asval< unsigned long > {
     typedef unsigned long value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_unsigned_SS_long (obj, val);
     }
   };
-  template <>  struct traits_from<unsigned long > {
+  template <>  struct traits_from< unsigned long > {
     typedef unsigned long value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_unsigned_SS_long  (val);
@@ -5705,7 +5754,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<unsigned long, std::allocator< unsigned long > > > {
+	template <>  struct traits<std::vector< unsigned long, std::allocator< unsigned long > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "unsigned long" "," "std::allocator< unsigned long >" " >";
@@ -5725,24 +5774,20 @@ SWIGINTERN bool std_vector_Sl_unsigned_SS_long_Sg____bool__(std::vector< unsigne
 SWIGINTERN std::vector< unsigned long >::size_type std_vector_Sl_unsigned_SS_long_Sg____len__(std::vector< unsigned long > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< unsigned long >::value_type std_vector_Sl_unsigned_SS_long_Sg__pop(std::vector< unsigned long > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<unsigned long,std::allocator< unsigned long > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vector_Sl_unsigned_SS_long_Sg____getslice__(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j,std::vector< unsigned long,std::allocator< unsigned long > > const &v=std::vector< unsigned long,std::allocator< unsigned long > >()){
+SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< unsigned long,std::allocator< unsigned long > >());
+    }
+SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_1(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j,std::vector< unsigned long,std::allocator< unsigned long > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delslice__(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vector_Sl_unsigned_SS_long_Sg____getitem____SWIG_0(std::vector< unsigned long > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5751,8 +5796,8 @@ SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vec
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_0(std::vector< unsigned long > *self,PySliceObject *slice,std::vector< unsigned long,std::allocator< unsigned long > > const &v){
@@ -5762,8 +5807,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_0(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_1(std::vector< unsigned long > *self,PySliceObject *slice){
@@ -5773,8 +5818,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_1(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_1(std::vector< unsigned long > *self,PySliceObject *slice){
@@ -5784,8 +5829,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_1(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< unsigned long >::value_type const &std_vector_Sl_unsigned_SS_long_Sg____getitem____SWIG_1(std::vector< unsigned long > const *self,std::vector< unsigned long >::difference_type i){
@@ -5794,6 +5839,13 @@ SWIGINTERN std::vector< unsigned long >::value_type const &std_vector_Sl_unsigne
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_2(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< unsigned long >::value_type std_vector_Sl_unsigned_SS_long_Sg__pop(std::vector< unsigned long > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< unsigned long,std::allocator< unsigned long > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg__append(std::vector< unsigned long > *self,std::vector< unsigned long >::value_type const &x){
       self->push_back(x);
     }
@@ -5821,7 +5873,7 @@ SWIG_AsVal_std_complex_Sl_double_Sg_  (PyObject *o, std::complex<double>* val)
 
 
 SWIGINTERNINLINE PyObject*
-SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig/3.0.7/typemaps/swigmacros.swg,104,%ifcplusplus@*/
+SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig3.0/typemaps/swigmacros.swg,104,%ifcplusplus@*/
 
 const std::complex<double>&
 
@@ -5834,17 +5886,17 @@ const std::complex<double>&
 
 
 namespace swig {
-  template <> struct traits<std::complex<double> > {
+  template <> struct traits< std::complex<double> > {
     typedef value_category category;
     static const char* type_name() { return"std::complex<double>"; }
-  };  
-  template <>  struct traits_asval<std::complex<double> > {   
+  };
+  template <>  struct traits_asval< std::complex<double> > {
     typedef std::complex<double> value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_std_complex_Sl_double_Sg_ (obj, val);
     }
   };
-  template <>  struct traits_from<std::complex<double> > {
+  template <>  struct traits_from< std::complex<double> > {
     typedef std::complex<double> value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_std_complex_Sl_double_Sg_  (val);
@@ -5854,7 +5906,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<std::complex< double >, std::allocator< std::complex< double > > > > {
+	template <>  struct traits<std::vector< std::complex< double >, std::allocator< std::complex< double > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::complex< double >" "," "std::allocator< std::complex< double > >" " >";
@@ -5874,24 +5926,20 @@ SWIGINTERN bool std_vector_Sl_std_complex_Sl_double_Sg__Sg____bool__(std::vector
 SWIGINTERN std::vector< std::complex< double > >::size_type std_vector_Sl_std_complex_Sl_double_Sg__Sg____len__(std::vector< std::complex< double > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::complex< double > >::value_type std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(std::vector< std::complex< double > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< double > > > *std_vector_Sl_std_complex_Sl_double_Sg__Sg____getslice__(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v=std::vector< std::complex< double >,std::allocator< std::complex< double > > >()){
+SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::complex< double >,std::allocator< std::complex< double > > >());
+    }
+SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_1(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delslice__(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< double > > > *std_vector_Sl_std_complex_Sl_double_Sg__Sg____getitem____SWIG_0(std::vector< std::complex< double > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5900,8 +5948,8 @@ SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< dou
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_0(std::vector< std::complex< double > > *self,PySliceObject *slice,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v){
@@ -5911,8 +5959,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_0(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_1(std::vector< std::complex< double > > *self,PySliceObject *slice){
@@ -5922,8 +5970,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_1(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_1(std::vector< std::complex< double > > *self,PySliceObject *slice){
@@ -5933,8 +5981,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_1(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::complex< double > >::value_type const &std_vector_Sl_std_complex_Sl_double_Sg__Sg____getitem____SWIG_1(std::vector< std::complex< double > > const *self,std::vector< std::complex< double > >::difference_type i){
@@ -5943,6 +5991,13 @@ SWIGINTERN std::vector< std::complex< double > >::value_type const &std_vector_S
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_2(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::complex< double > >::value_type std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(std::vector< std::complex< double > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg__append(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::value_type const &x){
       self->push_back(x);
     }
@@ -6004,18 +6059,17 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #else
 	if (*alloc == SWIG_NEWOBJ) 
 #endif
-	  {
-	    *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
-	    *alloc = SWIG_NEWOBJ;
-	  }
-	else {
+	{
+	  *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+	  *alloc = SWIG_NEWOBJ;
+	} else {
 	  *cptr = cstr;
 	  *alloc = SWIG_OLDOBJ;
 	}
       } else {
-        #if PY_VERSION_HEX>=0x03000000
-        assert(0); /* Should never reach here in Python 3 */
-        #endif
+	#if PY_VERSION_HEX>=0x03000000
+	assert(0); /* Should never reach here in Python 3 */
+	#endif
 	*cptr = SWIG_Python_str_AsChar(obj);
       }
     }
@@ -6025,6 +6079,30 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #endif
     return SWIG_OK;
   } else {
+#if defined(SWIG_PYTHON_2_UNICODE)
+#if PY_VERSION_HEX<0x03000000
+    if (PyUnicode_Check(obj)) {
+      char *cstr; Py_ssize_t len;
+      if (!alloc && cptr) {
+        return SWIG_RuntimeError;
+      }
+      obj = PyUnicode_AsUTF8String(obj);
+      if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
+        if (cptr) {
+          if (alloc) *alloc = SWIG_NEWOBJ;
+          *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+        }
+        if (psize) *psize = len + 1;
+
+        Py_XDECREF(obj);
+        return SWIG_OK;
+      } else {
+        Py_XDECREF(obj);
+      }
+    }
+#endif
+#endif
+
     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
     if (pchar_descriptor) {
       void* vptr = 0;
@@ -6100,12 +6178,12 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
     } else {
 #if PY_VERSION_HEX >= 0x03000000
 #if PY_VERSION_HEX >= 0x03010000
-      return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
+      return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
 #else
-      return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
+      return PyUnicode_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
 #endif
 #else
-      return PyString_FromStringAndSize(carray, static_cast< int >(size));
+      return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
 #endif
     }
   } else {
@@ -6122,17 +6200,17 @@ SWIG_From_std_string  (const std::string& s)
 
 
 namespace swig {
-  template <> struct traits<std::string > {
+  template <> struct traits< std::string > {
     typedef value_category category;
     static const char* type_name() { return"std::string"; }
-  };  
-  template <>  struct traits_asval<std::string > {   
+  };
+  template <>  struct traits_asval< std::string > {
     typedef std::string value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_std_string (obj, val);
     }
   };
-  template <>  struct traits_from<std::string > {
+  template <>  struct traits_from< std::string > {
     typedef std::string value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_std_string  (val);
@@ -6142,7 +6220,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<std::string, std::allocator< std::string > > > {
+	template <>  struct traits<std::vector< std::string, std::allocator< std::string > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::string" "," "std::allocator< std::string >" " >";
@@ -6162,24 +6240,20 @@ SWIGINTERN bool std_vector_Sl_std_string_Sg____bool__(std::vector< std::string >
 SWIGINTERN std::vector< std::string >::size_type std_vector_Sl_std_string_Sg____len__(std::vector< std::string > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::string >::value_type std_vector_Sl_std_string_Sg__pop(std::vector< std::string > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::string,std::allocator< std::string > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j,std::vector< std::string,std::allocator< std::string > > const &v=std::vector< std::string,std::allocator< std::string > >()){
+SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::string,std::allocator< std::string > >());
+    }
+SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_1(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j,std::vector< std::string,std::allocator< std::string > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getitem____SWIG_0(std::vector< std::string > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6188,8 +6262,8 @@ SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector< std::string > *self,PySliceObject *slice,std::vector< std::string,std::allocator< std::string > > const &v){
@@ -6199,8 +6273,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_1(std::vector< std::string > *self,PySliceObject *slice){
@@ -6210,8 +6284,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_1(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector< std::string > *self,PySliceObject *slice){
@@ -6221,8 +6295,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::string >::value_type const &std_vector_Sl_std_string_Sg____getitem____SWIG_1(std::vector< std::string > const *self,std::vector< std::string >::difference_type i){
@@ -6231,6 +6305,13 @@ SWIGINTERN std::vector< std::string >::value_type const &std_vector_Sl_std_strin
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_2(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::string >::value_type std_vector_Sl_std_string_Sg__pop(std::vector< std::string > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::string,std::allocator< std::string > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_string_Sg__append(std::vector< std::string > *self,std::vector< std::string >::value_type const &x){
       self->push_back(x);
     }
@@ -6412,7 +6493,7 @@ SWIGINTERN BasicVector3D< double > BasicVector3D_Sl_double_Sg____rmul__(BasicVec
         return *(self) * c; }
 
   namespace swig {
-    template <>  struct traits<BasicVector3D< double > > {
+    template <>  struct traits< BasicVector3D< double > > {
       typedef pointer_category category;
       static const char* type_name() { return"BasicVector3D< double >"; }
     };
@@ -6420,7 +6501,7 @@ SWIGINTERN BasicVector3D< double > BasicVector3D_Sl_double_Sg____rmul__(BasicVec
 
 
       namespace swig {
-	template <>  struct traits<std::vector<BasicVector3D< double >, std::allocator< BasicVector3D< double > > > > {
+	template <>  struct traits<std::vector< BasicVector3D< double >, std::allocator< BasicVector3D< double > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "BasicVector3D< double >" "," "std::allocator< BasicVector3D< double > >" " >";
@@ -6440,24 +6521,20 @@ SWIGINTERN bool std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____bool__(std::vect
 SWIGINTERN std::vector< BasicVector3D< double > >::size_type std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____len__(std::vector< BasicVector3D< double > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< BasicVector3D< double > >::value_type std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__pop(std::vector< BasicVector3D< double > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____getslice__(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::difference_type j,std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &v=std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >()){
+SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >());
+    }
+SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setslice____SWIG_1(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::difference_type j,std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____delslice__(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____delitem____SWIG_0(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____getitem____SWIG_0(std::vector< BasicVector3D< double > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6466,8 +6543,8 @@ SWIGINTERN std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< d
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setitem____SWIG_0(std::vector< BasicVector3D< double > > *self,PySliceObject *slice,std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &v){
@@ -6477,8 +6554,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setitem____SWIG_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setitem____SWIG_1(std::vector< BasicVector3D< double > > *self,PySliceObject *slice){
@@ -6488,8 +6565,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setitem____SWIG_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____delitem____SWIG_1(std::vector< BasicVector3D< double > > *self,PySliceObject *slice){
@@ -6499,8 +6576,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____delitem____SWIG_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
-      std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type id = i;
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< BasicVector3D< double > >::value_type const &std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____getitem____SWIG_1(std::vector< BasicVector3D< double > > const *self,std::vector< BasicVector3D< double > >::difference_type i){
@@ -6509,6 +6586,13 @@ SWIGINTERN std::vector< BasicVector3D< double > >::value_type const &std_vector_
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setitem____SWIG_2(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::difference_type i,std::vector< BasicVector3D< double > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< BasicVector3D< double > >::value_type std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__pop(std::vector< BasicVector3D< double > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__append(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::value_type const &x){
       self->push_back(x);
     }
@@ -6518,7 +6602,7 @@ SWIGINTERN std::vector< BasicVector3D< double > >::iterator std_vector_Sl_BasicV
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__insert__SWIG_1(std::vector< BasicVector3D< double > > *self,std::vector< BasicVector3D< double > >::iterator pos,std::vector< BasicVector3D< double > >::size_type n,std::vector< BasicVector3D< double > >::value_type const &x){ self->insert(pos, n, x); }
 
   namespace swig {
-    template <>  struct traits<BasicVector3D< std::complex< double > > > {
+    template <>  struct traits< BasicVector3D< std::complex< double > > > {
       typedef pointer_category category;
       static const char* type_name() { return"BasicVector3D< std::complex< double > >"; }
     };
@@ -6526,7 +6610,7 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__insert__SWIG_1(std
 
 
       namespace swig {
-	template <>  struct traits<std::vector<BasicVector3D< std::complex< double > >, std::allocator< BasicVector3D< std::complex< double > > > > > {
+	template <>  struct traits<std::vector< BasicVector3D< std::complex< double > >, std::allocator< BasicVector3D< std::complex< double > > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "BasicVector3D< std::complex< double > >" "," "std::allocator< BasicVector3D< std::complex< double > > >" " >";
@@ -6546,24 +6630,20 @@ SWIGINTERN bool std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg_
 SWIGINTERN std::vector< BasicVector3D< std::complex< double > > >::size_type std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____len__(std::vector< BasicVector3D< std::complex< double > > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< BasicVector3D< std::complex< double > > >::value_type std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg__pop(std::vector< BasicVector3D< std::complex< double > > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____getslice__(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setslice____SWIG_0(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::difference_type j,std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &v=std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >()){
+SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setslice____SWIG_0(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >());
+    }
+SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setslice____SWIG_1(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::difference_type j,std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____delslice__(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____delitem____SWIG_0(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____getitem____SWIG_0(std::vector< BasicVector3D< std::complex< double > > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6572,8 +6652,8 @@ SWIGINTERN std::vector< BasicVector3D< std::complex< double > >,std::allocator<
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setitem____SWIG_0(std::vector< BasicVector3D< std::complex< double > > > *self,PySliceObject *slice,std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &v){
@@ -6583,8 +6663,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setitem____SWIG_1(std::vector< BasicVector3D< std::complex< double > > > *self,PySliceObject *slice){
@@ -6594,8 +6674,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____delitem____SWIG_1(std::vector< BasicVector3D< std::complex< double > > > *self,PySliceObject *slice){
@@ -6605,8 +6685,8 @@ SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg_
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
-      std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type id = i;
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< BasicVector3D< std::complex< double > > >::value_type const &std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____getitem____SWIG_1(std::vector< BasicVector3D< std::complex< double > > > const *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i){
@@ -6615,6 +6695,13 @@ SWIGINTERN std::vector< BasicVector3D< std::complex< double > > >::value_type co
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setitem____SWIG_2(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::difference_type i,std::vector< BasicVector3D< std::complex< double > > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< BasicVector3D< std::complex< double > > >::value_type std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg__pop(std::vector< BasicVector3D< std::complex< double > > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg__append(std::vector< BasicVector3D< std::complex< double > > > *self,std::vector< BasicVector3D< std::complex< double > > >::value_type const &x){
       self->push_back(x);
     }
@@ -6641,7 +6728,7 @@ SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
 SWIGINTERN double VariableBinAxis___getitem__(VariableBinAxis *self,unsigned int i){ return (*(self))[i]; }
 
   namespace swig {
-    template <>  struct traits<ISample > {
+    template <>  struct traits< ISample > {
       typedef pointer_category category;
       static const char* type_name() { return"ISample"; }
     };
@@ -6649,7 +6736,7 @@ SWIGINTERN double VariableBinAxis___getitem__(VariableBinAxis *self,unsigned int
 
 
       namespace swig {
-	template <>  struct traits<std::vector<ISample*, std::allocator< ISample * > > > {
+	template <>  struct traits<std::vector< ISample*, std::allocator< ISample * > > > {
 	  typedef value_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "ISample" " *," "std::allocator< ISample * >" " >";
@@ -6669,24 +6756,20 @@ SWIGINTERN bool std_vector_Sl_ISample_Sm__Sg____bool__(std::vector< ISample * >
 SWIGINTERN std::vector< ISample * >::size_type std_vector_Sl_ISample_Sm__Sg____len__(std::vector< ISample * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< ISample * >::value_type std_vector_Sl_ISample_Sm__Sg__pop(std::vector< ISample * > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<ISample*,std::allocator< ISample * > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< ISample *,std::allocator< ISample * > > *std_vector_Sl_ISample_Sm__Sg____getslice__(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setslice____SWIG_0(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::difference_type j,std::vector< ISample *,std::allocator< ISample * > > const &v=std::vector< ISample *,std::allocator< ISample * > >()){
+SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setslice____SWIG_0(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< ISample*,std::allocator< ISample * > >());
+    }
+SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setslice____SWIG_1(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::difference_type j,std::vector< ISample *,std::allocator< ISample * > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____delslice__(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____delitem____SWIG_0(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< ISample *,std::allocator< ISample * > > *std_vector_Sl_ISample_Sm__Sg____getitem____SWIG_0(std::vector< ISample * > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6695,8 +6778,8 @@ SWIGINTERN std::vector< ISample *,std::allocator< ISample * > > *std_vector_Sl_I
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type id = i;
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type jd = j;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type id = i;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setitem____SWIG_0(std::vector< ISample * > *self,PySliceObject *slice,std::vector< ISample *,std::allocator< ISample * > > const &v){
@@ -6706,8 +6789,8 @@ SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setitem____SWIG_0(std::vector< I
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type id = i;
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type jd = j;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type id = i;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setitem____SWIG_1(std::vector< ISample * > *self,PySliceObject *slice){
@@ -6717,8 +6800,8 @@ SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setitem____SWIG_1(std::vector< I
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type id = i;
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type jd = j;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type id = i;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____delitem____SWIG_1(std::vector< ISample * > *self,PySliceObject *slice){
@@ -6728,8 +6811,8 @@ SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____delitem____SWIG_1(std::vector< I
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type id = i;
-      std::vector<ISample*,std::allocator< ISample * > >::difference_type jd = j;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type id = i;
+      std::vector< ISample*,std::allocator< ISample * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< ISample * >::value_type std_vector_Sl_ISample_Sm__Sg____getitem____SWIG_1(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i){
@@ -6738,6 +6821,13 @@ SWIGINTERN std::vector< ISample * >::value_type std_vector_Sl_ISample_Sm__Sg____
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg____setitem____SWIG_2(std::vector< ISample * > *self,std::vector< ISample * >::difference_type i,std::vector< ISample * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< ISample * >::value_type std_vector_Sl_ISample_Sm__Sg__pop(std::vector< ISample * > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< ISample*,std::allocator< ISample * > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg__append(std::vector< ISample * > *self,std::vector< ISample * >::value_type x){
       self->push_back(x);
     }
@@ -6747,7 +6837,7 @@ SWIGINTERN std::vector< ISample * >::iterator std_vector_Sl_ISample_Sm__Sg__inse
 SWIGINTERN void std_vector_Sl_ISample_Sm__Sg__insert__SWIG_1(std::vector< ISample * > *self,std::vector< ISample * >::iterator pos,std::vector< ISample * >::size_type n,std::vector< ISample * >::value_type x){ self->insert(pos, n, x); }
 
       namespace swig {
-	template <>  struct traits<std::vector<ISample const*, std::allocator< ISample const * > > > {
+	template <>  struct traits<std::vector< ISample const*, std::allocator< ISample const * > > > {
 	  typedef value_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "ISample" " const*," "std::allocator< ISample const * >" " >";
@@ -6767,24 +6857,20 @@ SWIGINTERN bool std_vector_Sl_ISample_SS_const_Sm__Sg____bool__(std::vector< ISa
 SWIGINTERN std::vector< ISample const * >::size_type std_vector_Sl_ISample_SS_const_Sm__Sg____len__(std::vector< ISample const * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< ISample const * >::value_type std_vector_Sl_ISample_SS_const_Sm__Sg__pop(std::vector< ISample const * > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<ISample const*,std::allocator< ISample const * > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< ISample const *,std::allocator< ISample const * > > *std_vector_Sl_ISample_SS_const_Sm__Sg____getslice__(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setslice____SWIG_0(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::difference_type j,std::vector< ISample const *,std::allocator< ISample const * > > const &v=std::vector< ISample const *,std::allocator< ISample const * > >()){
+SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setslice____SWIG_0(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< ISample const*,std::allocator< ISample const * > >());
+    }
+SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setslice____SWIG_1(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::difference_type j,std::vector< ISample const *,std::allocator< ISample const * > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____delslice__(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____delitem____SWIG_0(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< ISample const *,std::allocator< ISample const * > > *std_vector_Sl_ISample_SS_const_Sm__Sg____getitem____SWIG_0(std::vector< ISample const * > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6793,8 +6879,8 @@ SWIGINTERN std::vector< ISample const *,std::allocator< ISample const * > > *std
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type id = i;
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type id = i;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setitem____SWIG_0(std::vector< ISample const * > *self,PySliceObject *slice,std::vector< ISample const *,std::allocator< ISample const * > > const &v){
@@ -6804,8 +6890,8 @@ SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setitem____SWIG_0(std::
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type id = i;
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type id = i;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setitem____SWIG_1(std::vector< ISample const * > *self,PySliceObject *slice){
@@ -6815,8 +6901,8 @@ SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setitem____SWIG_1(std::
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type id = i;
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type id = i;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____delitem____SWIG_1(std::vector< ISample const * > *self,PySliceObject *slice){
@@ -6826,8 +6912,8 @@ SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____delitem____SWIG_1(std::
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type id = i;
-      std::vector<ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type id = i;
+      std::vector< ISample const*,std::allocator< ISample const * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< ISample const * >::value_type std_vector_Sl_ISample_SS_const_Sm__Sg____getitem____SWIG_1(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i){
@@ -6836,6 +6922,13 @@ SWIGINTERN std::vector< ISample const * >::value_type std_vector_Sl_ISample_SS_c
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg____setitem____SWIG_2(std::vector< ISample const * > *self,std::vector< ISample const * >::difference_type i,std::vector< ISample const * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< ISample const * >::value_type std_vector_Sl_ISample_SS_const_Sm__Sg__pop(std::vector< ISample const * > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< ISample const*,std::allocator< ISample const * > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_ISample_SS_const_Sm__Sg__append(std::vector< ISample const * > *self,std::vector< ISample const * >::value_type x){
       self->push_back(x);
     }
@@ -6882,6 +6975,7 @@ SWIG_AsVal_long_SS_long (PyObject *obj, long long *val)
       return SWIG_OK;
     } else {
       PyErr_Clear();
+      res = SWIG_OverflowError;
     }
   } else {
     long v;
@@ -6914,7 +7008,7 @@ SWIGINTERN void IMultiLayerBuilder_setParameterValue(IMultiLayerBuilder *self,st
 SWIGINTERN double FixedBinAxis___getitem__(FixedBinAxis *self,unsigned int i){ return (*(self))[i]; }
 
   namespace swig {
-    template <>  struct traits<IFormFactor > {
+    template <>  struct traits< IFormFactor > {
       typedef pointer_category category;
       static const char* type_name() { return"IFormFactor"; }
     };
@@ -6922,7 +7016,7 @@ SWIGINTERN double FixedBinAxis___getitem__(FixedBinAxis *self,unsigned int i){ r
 
 
       namespace swig {
-	template <>  struct traits<std::vector<IFormFactor*, std::allocator< IFormFactor * > > > {
+	template <>  struct traits<std::vector< IFormFactor*, std::allocator< IFormFactor * > > > {
 	  typedef value_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "IFormFactor" " *," "std::allocator< IFormFactor * >" " >";
@@ -6942,24 +7036,20 @@ SWIGINTERN bool std_vector_Sl_IFormFactor_Sm__Sg____bool__(std::vector< IFormFac
 SWIGINTERN std::vector< IFormFactor * >::size_type std_vector_Sl_IFormFactor_Sm__Sg____len__(std::vector< IFormFactor * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< IFormFactor * >::value_type std_vector_Sl_IFormFactor_Sm__Sg__pop(std::vector< IFormFactor * > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< IFormFactor *,std::allocator< IFormFactor * > > *std_vector_Sl_IFormFactor_Sm__Sg____getslice__(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_0(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::difference_type j,std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &v=std::vector< IFormFactor *,std::allocator< IFormFactor * > >()){
+SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_0(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< IFormFactor*,std::allocator< IFormFactor * > >());
+    }
+SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_1(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::difference_type j,std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____delslice__(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____delitem____SWIG_0(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< IFormFactor *,std::allocator< IFormFactor * > > *std_vector_Sl_IFormFactor_Sm__Sg____getitem____SWIG_0(std::vector< IFormFactor * > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -6968,8 +7058,8 @@ SWIGINTERN std::vector< IFormFactor *,std::allocator< IFormFactor * > > *std_vec
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setitem____SWIG_0(std::vector< IFormFactor * > *self,PySliceObject *slice,std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &v){
@@ -6979,8 +7069,8 @@ SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setitem____SWIG_0(std::vecto
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setitem____SWIG_1(std::vector< IFormFactor * > *self,PySliceObject *slice){
@@ -6990,8 +7080,8 @@ SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setitem____SWIG_1(std::vecto
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____delitem____SWIG_1(std::vector< IFormFactor * > *self,PySliceObject *slice){
@@ -7001,8 +7091,8 @@ SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____delitem____SWIG_1(std::vecto
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
-      std::vector<IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type id = i;
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< IFormFactor * >::value_type std_vector_Sl_IFormFactor_Sm__Sg____getitem____SWIG_1(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i){
@@ -7011,6 +7101,13 @@ SWIGINTERN std::vector< IFormFactor * >::value_type std_vector_Sl_IFormFactor_Sm
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg____setitem____SWIG_2(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::difference_type i,std::vector< IFormFactor * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< IFormFactor * >::value_type std_vector_Sl_IFormFactor_Sm__Sg__pop(std::vector< IFormFactor * > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< IFormFactor*,std::allocator< IFormFactor * > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_IFormFactor_Sm__Sg__append(std::vector< IFormFactor * > *self,std::vector< IFormFactor * >::value_type x){
       self->push_back(x);
     }
@@ -7950,7 +8047,7 @@ std::vector< ISample const *,std::allocator< ISample const * > > SwigDirector_IF
       Swig::DirectorMethodException::raise("Error detected when calling 'IFormFactor.getChildren'");
     }
   }
-  std::vector<ISample const*,std::allocator< ISample const * > > *swig_optr = 0;
+  std::vector< ISample const*,std::allocator< ISample const * > > *swig_optr = 0;
   int swig_ores = swig::asptr(result, &swig_optr);
   if (!SWIG_IsOK(swig_ores) || !swig_optr) {
     Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::vector< ISample const *,std::allocator< ISample const * > >""'");
@@ -8417,7 +8514,7 @@ std::vector< ISample const *,std::allocator< ISample const * > > SwigDirector_IF
       Swig::DirectorMethodException::raise("Error detected when calling 'IFormFactorBorn.getChildren'");
     }
   }
-  std::vector<ISample const*,std::allocator< ISample const * > > *swig_optr = 0;
+  std::vector< ISample const*,std::allocator< ISample const * > > *swig_optr = 0;
   int swig_ores = swig::asptr(result, &swig_optr);
   if (!SWIG_IsOK(swig_ores) || !swig_optr) {
     Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::vector< ISample const *,std::allocator< ISample const * > >""'");
@@ -8755,14 +8852,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -8874,14 +8971,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -9425,14 +9522,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -9579,35 +9676,56 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vdouble1d_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector< double >::difference_type arg2 ;
+  std::vector< double >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::value_type result;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  std::vector< double,std::allocator< double > > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_pop",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_pop" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___getslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vdouble1d_t___getslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< double >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___getslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< double >::difference_type >(val3);
   try {
-    result = (std::vector< double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+    result = (std::vector< double,std::allocator< double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
-  resultobj = SWIG_From_double(static_cast< double >(result));
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
   std::vector< double >::difference_type arg2 ;
@@ -9621,26 +9739,25 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___getslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< double,std::allocator< double > > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___getslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vdouble1d_t___getslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vdouble1d_t___setslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
   } 
   arg2 = static_cast< std::vector< double >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___getslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< double >::difference_type >(val3);
   try {
-    result = (std::vector< double,std::allocator< double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
+    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9649,14 +9766,14 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___getslice__(PyObject *SWIGUNUSEDPARM(sel
     SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
   std::vector< double >::difference_type arg2 ;
@@ -9691,7 +9808,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   } 
   arg3 = static_cast< std::vector< double >::difference_type >(val3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble1d_t___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -9702,7 +9819,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
+    std_vector_Sl_double_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9720,69 +9837,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
-  std::vector< double >::difference_type arg3 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vdouble1d_t___setslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< double >::difference_type >(val3);
-  try {
-    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9795,14 +9864,14 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vdouble1d_t___setslice____SWIG_1(self, args);
+          return _wrap_vdouble1d_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9815,10 +9884,10 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<double,std::allocator< double > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< double,std::allocator< double > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vdouble1d_t___setslice____SWIG_0(self, args);
+            return _wrap_vdouble1d_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -9828,8 +9897,8 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vdouble1d_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type,std::vector< double,std::allocator< double > > const &)\n"
-    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type)\n");
+    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type)\n"
+    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type,std::vector< double,std::allocator< double > > const &)\n");
   return 0;
 }
 
@@ -9910,6 +9979,9 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -9982,7 +10054,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem____SWIG_0(PyObject *SWIGUNUSEDP
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble1d_t___setitem__" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -10088,20 +10160,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10114,7 +10186,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10174,20 +10246,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10200,7 +10272,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___getitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10270,20 +10342,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10296,14 +10368,14 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble1d_t___setitem____SWIG_0(self, args);
@@ -10313,7 +10385,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10342,6 +10414,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble1d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< double >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_pop" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  try {
+    result = (std::vector< double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_double(static_cast< double >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vdouble1d_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -10396,7 +10496,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble1d_t__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vdouble1d_t",&obj0)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vdouble1d_t" "', argument " "1"" of type '" "std::vector< double > const &""'"); 
@@ -10460,27 +10560,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_clear" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble1d_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -10514,28 +10593,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< double > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_get_allocator" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< double >::allocator_type(static_cast< const std::vector< double >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_double_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble1d_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -10628,6 +10685,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble1d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_clear" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vdouble1d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< double > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_get_allocator" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  result = ((std::vector< double > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< double >::allocator_type(static_cast< const std::vector< double >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_double_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vdouble1d_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double >::size_type arg1 ;
@@ -10793,20 +10893,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -10819,7 +10919,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -10879,14 +10979,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vdouble1d_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -10905,7 +11005,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble1d_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vdouble1d_t__SWIG_1(self, args);
@@ -11098,20 +11198,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11125,7 +11225,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11259,20 +11359,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -11291,7 +11391,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -11494,34 +11594,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::vector< double > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_pop" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  try {
-    result = std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -11576,20 +11648,17 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
   std::vector< std::vector< double > >::difference_type arg2 ;
   std::vector< std::vector< double > >::difference_type arg3 ;
-  std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
@@ -11605,19 +11674,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble2d_t___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::difference_type >(val3);
-  {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)*arg4);
+    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11627,10 +11685,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -11640,17 +11696,20 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
   std::vector< std::vector< double > >::difference_type arg2 ;
   std::vector< std::vector< double > >::difference_type arg3 ;
+  std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
@@ -11666,8 +11725,19 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble2d_t___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::difference_type >(val3);
+  {
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11677,27 +11747,29 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11710,14 +11782,14 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vdouble2d_t___setslice____SWIG_1(self, args);
+          return _wrap_vdouble2d_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11730,10 +11802,10 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vdouble2d_t___setslice____SWIG_0(self, args);
+            return _wrap_vdouble2d_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -11743,8 +11815,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vdouble2d_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)\n"
-    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type)\n");
+    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type)\n"
+    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)\n");
   return 0;
 }
 
@@ -11825,6 +11897,9 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11897,7 +11972,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem____SWIG_0(PyObject *SWIGUNUSEDP
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
@@ -12003,20 +12078,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12029,7 +12104,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12081,7 +12156,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem____SWIG_1(PyObject *SWIGUNUSEDP
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -12089,20 +12164,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12115,7 +12190,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12163,7 +12238,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem____SWIG_2(PyObject *SWIGUNUSEDP
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::difference_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -12190,20 +12265,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12216,14 +12291,14 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t___setitem____SWIG_0(self, args);
@@ -12233,7 +12308,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12241,7 +12316,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t___setitem____SWIG_2(self, args);
@@ -12260,6 +12335,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble2d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::vector< double > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_pop" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  try {
+    result = std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vdouble2d_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -12277,7 +12380,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_append(PyObject *SWIGUNUSEDPARM(self), Py
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vdouble2d_t_append" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -12319,7 +12422,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vdouble2d_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vdouble2d_t" "', argument " "1"" of type '" "std::vector< std::vector< double,std::allocator< double > > > const &""'"); 
@@ -12383,27 +12486,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_clear" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -12437,28 +12519,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::vector< double,std::allocator< double > > > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::vector< double > > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  result = ((std::vector< std::vector< double > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::vector< double > >::allocator_type(static_cast< const std::vector< std::vector< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -12551,6 +12611,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble2d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_clear" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vdouble2d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< std::vector< double,std::allocator< double > > > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::vector< double > > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  result = ((std::vector< std::vector< double > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::vector< double > >::allocator_type(static_cast< const std::vector< std::vector< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > >::size_type arg1 ;
@@ -12716,20 +12819,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12742,7 +12845,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12786,7 +12889,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_3(PyObject *SWIGUNUSEDPARM(self
   } 
   arg1 = static_cast< std::vector< std::vector< double > >::size_type >(val1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vdouble2d_t" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -12807,14 +12910,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -12833,7 +12936,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vdouble2d_t__SWIG_1(self, args);
@@ -12846,7 +12949,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
       _v = SWIG_CheckState(res);
     }
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_vdouble2d_t__SWIG_3(self, args);
@@ -12882,7 +12985,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_push_back(PyObject *SWIGUNUSEDPARM(self),
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vdouble2d_t_push_back" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -12917,7 +13020,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_front(PyObject *SWIGUNUSEDPARM(self), PyO
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   result = (std::vector< std::vector< double > >::value_type *) &((std::vector< std::vector< double > > const *)arg1)->front();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -12939,7 +13042,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_back(PyObject *SWIGUNUSEDPARM(self), PyOb
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   result = (std::vector< std::vector< double > >::value_type *) &((std::vector< std::vector< double > > const *)arg1)->back();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -12972,7 +13075,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_assign(PyObject *SWIGUNUSEDPARM(self), Py
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::size_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_assign" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -13018,7 +13121,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::size_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_resize" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -13039,20 +13142,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13066,7 +13169,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13074,7 +13177,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t_resize__SWIG_1(self, args);
@@ -13125,7 +13228,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(s
     }
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_insert" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -13187,7 +13290,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::size_type >(val3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t_insert" "', argument " "4"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -13208,27 +13311,27 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
       int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
       _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< std::vector< double > >::iterator > *>(iter) != 0));
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t_insert__SWIG_0(self, args);
@@ -13238,7 +13341,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -13250,7 +13353,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<double,std::allocator< double > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< double,std::allocator< double > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_vdouble2d_t_insert__SWIG_1(self, args);
@@ -13439,34 +13542,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_integer_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< int >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_pop" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  try {
-    result = (std::vector< int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_int(static_cast< int >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_integer_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -13521,20 +13596,17 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
   std::vector< int >::difference_type arg2 ;
   std::vector< int >::difference_type arg3 ;
-  std::vector< int,std::allocator< int > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
@@ -13550,19 +13622,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_integer_t___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< int >::difference_type >(val3);
-  {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);
+    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -13572,10 +13633,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -13585,17 +13644,20 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
   std::vector< int >::difference_type arg2 ;
   std::vector< int >::difference_type arg3 ;
+  std::vector< int,std::allocator< int > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
@@ -13611,8 +13673,19 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_integer_t___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< int >::difference_type >(val3);
+  {
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_int_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -13622,27 +13695,29 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13655,14 +13730,14 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_integer_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_integer_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13675,10 +13750,10 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<int,std::allocator< int > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< int,std::allocator< int > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_integer_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_integer_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -13688,8 +13763,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_integer_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type,std::vector< int,std::allocator< int > > const &)\n"
-    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type)\n");
+    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type)\n"
+    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type,std::vector< int,std::allocator< int > > const &)\n");
   return 0;
 }
 
@@ -13770,6 +13845,9 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13842,7 +13920,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_integer_t___setitem__" "', argument " "3"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
@@ -13948,20 +14026,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13974,7 +14052,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14034,20 +14112,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14060,7 +14138,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14130,20 +14208,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14156,14 +14234,14 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<int,std::allocator< int > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< int,std::allocator< int > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_integer_t___setitem____SWIG_0(self, args);
@@ -14173,7 +14251,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14202,6 +14280,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_integer_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< int >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_pop" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  try {
+    result = (std::vector< int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_int(static_cast< int >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_integer_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -14256,7 +14362,7 @@ SWIGINTERN PyObject *_wrap_new_vector_integer_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_integer_t",&obj0)) SWIG_fail;
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_integer_t" "', argument " "1"" of type '" "std::vector< int > const &""'"); 
@@ -14320,27 +14426,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_integer_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_clear" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_integer_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -14374,28 +14459,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_integer_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< int > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_get_allocator" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< int >::allocator_type(static_cast< const std::vector< int >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_int_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_integer_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -14488,6 +14551,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_integer_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_clear" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_integer_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< int > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_get_allocator" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  result = ((std::vector< int > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< int >::allocator_type(static_cast< const std::vector< int >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_int_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_integer_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int >::size_type arg1 ;
@@ -14653,20 +14759,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14679,7 +14785,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14739,14 +14845,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_integer_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -14765,7 +14871,7 @@ SWIGINTERN PyObject *_wrap_new_vector_integer_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_integer_t__SWIG_1(self, args);
@@ -14958,20 +15064,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14985,7 +15091,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15119,20 +15225,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -15151,7 +15257,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -15354,34 +15460,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< unsigned long >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_pop" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  try {
-    result = (std::vector< unsigned long >::value_type)std_vector_Sl_unsigned_SS_long_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -15436,20 +15514,17 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
   std::vector< unsigned long >::difference_type arg2 ;
   std::vector< unsigned long >::difference_type arg3 ;
-  std::vector< unsigned long,std::allocator< unsigned long > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t___setslice__" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
@@ -15465,19 +15540,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_longinteger_t___setslice__" "', argument " "3"" of type '" "std::vector< unsigned long >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< unsigned long >::difference_type >(val3);
-  {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg4);
+    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -15487,10 +15551,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -15500,17 +15562,20 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
   std::vector< unsigned long >::difference_type arg2 ;
   std::vector< unsigned long >::difference_type arg3 ;
+  std::vector< unsigned long,std::allocator< unsigned long > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t___setslice__" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
@@ -15526,8 +15591,19 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_longinteger_t___setslice__" "', argument " "3"" of type '" "std::vector< unsigned long >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< unsigned long >::difference_type >(val3);
+  {
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -15537,27 +15613,29 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15570,14 +15648,14 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_longinteger_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_longinteger_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15590,10 +15668,10 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_longinteger_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_longinteger_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -15603,8 +15681,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_longinteger_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n"
-    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type)\n");
+    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type)\n"
+    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n");
   return 0;
 }
 
@@ -15685,6 +15763,9 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem____SWIG_0(PyObject *SW
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15757,7 +15838,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem____SWIG_0(PyObject *SW
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_longinteger_t___setitem__" "', argument " "3"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
@@ -15863,20 +15944,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15889,7 +15970,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem__(PyObject *self, PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15949,20 +16030,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15975,7 +16056,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___getitem__(PyObject *self, PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16045,20 +16126,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16071,14 +16152,14 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_longinteger_t___setitem____SWIG_0(self, args);
@@ -16088,7 +16169,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16117,6 +16198,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< unsigned long >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_pop" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  try {
+    result = (std::vector< unsigned long >::value_type)std_vector_Sl_unsigned_SS_long_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -16171,7 +16280,7 @@ SWIGINTERN PyObject *_wrap_new_vector_longinteger_t__SWIG_1(PyObject *SWIGUNUSED
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_longinteger_t",&obj0)) SWIG_fail;
   {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_longinteger_t" "', argument " "1"" of type '" "std::vector< unsigned long > const &""'"); 
@@ -16235,27 +16344,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_clear" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -16289,28 +16377,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< unsigned long > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_get_allocator" "', argument " "1"" of type '" "std::vector< unsigned long > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  result = ((std::vector< unsigned long > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< unsigned long >::allocator_type(static_cast< const std::vector< unsigned long >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_unsigned_long_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -16403,6 +16469,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_clear" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< unsigned long > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_get_allocator" "', argument " "1"" of type '" "std::vector< unsigned long > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  result = ((std::vector< unsigned long > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< unsigned long >::allocator_type(static_cast< const std::vector< unsigned long >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_unsigned_long_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_longinteger_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long >::size_type arg1 ;
@@ -16568,20 +16677,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -16594,7 +16703,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_erase(PyObject *self, PyObject *
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -16654,14 +16763,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_longinteger_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -16680,7 +16789,7 @@ SWIGINTERN PyObject *_wrap_new_vector_longinteger_t(PyObject *self, PyObject *ar
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_longinteger_t__SWIG_1(self, args);
@@ -16873,20 +16982,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16900,7 +17009,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_resize(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17034,20 +17143,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -17066,7 +17175,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_insert(PyObject *self, PyObject
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -17269,34 +17378,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::complex< double > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_pop" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  try {
-    result = std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_std_complex_Sl_double_Sg_(static_cast< std::complex<double> >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_complex_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -17347,70 +17428,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  std::vector< std::complex< double > >::difference_type arg2 ;
-  std::vector< std::complex< double > >::difference_type arg3 ;
-  std::vector< std::complex< double >,std::allocator< std::complex< double > > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t___setslice__" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_complex_t___setslice__" "', argument " "2"" of type '" "std::vector< std::complex< double > >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< std::complex< double > >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_complex_t___setslice__" "', argument " "3"" of type '" "std::vector< std::complex< double > >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< std::complex< double > >::difference_type >(val3);
-  {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   std::vector< std::complex< double > >::difference_type arg2 ;
@@ -17458,21 +17475,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  std::vector< std::complex< double > >::difference_type arg2 ;
+  std::vector< std::complex< double > >::difference_type arg3 ;
+  std::vector< std::complex< double >,std::allocator< std::complex< double > > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t___setslice__" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_complex_t___setslice__" "', argument " "2"" of type '" "std::vector< std::complex< double > >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< std::complex< double > >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_complex_t___setslice__" "', argument " "3"" of type '" "std::vector< std::complex< double > >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< std::complex< double > >::difference_type >(val3);
+  {
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17485,14 +17566,14 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_complex_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_complex_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17505,10 +17586,10 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_complex_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_complex_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -17518,8 +17599,8 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_complex_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)\n"
-    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type)\n");
+    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type)\n"
+    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)\n");
   return 0;
 }
 
@@ -17600,6 +17681,9 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -17672,7 +17756,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_complex_t___setitem__" "', argument " "3"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
@@ -17778,20 +17862,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17804,7 +17888,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17864,20 +17948,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17890,7 +17974,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17960,20 +18044,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17986,14 +18070,14 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_complex_t___setitem____SWIG_0(self, args);
@@ -18003,7 +18087,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -18032,6 +18116,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_complex_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::complex< double > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_pop" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  try {
+    result = std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_std_complex_Sl_double_Sg_(static_cast< std::complex<double> >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_complex_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -18086,7 +18198,7 @@ SWIGINTERN PyObject *_wrap_new_vector_complex_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_complex_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_complex_t" "', argument " "1"" of type '" "std::vector< std::complex< double > > const &""'"); 
@@ -18150,27 +18262,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_clear" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_complex_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -18204,28 +18295,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::complex< double > > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::complex< double > > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = ((std::vector< std::complex< double > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::complex< double > >::allocator_type(static_cast< const std::vector< std::complex< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_complex_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -18318,6 +18387,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_complex_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_clear" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_complex_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< std::complex< double > > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::complex< double > > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  result = ((std::vector< std::complex< double > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::complex< double > >::allocator_type(static_cast< const std::vector< std::complex< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_complex_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > >::size_type arg1 ;
@@ -18483,20 +18595,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -18509,7 +18621,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -18569,14 +18681,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_complex_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -18595,7 +18707,7 @@ SWIGINTERN PyObject *_wrap_new_vector_complex_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_complex_t__SWIG_1(self, args);
@@ -18788,20 +18900,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -18815,7 +18927,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -18949,20 +19061,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -18981,7 +19093,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -19184,34 +19296,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::string >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_pop" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  try {
-    result = std_vector_Sl_std_string_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -19262,70 +19346,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  std::vector< std::string >::difference_type arg2 ;
-  std::vector< std::string >::difference_type arg3 ;
-  std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_string_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t___setslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_string_t___setslice__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< std::string >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_string_t___setslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< std::string >::difference_type >(val3);
-  {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_std_string_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::string,std::allocator< std::string > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
   std::vector< std::string >::difference_type arg2 ;
@@ -19373,21 +19393,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  std::vector< std::string >::difference_type arg2 ;
+  std::vector< std::string >::difference_type arg3 ;
+  std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_string_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t___setslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_string_t___setslice__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< std::string >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_string_t___setslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< std::string >::difference_type >(val3);
+  {
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_std_string_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::string,std::allocator< std::string > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19400,14 +19484,14 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_string_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_string_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19420,10 +19504,10 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::string,std::allocator< std::string > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::string,std::allocator< std::string > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_string_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_string_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -19433,8 +19517,8 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_string_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type,std::vector< std::string,std::allocator< std::string > > const &)\n"
-    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type)\n");
+    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type)\n"
+    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type,std::vector< std::string,std::allocator< std::string > > const &)\n");
   return 0;
 }
 
@@ -19515,6 +19599,9 @@ SWIGINTERN PyObject *_wrap_vector_string_t___delitem____SWIG_0(PyObject *SWIGUNU
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -19587,7 +19674,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem____SWIG_0(PyObject *SWIGUNU
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_string_t___setitem__" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
@@ -19693,20 +19780,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19719,7 +19806,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19779,20 +19866,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19805,7 +19892,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19880,20 +19967,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19906,14 +19993,14 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::string,std::allocator< std::string > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::string,std::allocator< std::string > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_string_t___setitem____SWIG_0(self, args);
@@ -19923,7 +20010,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -19950,6 +20037,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_string_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::string >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_pop" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  try {
+    result = std_vector_Sl_std_string_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_string_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -20009,7 +20124,7 @@ SWIGINTERN PyObject *_wrap_new_vector_string_t__SWIG_1(PyObject *SWIGUNUSEDPARM(
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_string_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_string_t" "', argument " "1"" of type '" "std::vector< std::string > const &""'"); 
@@ -20073,27 +20188,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_clear" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -20127,28 +20221,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::string > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::string > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  result = ((std::vector< std::string > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::string >::allocator_type(static_cast< const std::vector< std::string >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__string_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -20241,6 +20313,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_string_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_clear" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_string_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< std::string > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::string > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  result = ((std::vector< std::string > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::string >::allocator_type(static_cast< const std::vector< std::string >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__string_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_string_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string >::size_type arg1 ;
@@ -20406,20 +20521,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -20432,7 +20547,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_erase(PyObject *self, PyObject *args)
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -20497,14 +20612,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_string_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20523,7 +20638,7 @@ SWIGINTERN PyObject *_wrap_new_vector_string_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_string_t__SWIG_1(self, args);
@@ -20729,20 +20844,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -20756,7 +20871,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_resize(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -20898,20 +21013,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -20928,7 +21043,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_insert(PyObject *self, PyObject *args
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -21373,14 +21488,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_INamed(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21582,14 +21697,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_IParameterized(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -22026,14 +22141,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_kvector_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -22902,34 +23017,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_kvector_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< BasicVector3D< double > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_pop" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
-  try {
-    result = std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< double > >::value_type(static_cast< const std::vector< BasicVector3D< double > >::value_type& >(result))), SWIGTYPE_p_BasicVector3DT_double_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_kvector_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
@@ -22980,70 +23067,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
-  std::vector< BasicVector3D< double > >::difference_type arg2 ;
-  std::vector< BasicVector3D< double > >::difference_type arg3 ;
-  std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_kvector_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t___setslice__" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_kvector_t___setslice__" "', argument " "2"" of type '" "std::vector< BasicVector3D< double > >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< BasicVector3D< double > >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_kvector_t___setslice__" "', argument " "3"" of type '" "std::vector< BasicVector3D< double > >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< BasicVector3D< double > >::difference_type >(val3);
-  {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_kvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_kvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
   std::vector< BasicVector3D< double > >::difference_type arg2 ;
@@ -23091,21 +23114,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
+  std::vector< BasicVector3D< double > >::difference_type arg2 ;
+  std::vector< BasicVector3D< double > >::difference_type arg3 ;
+  std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_kvector_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t___setslice__" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_kvector_t___setslice__" "', argument " "2"" of type '" "std::vector< BasicVector3D< double > >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< BasicVector3D< double > >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_kvector_t___setslice__" "', argument " "3"" of type '" "std::vector< BasicVector3D< double > >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< BasicVector3D< double > >::difference_type >(val3);
+  {
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_kvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_kvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23118,14 +23205,14 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_kvector_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_kvector_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23138,10 +23225,10 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_kvector_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_kvector_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -23151,8 +23238,8 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_kvector_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< BasicVector3D< double > >::__setslice__(std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &)\n"
-    "    std::vector< BasicVector3D< double > >::__setslice__(std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double > >::difference_type)\n");
+    "    std::vector< BasicVector3D< double > >::__setslice__(std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double > >::difference_type)\n"
+    "    std::vector< BasicVector3D< double > >::__setslice__(std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double > >::difference_type,std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &)\n");
   return 0;
 }
 
@@ -23233,6 +23320,9 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -23305,7 +23395,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_kvector_t___setitem__" "', argument " "3"" of type '" "std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > const &""'"); 
@@ -23411,20 +23501,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23437,7 +23527,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23497,20 +23587,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23523,7 +23613,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23594,20 +23684,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23620,14 +23710,14 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_kvector_t___setitem____SWIG_0(self, args);
@@ -23637,7 +23727,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -23664,6 +23754,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_kvector_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< BasicVector3D< double > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_pop" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
+  try {
+    result = std_vector_Sl_BasicVector3D_Sl_double_Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< double > >::value_type(static_cast< const std::vector< BasicVector3D< double > >::value_type& >(result))), SWIGTYPE_p_BasicVector3DT_double_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_kvector_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
@@ -23719,7 +23837,7 @@ SWIGINTERN PyObject *_wrap_new_vector_kvector_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_kvector_t",&obj0)) SWIG_fail;
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_kvector_t" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > const &""'"); 
@@ -23783,27 +23901,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_kvector_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_clear" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_kvector_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
@@ -23837,28 +23934,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_kvector_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< BasicVector3D< double > > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_get_allocator" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
-  result = ((std::vector< BasicVector3D< double > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< double > >::allocator_type(static_cast< const std::vector< BasicVector3D< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_kvector_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
@@ -23951,6 +24026,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_kvector_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_clear" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_kvector_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< double > > *arg1 = (std::vector< BasicVector3D< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< BasicVector3D< double > > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_kvector_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_kvector_t_get_allocator" "', argument " "1"" of type '" "std::vector< BasicVector3D< double > > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< double > > * >(argp1);
+  result = ((std::vector< BasicVector3D< double > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< double > >::allocator_type(static_cast< const std::vector< BasicVector3D< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_kvector_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< double > >::size_type arg1 ;
@@ -24116,20 +24234,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -24142,7 +24260,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -24203,14 +24321,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_kvector_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -24229,7 +24347,7 @@ SWIGINTERN PyObject *_wrap_new_vector_kvector_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_kvector_t__SWIG_1(self, args);
@@ -24423,20 +24541,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -24450,7 +24568,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -24584,20 +24702,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_kvector_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -24614,7 +24732,7 @@ SWIGINTERN PyObject *_wrap_vector_kvector_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -24779,14 +24897,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_cvector_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -25415,34 +25533,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_cvector_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< BasicVector3D< std::complex< double > > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_pop" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
-  try {
-    result = std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< std::complex< double > > >::value_type(static_cast< const std::vector< BasicVector3D< std::complex< double > > >::value_type& >(result))), SWIGTYPE_p_BasicVector3DT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_cvector_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
@@ -25493,70 +25583,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
-  std::vector< BasicVector3D< std::complex< double > > >::difference_type arg2 ;
-  std::vector< BasicVector3D< std::complex< double > > >::difference_type arg3 ;
-  std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_cvector_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t___setslice__" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_cvector_t___setslice__" "', argument " "2"" of type '" "std::vector< BasicVector3D< std::complex< double > > >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< BasicVector3D< std::complex< double > > >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_cvector_t___setslice__" "', argument " "3"" of type '" "std::vector< BasicVector3D< std::complex< double > > >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< BasicVector3D< std::complex< double > > >::difference_type >(val3);
-  {
-    std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_cvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_cvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
   std::vector< BasicVector3D< std::complex< double > > >::difference_type arg2 ;
@@ -25604,21 +25630,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
+  std::vector< BasicVector3D< std::complex< double > > >::difference_type arg2 ;
+  std::vector< BasicVector3D< std::complex< double > > >::difference_type arg3 ;
+  std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_cvector_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t___setslice__" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vector_cvector_t___setslice__" "', argument " "2"" of type '" "std::vector< BasicVector3D< std::complex< double > > >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< BasicVector3D< std::complex< double > > >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_cvector_t___setslice__" "', argument " "3"" of type '" "std::vector< BasicVector3D< std::complex< double > > >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< BasicVector3D< std::complex< double > > >::difference_type >(val3);
+  {
+    std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_cvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_cvector_t___setslice__" "', argument " "4"" of type '" "std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -25631,14 +25721,14 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_cvector_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_cvector_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -25651,10 +25741,10 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_cvector_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_cvector_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -25664,8 +25754,8 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_cvector_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< BasicVector3D< std::complex< double > > >::__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &)\n"
-    "    std::vector< BasicVector3D< std::complex< double > > >::__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > > >::difference_type)\n");
+    "    std::vector< BasicVector3D< std::complex< double > > >::__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > > >::difference_type)\n"
+    "    std::vector< BasicVector3D< std::complex< double > > >::__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > > >::difference_type,std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &)\n");
   return 0;
 }
 
@@ -25746,6 +25836,9 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -25818,7 +25911,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
+    std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_cvector_t___setitem__" "', argument " "3"" of type '" "std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > const &""'"); 
@@ -25924,20 +26017,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -25950,7 +26043,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26010,20 +26103,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26036,7 +26129,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26107,20 +26200,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26133,14 +26226,14 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_cvector_t___setitem____SWIG_0(self, args);
@@ -26150,7 +26243,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26177,6 +26270,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_cvector_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< BasicVector3D< std::complex< double > > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_pop" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
+  try {
+    result = std_vector_Sl_BasicVector3D_Sl_std_complex_Sl_double_Sg__Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< std::complex< double > > >::value_type(static_cast< const std::vector< BasicVector3D< std::complex< double > > >::value_type& >(result))), SWIGTYPE_p_BasicVector3DT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_cvector_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
@@ -26232,7 +26353,7 @@ SWIGINTERN PyObject *_wrap_new_vector_cvector_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_cvector_t",&obj0)) SWIG_fail;
   {
-    std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
+    std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *ptr = (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_cvector_t" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > const &""'"); 
@@ -26296,27 +26417,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_cvector_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_clear" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_cvector_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
@@ -26350,28 +26450,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_cvector_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< BasicVector3D< std::complex< double > > > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_get_allocator" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
-  result = ((std::vector< BasicVector3D< std::complex< double > > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< std::complex< double > > >::allocator_type(static_cast< const std::vector< BasicVector3D< std::complex< double > > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_cvector_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
@@ -26464,6 +26542,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_cvector_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_clear" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_cvector_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< BasicVector3D< std::complex< double > > > *arg1 = (std::vector< BasicVector3D< std::complex< double > > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< BasicVector3D< std::complex< double > > > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_cvector_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_cvector_t_get_allocator" "', argument " "1"" of type '" "std::vector< BasicVector3D< std::complex< double > > > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< BasicVector3D< std::complex< double > > > * >(argp1);
+  result = ((std::vector< BasicVector3D< std::complex< double > > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< BasicVector3D< std::complex< double > > >::allocator_type(static_cast< const std::vector< BasicVector3D< std::complex< double > > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_cvector_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< BasicVector3D< std::complex< double > > >::size_type arg1 ;
@@ -26629,20 +26750,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -26655,7 +26776,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -26716,14 +26837,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_cvector_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -26742,7 +26863,7 @@ SWIGINTERN PyObject *_wrap_new_vector_cvector_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_cvector_t__SWIG_1(self, args);
@@ -26936,20 +27057,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -26963,7 +27084,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -27097,20 +27218,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_cvector_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -27127,7 +27248,7 @@ SWIGINTERN PyObject *_wrap_vector_cvector_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< std::complex< double > >,std::allocator< BasicVector3D< std::complex< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -27676,14 +27797,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_WavevectorInfo(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -27892,14 +28013,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Beam(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -28223,14 +28344,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Bin1D(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -28546,14 +28667,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Bin1DKVector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -28884,14 +29005,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Bin1DCVector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -29476,7 +29597,7 @@ SWIGINTERN PyObject *_wrap_IAxis_getBinCenters(PyObject *SWIGUNUSEDPARM(self), P
   }
   arg1 = reinterpret_cast< IAxis * >(argp1);
   result = ((IAxis const *)arg1)->getBinCenters();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -29498,7 +29619,7 @@ SWIGINTERN PyObject *_wrap_IAxis_getBinBoundaries(PyObject *SWIGUNUSEDPARM(self)
   }
   arg1 = reinterpret_cast< IAxis * >(argp1);
   result = ((IAxis const *)arg1)->getBinBoundaries();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -29652,7 +29773,7 @@ SWIGINTERN PyObject *_wrap_new_VariableBinAxis(PyObject *SWIGUNUSEDPARM(self), P
   } 
   arg2 = static_cast< size_t >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_VariableBinAxis" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -29891,7 +30012,7 @@ SWIGINTERN PyObject *_wrap_VariableBinAxis_getBinCenters(PyObject *SWIGUNUSEDPAR
   }
   arg1 = reinterpret_cast< VariableBinAxis * >(argp1);
   result = ((VariableBinAxis const *)arg1)->getBinCenters();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -29913,7 +30034,7 @@ SWIGINTERN PyObject *_wrap_VariableBinAxis_getBinBoundaries(PyObject *SWIGUNUSED
   }
   arg1 = reinterpret_cast< VariableBinAxis * >(argp1);
   result = ((VariableBinAxis const *)arg1)->getBinBoundaries();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -30289,7 +30410,7 @@ SWIGINTERN PyObject *_wrap_CustomBinAxis_getBinCenters(PyObject *SWIGUNUSEDPARM(
   }
   arg1 = reinterpret_cast< CustomBinAxis * >(argp1);
   result = ((CustomBinAxis const *)arg1)->getBinCenters();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -30452,14 +30573,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IShape2D_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -30745,14 +30866,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ISample_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -31210,34 +31331,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< ISample * >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_pop" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
-  try {
-    result = (std::vector< ISample * >::value_type)std_vector_Sl_ISample_Sm__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ISample, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
@@ -31288,70 +31381,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
-  std::vector< ISample * >::difference_type arg2 ;
-  std::vector< ISample * >::difference_type arg3 ;
-  std::vector< ISample *,std::allocator< ISample * > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:swig_dummy_type_isample_vector___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "2"" of type '" "std::vector< ISample * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< ISample * >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "3"" of type '" "std::vector< ISample * >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< ISample * >::difference_type >(val3);
-  {
-    std::vector<ISample*,std::allocator< ISample * > > *ptr = (std::vector<ISample*,std::allocator< ISample * > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample *,std::allocator< ISample * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample *,std::allocator< ISample * > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_ISample_Sm__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< ISample *,std::allocator< ISample * > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
   std::vector< ISample * >::difference_type arg2 ;
@@ -31399,21 +31428,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
+  std::vector< ISample * >::difference_type arg2 ;
+  std::vector< ISample * >::difference_type arg3 ;
+  std::vector< ISample *,std::allocator< ISample * > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:swig_dummy_type_isample_vector___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "2"" of type '" "std::vector< ISample * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< ISample * >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "3"" of type '" "std::vector< ISample * >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< ISample * >::difference_type >(val3);
+  {
+    std::vector< ISample*,std::allocator< ISample * > > *ptr = (std::vector< ISample*,std::allocator< ISample * > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample *,std::allocator< ISample * > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "swig_dummy_type_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample *,std::allocator< ISample * > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_ISample_Sm__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< ISample *,std::allocator< ISample * > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31426,14 +31519,14 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice__(PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_swig_dummy_type_isample_vector___setslice____SWIG_1(self, args);
+          return _wrap_swig_dummy_type_isample_vector___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31446,10 +31539,10 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice__(PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_swig_dummy_type_isample_vector___setslice____SWIG_0(self, args);
+            return _wrap_swig_dummy_type_isample_vector___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -31459,8 +31552,8 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setslice__(PyObject
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'swig_dummy_type_isample_vector___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< ISample * >::__setslice__(std::vector< ISample * >::difference_type,std::vector< ISample * >::difference_type,std::vector< ISample *,std::allocator< ISample * > > const &)\n"
-    "    std::vector< ISample * >::__setslice__(std::vector< ISample * >::difference_type,std::vector< ISample * >::difference_type)\n");
+    "    std::vector< ISample * >::__setslice__(std::vector< ISample * >::difference_type,std::vector< ISample * >::difference_type)\n"
+    "    std::vector< ISample * >::__setslice__(std::vector< ISample * >::difference_type,std::vector< ISample * >::difference_type,std::vector< ISample *,std::allocator< ISample * > > const &)\n");
   return 0;
 }
 
@@ -31541,6 +31634,9 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___delitem____SWIG_0(Py
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -31613,7 +31709,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setitem____SWIG_0(Py
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<ISample*,std::allocator< ISample * > > *ptr = (std::vector<ISample*,std::allocator< ISample * > > *)0;
+    std::vector< ISample*,std::allocator< ISample * > > *ptr = (std::vector< ISample*,std::allocator< ISample * > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "swig_dummy_type_isample_vector___setitem__" "', argument " "3"" of type '" "std::vector< ISample *,std::allocator< ISample * > > const &""'"); 
@@ -31719,20 +31815,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31745,7 +31841,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___delitem__(PyObject *
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31805,20 +31901,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31831,7 +31927,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___getitem__(PyObject *
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31899,20 +31995,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31925,14 +32021,14 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setitem__(PyObject *
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_swig_dummy_type_isample_vector___setitem____SWIG_0(self, args);
@@ -31942,7 +32038,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector___setitem__(PyObject *
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -31970,6 +32066,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< ISample * >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_pop" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
+  try {
+    result = (std::vector< ISample * >::value_type)std_vector_Sl_ISample_Sm__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ISample, 0 |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
@@ -32022,7 +32146,7 @@ SWIGINTERN PyObject *_wrap_new_swig_dummy_type_isample_vector__SWIG_1(PyObject *
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_swig_dummy_type_isample_vector",&obj0)) SWIG_fail;
   {
-    std::vector<ISample*,std::allocator< ISample * > > *ptr = (std::vector<ISample*,std::allocator< ISample * > > *)0;
+    std::vector< ISample*,std::allocator< ISample * > > *ptr = (std::vector< ISample*,std::allocator< ISample * > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_swig_dummy_type_isample_vector" "', argument " "1"" of type '" "std::vector< ISample * > const &""'"); 
@@ -32086,27 +32210,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_clear" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
@@ -32140,28 +32243,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< ISample * > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_get_allocator" "', argument " "1"" of type '" "std::vector< ISample * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
-  result = ((std::vector< ISample * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< ISample * >::allocator_type(static_cast< const std::vector< ISample * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_ISample_p_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
@@ -32254,6 +32335,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_clear" "', argument " "1"" of type '" "std::vector< ISample * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample * > *arg1 = (std::vector< ISample * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< ISample * > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_isample_vector_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_p_std__allocatorT_ISample_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_isample_vector_get_allocator" "', argument " "1"" of type '" "std::vector< ISample * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample * > * >(argp1);
+  result = ((std::vector< ISample * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< ISample * >::allocator_type(static_cast< const std::vector< ISample * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_ISample_p_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_swig_dummy_type_isample_vector__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample * >::size_type arg1 ;
@@ -32419,20 +32543,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -32445,7 +32569,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_erase(PyObject *self,
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -32503,14 +32627,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_swig_dummy_type_isample_vector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -32529,7 +32653,7 @@ SWIGINTERN PyObject *_wrap_new_swig_dummy_type_isample_vector(PyObject *self, Py
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_swig_dummy_type_isample_vector__SWIG_1(self, args);
@@ -32715,20 +32839,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -32742,7 +32866,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_resize(PyObject *self,
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -32871,20 +32995,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -32902,7 +33026,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_isample_vector_insert(PyObject *self,
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample*,std::allocator< ISample * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample*,std::allocator< ISample * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -33104,34 +33228,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< ISample const * >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_pop" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
-  try {
-    result = (std::vector< ISample const * >::value_type)std_vector_Sl_ISample_SS_const_Sm__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ISample, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
@@ -33182,70 +33278,6 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
-  std::vector< ISample const * >::difference_type arg2 ;
-  std::vector< ISample const * >::difference_type arg3 ;
-  std::vector< ISample const *,std::allocator< ISample const * > > *arg4 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  ptrdiff_t val3 ;
-  int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:swig_dummy_type_const_isample_vector___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "2"" of type '" "std::vector< ISample const * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< ISample const * >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "3"" of type '" "std::vector< ISample const * >::difference_type""'");
-  } 
-  arg3 = static_cast< std::vector< ISample const * >::difference_type >(val3);
-  {
-    std::vector<ISample const*,std::allocator< ISample const * > > *ptr = (std::vector<ISample const*,std::allocator< ISample const * > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample const *,std::allocator< ISample const * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample const *,std::allocator< ISample const * > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
-  try {
-    std_vector_Sl_ISample_SS_const_Sm__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< ISample const *,std::allocator< ISample const * > > const &)*arg4);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
   std::vector< ISample const * >::difference_type arg2 ;
@@ -33293,21 +33325,85 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
+  std::vector< ISample const * >::difference_type arg2 ;
+  std::vector< ISample const * >::difference_type arg3 ;
+  std::vector< ISample const *,std::allocator< ISample const * > > *arg4 = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  ptrdiff_t val3 ;
+  int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:swig_dummy_type_const_isample_vector___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "2"" of type '" "std::vector< ISample const * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector< ISample const * >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "3"" of type '" "std::vector< ISample const * >::difference_type""'");
+  } 
+  arg3 = static_cast< std::vector< ISample const * >::difference_type >(val3);
+  {
+    std::vector< ISample const*,std::allocator< ISample const * > > *ptr = (std::vector< ISample const*,std::allocator< ISample const * > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample const *,std::allocator< ISample const * > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "swig_dummy_type_const_isample_vector___setslice__" "', argument " "4"" of type '" "std::vector< ISample const *,std::allocator< ISample const * > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
+  try {
+    std_vector_Sl_ISample_SS_const_Sm__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< ISample const *,std::allocator< ISample const * > > const &)*arg4);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return resultobj;
+fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33320,14 +33416,14 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice__(PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_1(self, args);
+          return _wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33340,10 +33436,10 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice__(PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_0(self, args);
+            return _wrap_swig_dummy_type_const_isample_vector___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -33353,8 +33449,8 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setslice__(PyO
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'swig_dummy_type_const_isample_vector___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< ISample const * >::__setslice__(std::vector< ISample const * >::difference_type,std::vector< ISample const * >::difference_type,std::vector< ISample const *,std::allocator< ISample const * > > const &)\n"
-    "    std::vector< ISample const * >::__setslice__(std::vector< ISample const * >::difference_type,std::vector< ISample const * >::difference_type)\n");
+    "    std::vector< ISample const * >::__setslice__(std::vector< ISample const * >::difference_type,std::vector< ISample const * >::difference_type)\n"
+    "    std::vector< ISample const * >::__setslice__(std::vector< ISample const * >::difference_type,std::vector< ISample const * >::difference_type,std::vector< ISample const *,std::allocator< ISample const * > > const &)\n");
   return 0;
 }
 
@@ -33435,6 +33531,9 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___delitem____SWI
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -33507,7 +33606,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setitem____SWI
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<ISample const*,std::allocator< ISample const * > > *ptr = (std::vector<ISample const*,std::allocator< ISample const * > > *)0;
+    std::vector< ISample const*,std::allocator< ISample const * > > *ptr = (std::vector< ISample const*,std::allocator< ISample const * > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "swig_dummy_type_const_isample_vector___setitem__" "', argument " "3"" of type '" "std::vector< ISample const *,std::allocator< ISample const * > > const &""'"); 
@@ -33613,20 +33712,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33639,7 +33738,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___delitem__(PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33699,20 +33798,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33725,7 +33824,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___getitem__(PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33793,20 +33892,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33819,14 +33918,14 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setitem__(PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_swig_dummy_type_const_isample_vector___setitem____SWIG_0(self, args);
@@ -33836,7 +33935,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector___setitem__(PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -33864,6 +33963,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< ISample const * >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_pop" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
+  try {
+    result = (std::vector< ISample const * >::value_type)std_vector_Sl_ISample_SS_const_Sm__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ISample, 0 |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
@@ -33916,7 +34043,7 @@ SWIGINTERN PyObject *_wrap_new_swig_dummy_type_const_isample_vector__SWIG_1(PyOb
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_swig_dummy_type_const_isample_vector",&obj0)) SWIG_fail;
   {
-    std::vector<ISample const*,std::allocator< ISample const * > > *ptr = (std::vector<ISample const*,std::allocator< ISample const * > > *)0;
+    std::vector< ISample const*,std::allocator< ISample const * > > *ptr = (std::vector< ISample const*,std::allocator< ISample const * > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_swig_dummy_type_const_isample_vector" "', argument " "1"" of type '" "std::vector< ISample const * > const &""'"); 
@@ -33980,27 +34107,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_clear" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
@@ -34034,28 +34140,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< ISample const * > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_get_allocator" "', argument " "1"" of type '" "std::vector< ISample const * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
-  result = ((std::vector< ISample const * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< ISample const * >::allocator_type(static_cast< const std::vector< ISample const * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_ISample_const_p_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
@@ -34148,6 +34232,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_clear" "', argument " "1"" of type '" "std::vector< ISample const * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< ISample const * > *arg1 = (std::vector< ISample const * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< ISample const * > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:swig_dummy_type_const_isample_vector_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_ISample_const_p_std__allocatorT_ISample_const_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "swig_dummy_type_const_isample_vector_get_allocator" "', argument " "1"" of type '" "std::vector< ISample const * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< ISample const * > * >(argp1);
+  result = ((std::vector< ISample const * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< ISample const * >::allocator_type(static_cast< const std::vector< ISample const * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_ISample_const_p_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_swig_dummy_type_const_isample_vector__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< ISample const * >::size_type arg1 ;
@@ -34313,20 +34440,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -34339,7 +34466,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_erase(PyObject *
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -34397,14 +34524,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_swig_dummy_type_const_isample_vector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -34423,7 +34550,7 @@ SWIGINTERN PyObject *_wrap_new_swig_dummy_type_const_isample_vector(PyObject *se
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_swig_dummy_type_const_isample_vector__SWIG_1(self, args);
@@ -34609,20 +34736,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -34636,7 +34763,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_resize(PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -34765,20 +34892,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -34796,7 +34923,7 @@ SWIGINTERN PyObject *_wrap_swig_dummy_type_const_isample_vector_insert(PyObject
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<ISample const*,std::allocator< ISample const * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< ISample const*,std::allocator< ISample const * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -35037,14 +35164,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IChiSquaredModule_setChiSquaredFunction(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -35130,14 +35257,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IChiSquaredModule_getIntensityNormalizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -36442,14 +36569,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_IntensityNormalizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -36707,14 +36834,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_IntensityScaleAndShiftNormalizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -36993,14 +37120,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ISquaredFunction_calculateSquaredError(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -37225,14 +37352,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SquaredFunctionDefault_calculateSquaredError(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -37848,14 +37975,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_ChiSquaredModule(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -38124,14 +38251,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FitObject(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -38425,14 +38552,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitObject_prepareFitElements(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -38932,14 +39059,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_addSimulationAndRealData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -39289,14 +39416,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_addFitParameter(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -39670,14 +39797,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_setMinimizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -39873,7 +40000,7 @@ SWIGINTERN PyObject *_wrap_FitSuite_setParametersFixed(PyObject *SWIGUNUSEDPARM(
   }
   arg1 = reinterpret_cast< FitSuite * >(argp1);
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitSuite_setParametersFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
@@ -39995,14 +40122,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getRealData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40094,14 +40221,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getSimulationData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40193,14 +40320,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getChiSquaredMap(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40553,14 +40680,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getRealOutputData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40652,14 +40779,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getSimulationOutputData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40751,14 +40878,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuite_getChiSquaredOutputData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -40937,14 +41064,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteObjects_add(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41129,14 +41256,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteObjects_getRealData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41228,14 +41355,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteObjects_getSimulationData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41327,14 +41454,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteObjects_getChiSquaredMap(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41695,14 +41822,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_sinc(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41878,14 +42005,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Bessel_J0(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -41942,14 +42069,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Bessel_J1(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -42006,14 +42133,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Bessel_J1c(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -42082,7 +42209,7 @@ SWIGINTERN PyObject *_wrap_FastFourierTransform__SWIG_0(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"OO:FastFourierTransform",&obj0,&obj1)) SWIG_fail;
   {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastFourierTransform" "', argument " "1"" of type '" "std::vector< complex_t,std::allocator< complex_t > > const &""'"); 
@@ -42098,7 +42225,7 @@ SWIGINTERN PyObject *_wrap_FastFourierTransform__SWIG_0(PyObject *SWIGUNUSEDPARM
   } 
   arg2 = static_cast< MathFunctions::EFFTDirection >(val2);
   result = MathFunctions::FastFourierTransform((std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)*arg1,arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
@@ -42120,7 +42247,7 @@ SWIGINTERN PyObject *_wrap_FastFourierTransform__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"OO:FastFourierTransform",&obj0,&obj1)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastFourierTransform" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -42136,7 +42263,7 @@ SWIGINTERN PyObject *_wrap_FastFourierTransform__SWIG_1(PyObject *SWIGUNUSEDPARM
   } 
   arg2 = static_cast< MathFunctions::EFFTDirection >(val2);
   result = MathFunctions::FastFourierTransform((std::vector< double,std::allocator< double > > const &)*arg1,arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
@@ -42146,20 +42273,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FastFourierTransform(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -42173,7 +42300,7 @@ SWIGINTERN PyObject *_wrap_FastFourierTransform(PyObject *self, PyObject *args)
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -42207,7 +42334,7 @@ SWIGINTERN PyObject *_wrap_ConvolveFFT(PyObject *SWIGUNUSEDPARM(self), PyObject
   
   if (!PyArg_ParseTuple(args,(char *)"OO:ConvolveFFT",&obj0,&obj1)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ConvolveFFT" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -42218,7 +42345,7 @@ SWIGINTERN PyObject *_wrap_ConvolveFFT(PyObject *SWIGUNUSEDPARM(self), PyObject
     arg1 = ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ConvolveFFT" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -42229,7 +42356,7 @@ SWIGINTERN PyObject *_wrap_ConvolveFFT(PyObject *SWIGUNUSEDPARM(self), PyObject
     arg2 = ptr;
   }
   result = MathFunctions::ConvolveFFT((std::vector< double,std::allocator< double > > const &)*arg1,(std::vector< double,std::allocator< double > > const &)*arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   if (SWIG_IsNewObj(res1)) delete arg1;
   if (SWIG_IsNewObj(res2)) delete arg2;
   return resultobj;
@@ -42446,14 +42573,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FitStrategyAdjustMinimizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -42763,14 +42890,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitStrategyAdjustMinimizer_setMinimizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -45575,14 +45702,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ISampleVisitor_visit(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -46970,7 +47097,7 @@ SWIGINTERN PyObject *_wrap_ICompositeSample_getChildren(PyObject *SWIGUNUSEDPARM
   }
   arg1 = reinterpret_cast< ICompositeSample * >(argp1);
   result = ((ICompositeSample const *)arg1)->getChildren();
-  resultobj = swig::from(static_cast< std::vector<ISample const*,std::allocator< ISample const * > > >(result));
+  resultobj = swig::from(static_cast< std::vector< ISample const*,std::allocator< ISample const * > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -47788,14 +47915,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IDistribution1D_generateSamples(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -47944,7 +48071,7 @@ SWIGINTERN PyObject *_wrap_IDistribution1D_generateValueList__SWIG_0(PyObject *S
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((IDistribution1D const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -47984,7 +48111,7 @@ SWIGINTERN PyObject *_wrap_IDistribution1D_generateValueList__SWIG_1(PyObject *S
   } 
   arg3 = static_cast< double >(val3);
   result = ((IDistribution1D const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -47992,14 +48119,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IDistribution1D_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -48101,7 +48228,7 @@ SWIGINTERN PyObject *_wrap_IDistribution1D_generateValues(PyObject *SWIGUNUSEDPA
   } 
   arg4 = static_cast< double >(val4);
   result = ((IDistribution1D const *)arg1)->generateValues(arg2,arg3,arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -48204,14 +48331,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DistributionGate(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -48429,7 +48556,7 @@ SWIGINTERN PyObject *_wrap_DistributionGate_generateValueList__SWIG_0(PyObject *
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((DistributionGate const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -48469,7 +48596,7 @@ SWIGINTERN PyObject *_wrap_DistributionGate_generateValueList__SWIG_1(PyObject *
   } 
   arg3 = static_cast< double >(val3);
   result = ((DistributionGate const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -48477,14 +48604,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DistributionGate_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -48618,14 +48745,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DistributionLorentz(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -48821,7 +48948,7 @@ SWIGINTERN PyObject *_wrap_DistributionLorentz_generateValueList__SWIG_0(PyObjec
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((DistributionLorentz const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -48861,7 +48988,7 @@ SWIGINTERN PyObject *_wrap_DistributionLorentz_generateValueList__SWIG_1(PyObjec
   } 
   arg3 = static_cast< double >(val3);
   result = ((DistributionLorentz const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -48869,14 +48996,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DistributionLorentz_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -49010,14 +49137,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DistributionGaussian(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -49213,7 +49340,7 @@ SWIGINTERN PyObject *_wrap_DistributionGaussian_generateValueList__SWIG_0(PyObje
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((DistributionGaussian const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -49253,7 +49380,7 @@ SWIGINTERN PyObject *_wrap_DistributionGaussian_generateValueList__SWIG_1(PyObje
   } 
   arg3 = static_cast< double >(val3);
   result = ((DistributionGaussian const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -49261,14 +49388,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DistributionGaussian_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -49411,14 +49538,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DistributionLogNormal(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -49643,7 +49770,7 @@ SWIGINTERN PyObject *_wrap_DistributionLogNormal_generateValueList__SWIG_0(PyObj
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((DistributionLogNormal const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -49683,7 +49810,7 @@ SWIGINTERN PyObject *_wrap_DistributionLogNormal_generateValueList__SWIG_1(PyObj
   } 
   arg3 = static_cast< double >(val3);
   result = ((DistributionLogNormal const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -49691,14 +49818,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DistributionLogNormal_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -49832,14 +49959,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DistributionCosine(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -50035,7 +50162,7 @@ SWIGINTERN PyObject *_wrap_DistributionCosine_generateValueList__SWIG_0(PyObject
   }
   arg4 = reinterpret_cast< RealLimits * >(argp4);
   result = ((DistributionCosine const *)arg1)->generateValueList(arg2,arg3,(RealLimits const &)*arg4);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -50075,7 +50202,7 @@ SWIGINTERN PyObject *_wrap_DistributionCosine_generateValueList__SWIG_1(PyObject
   } 
   arg3 = static_cast< double >(val3);
   result = ((DistributionCosine const *)arg1)->generateValueList(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -50083,14 +50210,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DistributionCosine_generateValueList(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -50218,14 +50345,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_DetectorMask(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -50359,14 +50486,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_DetectorMask_initMaskData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -50747,14 +50874,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Ellipse(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -50939,14 +51066,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Ellipse_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -52131,14 +52258,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDecayFunction2DCauchy(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -52430,14 +52557,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDecayFunction2DGauss(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -52756,14 +52883,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDecayFunction2DVoigt(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -54085,14 +54212,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDistribution2DCauchy(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -54384,14 +54511,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDistribution2DGauss(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -54683,14 +54810,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDistribution2DGate(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -54982,14 +55109,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDistribution2DCone(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -55308,14 +55435,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FTDistribution2DVoigt(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -55799,7 +55926,7 @@ SWIGINTERN PyObject *_wrap_FixedBinAxis_getBinCenters(PyObject *SWIGUNUSEDPARM(s
   }
   arg1 = reinterpret_cast< FixedBinAxis * >(argp1);
   result = ((FixedBinAxis const *)arg1)->getBinCenters();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -55821,7 +55948,7 @@ SWIGINTERN PyObject *_wrap_FixedBinAxis_getBinBoundaries(PyObject *SWIGUNUSEDPAR
   }
   arg1 = reinterpret_cast< FixedBinAxis * >(argp1);
   result = ((FixedBinAxis const *)arg1)->getBinBoundaries();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -56457,34 +56584,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< IFormFactor * >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_pop" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
-  try {
-    result = (std::vector< IFormFactor * >::value_type)std_vector_Sl_IFormFactor_Sm__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFormFactor, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
@@ -56539,20 +56638,17 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_0(PyObject
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
   std::vector< IFormFactor * >::difference_type arg2 ;
   std::vector< IFormFactor * >::difference_type arg3 ;
-  std::vector< IFormFactor *,std::allocator< IFormFactor * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_IFormFactorPtr_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_IFormFactorPtr_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
@@ -56568,19 +56664,8 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_0(PyObject
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "3"" of type '" "std::vector< IFormFactor * >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< IFormFactor * >::difference_type >(val3);
-  {
-    std::vector<IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector<IFormFactor*,std::allocator< IFormFactor * > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "4"" of type '" "std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "4"" of type '" "std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &)*arg4);
+    std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -56590,10 +56675,8 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_0(PyObject
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -56603,17 +56686,20 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_1(PyObject
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
   std::vector< IFormFactor * >::difference_type arg2 ;
   std::vector< IFormFactor * >::difference_type arg3 ;
+  std::vector< IFormFactor *,std::allocator< IFormFactor * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_IFormFactorPtr_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_IFormFactorPtr_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
@@ -56629,8 +56715,19 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_1(PyObject
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "3"" of type '" "std::vector< IFormFactor * >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< IFormFactor * >::difference_type >(val3);
+  {
+    std::vector< IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector< IFormFactor*,std::allocator< IFormFactor * > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "4"" of type '" "std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_IFormFactorPtr_t___setslice__" "', argument " "4"" of type '" "std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_IFormFactor_Sm__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -56640,27 +56737,29 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice____SWIG_1(PyObject
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -56673,14 +56772,14 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice__(PyObject *self,
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_IFormFactorPtr_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_IFormFactorPtr_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -56693,10 +56792,10 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice__(PyObject *self,
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_IFormFactorPtr_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_IFormFactorPtr_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -56706,8 +56805,8 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setslice__(PyObject *self,
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_IFormFactorPtr_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< IFormFactor * >::__setslice__(std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &)\n"
-    "    std::vector< IFormFactor * >::__setslice__(std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor * >::difference_type)\n");
+    "    std::vector< IFormFactor * >::__setslice__(std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor * >::difference_type)\n"
+    "    std::vector< IFormFactor * >::__setslice__(std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor * >::difference_type,std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &)\n");
   return 0;
 }
 
@@ -56788,6 +56887,9 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___delitem____SWIG_0(PyObject
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -56860,7 +56962,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setitem____SWIG_0(PyObject
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector<IFormFactor*,std::allocator< IFormFactor * > > *)0;
+    std::vector< IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector< IFormFactor*,std::allocator< IFormFactor * > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_IFormFactorPtr_t___setitem__" "', argument " "3"" of type '" "std::vector< IFormFactor *,std::allocator< IFormFactor * > > const &""'"); 
@@ -56966,20 +57068,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -56992,7 +57094,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___delitem__(PyObject *self, P
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57052,20 +57154,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57078,7 +57180,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___getitem__(PyObject *self, P
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57146,20 +57248,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57172,14 +57274,14 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setitem__(PyObject *self, P
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_IFormFactorPtr_t___setitem____SWIG_0(self, args);
@@ -57189,7 +57291,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t___setitem__(PyObject *self, P
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57217,6 +57319,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< IFormFactor * >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_pop" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
+  try {
+    result = (std::vector< IFormFactor * >::value_type)std_vector_Sl_IFormFactor_Sm__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFormFactor, 0 |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
@@ -57269,7 +57399,7 @@ SWIGINTERN PyObject *_wrap_new_vector_IFormFactorPtr_t__SWIG_1(PyObject *SWIGUNU
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_IFormFactorPtr_t",&obj0)) SWIG_fail;
   {
-    std::vector<IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector<IFormFactor*,std::allocator< IFormFactor * > > *)0;
+    std::vector< IFormFactor*,std::allocator< IFormFactor * > > *ptr = (std::vector< IFormFactor*,std::allocator< IFormFactor * > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_IFormFactorPtr_t" "', argument " "1"" of type '" "std::vector< IFormFactor * > const &""'"); 
@@ -57333,27 +57463,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_clear" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
@@ -57387,28 +57496,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< IFormFactor * > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_get_allocator" "', argument " "1"" of type '" "std::vector< IFormFactor * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
-  result = ((std::vector< IFormFactor * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< IFormFactor * >::allocator_type(static_cast< const std::vector< IFormFactor * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_IFormFactor_p_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
@@ -57501,6 +57588,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_clear" "', argument " "1"" of type '" "std::vector< IFormFactor * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< IFormFactor * > *arg1 = (std::vector< IFormFactor * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< IFormFactor * > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_IFormFactorPtr_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_IFormFactorPtr_t_get_allocator" "', argument " "1"" of type '" "std::vector< IFormFactor * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< IFormFactor * > * >(argp1);
+  result = ((std::vector< IFormFactor * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< IFormFactor * >::allocator_type(static_cast< const std::vector< IFormFactor * >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_IFormFactor_p_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_IFormFactorPtr_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< IFormFactor * >::size_type arg1 ;
@@ -57666,20 +57796,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -57692,7 +57822,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_erase(PyObject *self, PyObjec
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -57750,14 +57880,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_IFormFactorPtr_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -57776,7 +57906,7 @@ SWIGINTERN PyObject *_wrap_new_vector_IFormFactorPtr_t(PyObject *self, PyObject
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_IFormFactorPtr_t__SWIG_1(self, args);
@@ -57962,20 +58092,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -57989,7 +58119,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_resize(PyObject *self, PyObje
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -58118,20 +58248,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -58149,7 +58279,7 @@ SWIGINTERN PyObject *_wrap_vector_IFormFactorPtr_t_insert(PyObject *self, PyObje
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<IFormFactor*,std::allocator< IFormFactor * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< IFormFactor*,std::allocator< IFormFactor * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -59352,7 +59482,7 @@ SWIGINTERN PyObject *_wrap_PolyhedralFace_diameter(PyObject *SWIGUNUSEDPARM(self
   
   if (!PyArg_ParseTuple(args,(char *)"O:PolyhedralFace_diameter",&obj0)) SWIG_fail;
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PolyhedralFace_diameter" "', argument " "1"" of type '" "std::vector< kvector_t,std::allocator< kvector_t > > const &""'"); 
@@ -59385,7 +59515,7 @@ SWIGINTERN PyObject *_wrap_new_PolyhedralFace__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_PolyhedralFace",&obj0,&obj1)) SWIG_fail;
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PolyhedralFace" "', argument " "1"" of type '" "std::vector< kvector_t,std::allocator< kvector_t > > const &""'"); 
@@ -59419,7 +59549,7 @@ SWIGINTERN PyObject *_wrap_new_PolyhedralFace__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_PolyhedralFace",&obj0)) SWIG_fail;
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_PolyhedralFace" "', argument " "1"" of type '" "std::vector< kvector_t,std::allocator< kvector_t > > const &""'"); 
@@ -59453,14 +59583,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_PolyhedralFace(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -59469,7 +59599,7 @@ SWIGINTERN PyObject *_wrap_new_PolyhedralFace(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_PolyhedralFace__SWIG_1(self, args);
@@ -59477,7 +59607,7 @@ SWIGINTERN PyObject *_wrap_new_PolyhedralFace(PyObject *self, PyObject *args) {
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -61909,14 +62039,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FormFactorDecoratorDebyeWaller(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -62904,14 +63034,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FormFactorGauss(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -65105,14 +65235,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FormFactorLorentz(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -67942,14 +68072,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FormFactorWeighted_addFormFactor(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -68232,14 +68362,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Simulation_getInstrument(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -68519,14 +68649,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Simulation_setAnalyzerProperties(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -68774,14 +68904,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Simulation_getDetectorIntensity(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -69104,14 +69234,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Simulation_addParameterDistribution(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -69325,14 +69455,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Simulation_getOptions(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -69578,14 +69708,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SimulationOptions_setMonteCarloIntegration(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -69941,14 +70071,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_GISASSimulation(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -70144,14 +70274,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_GISASSimulation_getDetectorIntensity(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -70243,14 +70373,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_GISASSimulation_getIntensityData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -70511,14 +70641,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_GISASSimulation_setDetectorParameters(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[8] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 7) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -70701,14 +70831,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_GISASSimulation_addMask(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71117,14 +71247,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getGlobalBin(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71414,14 +71544,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71494,14 +71624,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getBinContent(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71701,14 +71831,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getBinError(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71830,14 +71960,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getBinAverage(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -71959,14 +72089,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getBinNumberOfEntries(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -72210,14 +72340,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_getArray(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -72384,14 +72514,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IHistogram_createOutputData(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -72704,7 +72834,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram1D__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   } 
   arg1 = static_cast< int >(val1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Histogram1D" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -72775,14 +72905,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Histogram1D(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -72809,7 +72939,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram1D(PyObject *self, PyObject *args) {
       _v = SWIG_CheckState(res);
     }
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_Histogram1D__SWIG_1(self, args);
@@ -72966,14 +73096,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Histogram1D_fill(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -73038,7 +73168,7 @@ SWIGINTERN PyObject *_wrap_Histogram1D_getBinCenters(PyObject *SWIGUNUSEDPARM(se
   }
   arg1 = reinterpret_cast< Histogram1D * >(argp1);
   result = ((Histogram1D const *)arg1)->getBinCenters();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -73060,7 +73190,7 @@ SWIGINTERN PyObject *_wrap_Histogram1D_getBinValues(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Histogram1D * >(argp1);
   result = ((Histogram1D const *)arg1)->getBinValues();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -73082,7 +73212,7 @@ SWIGINTERN PyObject *_wrap_Histogram1D_getBinErrors(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Histogram1D * >(argp1);
   result = ((Histogram1D const *)arg1)->getBinErrors();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -73337,7 +73467,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram2D__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   } 
   arg1 = static_cast< int >(val1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Histogram2D" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -73353,7 +73483,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram2D__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   } 
   arg3 = static_cast< int >(val3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_Histogram2D" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -73438,14 +73568,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Histogram2D(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -73476,7 +73606,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram2D(PyObject *self, PyObject *args) {
       _v = SWIG_CheckState(res);
     }
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         {
@@ -73484,7 +73614,7 @@ SWIGINTERN PyObject *_wrap_new_Histogram2D(PyObject *self, PyObject *args) {
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<double,std::allocator< double > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< double,std::allocator< double > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_new_Histogram2D__SWIG_1(self, args);
@@ -73679,14 +73809,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Histogram2D_fill(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -73842,14 +73972,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Histogram2D_projectionX(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -74003,14 +74133,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Histogram2D_projectionY(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -74448,14 +74578,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_HomogeneousMaterial(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -74759,14 +74889,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_HomogeneousMagneticMaterial(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -75510,14 +75640,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IDetector2D_setAnalyzerProperties(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -75672,14 +75802,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IDetector2D_addMask(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -76806,14 +76936,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IParameterReal_clone(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -77310,14 +77440,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IParticle_setPosition(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -78196,14 +78326,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_RotationZ(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -78862,14 +78992,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Instrument(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -78960,14 +79090,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Instrument_getBeam(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -79215,14 +79345,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Instrument_getDetector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -79652,14 +79782,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Instrument_setAnalyzerProperties(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -79825,14 +79955,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Instrument_getDetectorIntensity(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -79981,14 +80111,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityDataFunctions_getRelativeDifference(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -80662,14 +80792,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_InterferenceFunctionRadialParaCrystal(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -80815,14 +80945,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunctionRadialParaCrystal_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -81251,14 +81381,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DLattice(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -81449,14 +81579,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunction2DLattice_createSquare(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -81550,14 +81680,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunction2DLattice_createHexagonal(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -81890,14 +82020,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -82123,14 +82253,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunction2DParaCrystal_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -82311,14 +82441,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunction2DParaCrystal_createSquare(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -82553,14 +82683,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_InterferenceFunction2DParaCrystal_createHexagonal(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -82790,7 +82920,7 @@ SWIGINTERN PyObject *_wrap_InterferenceFunction2DParaCrystal_getDomainSizes(PyOb
   }
   arg1 = reinterpret_cast< InterferenceFunction2DParaCrystal * >(argp1);
   result = ((InterferenceFunction2DParaCrystal const *)arg1)->getDomainSizes();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -83383,14 +83513,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_SphericalDetector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -83947,14 +84077,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_IsGISAXSDetector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -84160,14 +84290,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Lattice(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -84560,7 +84690,7 @@ SWIGINTERN PyObject *_wrap_Lattice_reciprocalLatticeVectorsWithinRadius(PyObject
   } 
   arg3 = static_cast< double >(val3);
   result = ((Lattice const *)arg1)->reciprocalLatticeVectorsWithinRadius(arg2,arg3);
-  resultobj = swig::from(static_cast< std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -84705,14 +84835,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Lattice1DParameters(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -85221,14 +85351,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Layer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -85417,14 +85547,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Layer_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -85945,14 +86075,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_LayerRoughness(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -86463,14 +86593,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Line_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -86681,14 +86811,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_VerticalLine_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -86921,14 +87051,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_HorizontalLine_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -87524,14 +87654,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Logger_SetLevel(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -87633,14 +87763,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SetLevel(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -87790,14 +87920,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_MultiLayer_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -88578,14 +88708,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_OffSpecSimulation(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -88781,14 +88911,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_OffSpecSimulation_getDetectorIntensity(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -89008,14 +89138,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_OffSpecSimulation_setDetectorParameters(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[8] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 7) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -89303,14 +89433,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_addAxis(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -89438,14 +89568,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_getAxis(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -89606,7 +89736,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_getRawDataVector(PyObject *SWIGUNUSEDPA
   }
   arg1 = reinterpret_cast< OutputData< double > * >(argp1);
   result = ((OutputData< double > const *)arg1)->getRawDataVector();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -89710,14 +89840,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_begin(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -89794,14 +89924,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_end(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -90018,7 +90148,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_getAxesBinIndices(PyObject *SWIGUNUSEDP
   } 
   arg2 = static_cast< size_t >(val2);
   result = ((OutputData< double > const *)arg1)->getAxesBinIndices(arg2);
-  resultobj = swig::from(static_cast< std::vector<int,std::allocator< int > > >(result));
+  resultobj = swig::from(static_cast< std::vector< int,std::allocator< int > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -90113,14 +90243,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_getAxisBinIndex(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -90192,7 +90322,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_toGlobalIndex(PyObject *SWIGUNUSEDPARM(
   }
   arg1 = reinterpret_cast< OutputData< double > * >(argp1);
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntensityData_toGlobalIndex" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
@@ -90230,7 +90360,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_findGlobalIndex(PyObject *SWIGUNUSEDPAR
   }
   arg1 = reinterpret_cast< OutputData< double > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntensityData_findGlobalIndex" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -90338,14 +90468,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_getAxisValue(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -90423,7 +90553,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_getAxesValues(PyObject *SWIGUNUSEDPARM(
   } 
   arg2 = static_cast< size_t >(val2);
   result = ((OutputData< double > const *)arg1)->getAxesValues(arg2);
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -90518,14 +90648,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_IntensityData_getAxisBin(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -90720,7 +90850,7 @@ SWIGINTERN PyObject *_wrap_IntensityData_setRawDataVector(PyObject *SWIGUNUSEDPA
   }
   arg1 = reinterpret_cast< OutputData< double > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IntensityData_setRawDataVector" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -91662,14 +91792,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_ParameterDistribution(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -91973,7 +92103,7 @@ SWIGINTERN PyObject *_wrap_ParameterDistribution_getLinkedParameterNames(PyObjec
   }
   arg1 = reinterpret_cast< ParameterDistribution * >(argp1);
   result = ((ParameterDistribution const *)arg1)->getLinkedParameterNames();
-  resultobj = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -92394,14 +92524,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ParameterPool_getParameter(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -92609,7 +92739,7 @@ SWIGINTERN PyObject *_wrap_ParameterPool_getParameterNames(PyObject *SWIGUNUSEDP
   }
   arg1 = reinterpret_cast< ParameterPool * >(argp1);
   result = ((ParameterPool const *)arg1)->getParameterNames();
-  resultobj = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -92748,14 +92878,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Particle(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -92938,14 +93068,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Particle_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -93360,7 +93490,7 @@ SWIGINTERN PyObject *_wrap_new_ParticleComposition__SWIG_3(PyObject *SWIGUNUSEDP
   }
   arg1 = reinterpret_cast< IParticle * >(argp1);
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_ParticleComposition" "', argument " "2"" of type '" "std::vector< kvector_t,std::allocator< kvector_t > >""'"); 
@@ -93377,14 +93507,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_ParticleComposition(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -93416,7 +93546,7 @@ SWIGINTERN PyObject *_wrap_new_ParticleComposition(PyObject *self, PyObject *arg
     int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_IParticle, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_ParticleComposition__SWIG_3(self, args);
@@ -93614,14 +93744,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ParticleComposition_addParticle(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -93693,7 +93823,7 @@ SWIGINTERN PyObject *_wrap_ParticleComposition_addParticles(PyObject *SWIGUNUSED
   }
   arg2 = reinterpret_cast< IParticle * >(argp2);
   {
-    std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector<BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
+    std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *ptr = (std::vector< BasicVector3D< double >,std::allocator< BasicVector3D< double > > > *)0;
     int res = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "ParticleComposition_addParticles" "', argument " "3"" of type '" "std::vector< kvector_t,std::allocator< kvector_t > >""'"); 
@@ -94002,14 +94132,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_ParticleCoreShell(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -94472,14 +94602,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ParticleDistribution_to_str(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -94772,14 +94902,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_ParticleLayout(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -95120,14 +95250,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_ParticleLayout_addParticle(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -95457,7 +95587,7 @@ SWIGINTERN PyObject *_wrap_new_Polygon__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_Polygon",&obj0,&obj1)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Polygon" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -95468,7 +95598,7 @@ SWIGINTERN PyObject *_wrap_new_Polygon__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
     arg1 = ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Polygon" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -95499,7 +95629,7 @@ SWIGINTERN PyObject *_wrap_new_Polygon__SWIG_1(PyObject *SWIGUNUSEDPARM(self), P
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_Polygon",&obj0)) SWIG_fail;
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Polygon" "', argument " "1"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
@@ -95542,14 +95672,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_Polygon(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -95564,7 +95694,7 @@ SWIGINTERN PyObject *_wrap_new_Polygon(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_Polygon__SWIG_1(self, args);
@@ -95572,10 +95702,10 @@ SWIGINTERN PyObject *_wrap_new_Polygon(PyObject *self, PyObject *args) {
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_Polygon__SWIG_0(self, args);
@@ -95723,14 +95853,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Polygon_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -96091,14 +96221,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_RealParameter(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -96249,14 +96379,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_RealParameter_clone(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -96764,14 +96894,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_Rectangle_contains(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -97036,14 +97166,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_RectangularDetector(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -97299,14 +97429,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_RectangularDetector_setPosition(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -97588,14 +97718,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_RectangularDetector_setPerpendicularToReflectedBeam(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -98565,14 +98695,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_SpecularSimulation(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -98891,14 +99021,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SpecularSimulation_setBeamParameters(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[6] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 5) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -99046,14 +99176,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SpecularSimulation_setEvanescentWaveAxis(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -99153,7 +99283,7 @@ SWIGINTERN PyObject *_wrap_SpecularSimulation_getScalarR(PyObject *SWIGUNUSEDPAR
   } 
   arg2 = static_cast< size_t >(val2);
   result = ((SpecularSimulation const *)arg1)->getScalarR(arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -99184,7 +99314,7 @@ SWIGINTERN PyObject *_wrap_SpecularSimulation_getScalarT(PyObject *SWIGUNUSEDPAR
   } 
   arg2 = static_cast< size_t >(val2);
   result = ((SpecularSimulation const *)arg1)->getScalarT(arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -99215,7 +99345,7 @@ SWIGINTERN PyObject *_wrap_SpecularSimulation_getScalarKz(PyObject *SWIGUNUSEDPA
   } 
   arg2 = static_cast< size_t >(val2);
   result = ((SpecularSimulation const *)arg1)->getScalarKz(arg2);
-  resultobj = swig::from(static_cast< std::vector<std::complex< double >,std::allocator< std::complex< double > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::complex< double >,std::allocator< std::complex< double > > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -99727,14 +99857,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SampleBuilderFactory_registerItem(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -100058,14 +100188,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SimulationFactory_registerItem(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -100245,11 +100375,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vdouble1d_t___nonzero__", _wrap_vdouble1d_t___nonzero__, METH_VARARGS, (char *)"vdouble1d_t___nonzero__(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t___bool__", _wrap_vdouble1d_t___bool__, METH_VARARGS, (char *)"vdouble1d_t___bool__(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t___len__", _wrap_vdouble1d_t___len__, METH_VARARGS, (char *)"vdouble1d_t___len__(vdouble1d_t self) -> std::vector< double >::size_type"},
-	 { (char *)"vdouble1d_t_pop", _wrap_vdouble1d_t_pop, METH_VARARGS, (char *)"vdouble1d_t_pop(vdouble1d_t self) -> std::vector< double >::value_type"},
 	 { (char *)"vdouble1d_t___getslice__", _wrap_vdouble1d_t___getslice__, METH_VARARGS, (char *)"vdouble1d_t___getslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vdouble1d_t"},
 	 { (char *)"vdouble1d_t___setslice__", _wrap_vdouble1d_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)\n"
-		"vdouble1d_t___setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)\n"
+		"__setslice__(std::vector< double >::difference_type i, std::vector< double >::difference_type j)\n"
+		"vdouble1d_t___setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)\n"
 		""},
 	 { (char *)"vdouble1d_t___delslice__", _wrap_vdouble1d_t___delslice__, METH_VARARGS, (char *)"vdouble1d_t___delslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)"},
 	 { (char *)"vdouble1d_t___delitem__", _wrap_vdouble1d_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100265,16 +100394,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vdouble1d_t___setitem__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::value_type const & x)\n"
 		""},
+	 { (char *)"vdouble1d_t_pop", _wrap_vdouble1d_t_pop, METH_VARARGS, (char *)"vdouble1d_t_pop(vdouble1d_t self) -> std::vector< double >::value_type"},
 	 { (char *)"vdouble1d_t_append", _wrap_vdouble1d_t_append, METH_VARARGS, (char *)"vdouble1d_t_append(vdouble1d_t self, std::vector< double >::value_type const & x)"},
 	 { (char *)"vdouble1d_t_empty", _wrap_vdouble1d_t_empty, METH_VARARGS, (char *)"vdouble1d_t_empty(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t_size", _wrap_vdouble1d_t_size, METH_VARARGS, (char *)"vdouble1d_t_size(vdouble1d_t self) -> std::vector< double >::size_type"},
-	 { (char *)"vdouble1d_t_clear", _wrap_vdouble1d_t_clear, METH_VARARGS, (char *)"vdouble1d_t_clear(vdouble1d_t self)"},
 	 { (char *)"vdouble1d_t_swap", _wrap_vdouble1d_t_swap, METH_VARARGS, (char *)"vdouble1d_t_swap(vdouble1d_t self, vdouble1d_t v)"},
-	 { (char *)"vdouble1d_t_get_allocator", _wrap_vdouble1d_t_get_allocator, METH_VARARGS, (char *)"vdouble1d_t_get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"},
 	 { (char *)"vdouble1d_t_begin", _wrap_vdouble1d_t_begin, METH_VARARGS, (char *)"vdouble1d_t_begin(vdouble1d_t self) -> std::vector< double >::iterator"},
 	 { (char *)"vdouble1d_t_end", _wrap_vdouble1d_t_end, METH_VARARGS, (char *)"vdouble1d_t_end(vdouble1d_t self) -> std::vector< double >::iterator"},
 	 { (char *)"vdouble1d_t_rbegin", _wrap_vdouble1d_t_rbegin, METH_VARARGS, (char *)"vdouble1d_t_rbegin(vdouble1d_t self) -> std::vector< double >::reverse_iterator"},
 	 { (char *)"vdouble1d_t_rend", _wrap_vdouble1d_t_rend, METH_VARARGS, (char *)"vdouble1d_t_rend(vdouble1d_t self) -> std::vector< double >::reverse_iterator"},
+	 { (char *)"vdouble1d_t_clear", _wrap_vdouble1d_t_clear, METH_VARARGS, (char *)"vdouble1d_t_clear(vdouble1d_t self)"},
+	 { (char *)"vdouble1d_t_get_allocator", _wrap_vdouble1d_t_get_allocator, METH_VARARGS, (char *)"vdouble1d_t_get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"},
 	 { (char *)"vdouble1d_t_pop_back", _wrap_vdouble1d_t_pop_back, METH_VARARGS, (char *)"vdouble1d_t_pop_back(vdouble1d_t self)"},
 	 { (char *)"vdouble1d_t_erase", _wrap_vdouble1d_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< double >::iterator pos) -> std::vector< double >::iterator\n"
@@ -100306,11 +100436,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vdouble2d_t___nonzero__", _wrap_vdouble2d_t___nonzero__, METH_VARARGS, (char *)"vdouble2d_t___nonzero__(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t___bool__", _wrap_vdouble2d_t___bool__, METH_VARARGS, (char *)"vdouble2d_t___bool__(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t___len__", _wrap_vdouble2d_t___len__, METH_VARARGS, (char *)"vdouble2d_t___len__(vdouble2d_t self) -> std::vector< std::vector< double > >::size_type"},
-	 { (char *)"vdouble2d_t_pop", _wrap_vdouble2d_t_pop, METH_VARARGS, (char *)"vdouble2d_t_pop(vdouble2d_t self) -> vdouble1d_t"},
 	 { (char *)"vdouble2d_t___getslice__", _wrap_vdouble2d_t___getslice__, METH_VARARGS, (char *)"vdouble2d_t___getslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j) -> vdouble2d_t"},
 	 { (char *)"vdouble2d_t___setslice__", _wrap_vdouble2d_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)\n"
-		"vdouble2d_t___setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)\n"
+		"__setslice__(std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)\n"
+		"vdouble2d_t___setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)\n"
 		""},
 	 { (char *)"vdouble2d_t___delslice__", _wrap_vdouble2d_t___delslice__, METH_VARARGS, (char *)"vdouble2d_t___delslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)"},
 	 { (char *)"vdouble2d_t___delitem__", _wrap_vdouble2d_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100326,16 +100455,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vdouble2d_t___setitem__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, vdouble1d_t x)\n"
 		""},
+	 { (char *)"vdouble2d_t_pop", _wrap_vdouble2d_t_pop, METH_VARARGS, (char *)"vdouble2d_t_pop(vdouble2d_t self) -> vdouble1d_t"},
 	 { (char *)"vdouble2d_t_append", _wrap_vdouble2d_t_append, METH_VARARGS, (char *)"vdouble2d_t_append(vdouble2d_t self, vdouble1d_t x)"},
 	 { (char *)"vdouble2d_t_empty", _wrap_vdouble2d_t_empty, METH_VARARGS, (char *)"vdouble2d_t_empty(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t_size", _wrap_vdouble2d_t_size, METH_VARARGS, (char *)"vdouble2d_t_size(vdouble2d_t self) -> std::vector< std::vector< double > >::size_type"},
-	 { (char *)"vdouble2d_t_clear", _wrap_vdouble2d_t_clear, METH_VARARGS, (char *)"vdouble2d_t_clear(vdouble2d_t self)"},
 	 { (char *)"vdouble2d_t_swap", _wrap_vdouble2d_t_swap, METH_VARARGS, (char *)"vdouble2d_t_swap(vdouble2d_t self, vdouble2d_t v)"},
-	 { (char *)"vdouble2d_t_get_allocator", _wrap_vdouble2d_t_get_allocator, METH_VARARGS, (char *)"vdouble2d_t_get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"},
 	 { (char *)"vdouble2d_t_begin", _wrap_vdouble2d_t_begin, METH_VARARGS, (char *)"vdouble2d_t_begin(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"},
 	 { (char *)"vdouble2d_t_end", _wrap_vdouble2d_t_end, METH_VARARGS, (char *)"vdouble2d_t_end(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"},
 	 { (char *)"vdouble2d_t_rbegin", _wrap_vdouble2d_t_rbegin, METH_VARARGS, (char *)"vdouble2d_t_rbegin(vdouble2d_t self) -> std::vector< std::vector< double > >::reverse_iterator"},
 	 { (char *)"vdouble2d_t_rend", _wrap_vdouble2d_t_rend, METH_VARARGS, (char *)"vdouble2d_t_rend(vdouble2d_t self) -> std::vector< std::vector< double > >::reverse_iterator"},
+	 { (char *)"vdouble2d_t_clear", _wrap_vdouble2d_t_clear, METH_VARARGS, (char *)"vdouble2d_t_clear(vdouble2d_t self)"},
+	 { (char *)"vdouble2d_t_get_allocator", _wrap_vdouble2d_t_get_allocator, METH_VARARGS, (char *)"vdouble2d_t_get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"},
 	 { (char *)"vdouble2d_t_pop_back", _wrap_vdouble2d_t_pop_back, METH_VARARGS, (char *)"vdouble2d_t_pop_back(vdouble2d_t self)"},
 	 { (char *)"vdouble2d_t_erase", _wrap_vdouble2d_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::vector< double > >::iterator pos) -> std::vector< std::vector< double > >::iterator\n"
@@ -100367,11 +100497,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_integer_t___nonzero__", _wrap_vector_integer_t___nonzero__, METH_VARARGS, (char *)"vector_integer_t___nonzero__(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t___bool__", _wrap_vector_integer_t___bool__, METH_VARARGS, (char *)"vector_integer_t___bool__(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t___len__", _wrap_vector_integer_t___len__, METH_VARARGS, (char *)"vector_integer_t___len__(vector_integer_t self) -> std::vector< int >::size_type"},
-	 { (char *)"vector_integer_t_pop", _wrap_vector_integer_t_pop, METH_VARARGS, (char *)"vector_integer_t_pop(vector_integer_t self) -> std::vector< int >::value_type"},
 	 { (char *)"vector_integer_t___getslice__", _wrap_vector_integer_t___getslice__, METH_VARARGS, (char *)"vector_integer_t___getslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_integer_t"},
 	 { (char *)"vector_integer_t___setslice__", _wrap_vector_integer_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)\n"
-		"vector_integer_t___setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)\n"
+		"__setslice__(std::vector< int >::difference_type i, std::vector< int >::difference_type j)\n"
+		"vector_integer_t___setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)\n"
 		""},
 	 { (char *)"vector_integer_t___delslice__", _wrap_vector_integer_t___delslice__, METH_VARARGS, (char *)"vector_integer_t___delslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)"},
 	 { (char *)"vector_integer_t___delitem__", _wrap_vector_integer_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100387,16 +100516,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_integer_t___setitem__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_integer_t_pop", _wrap_vector_integer_t_pop, METH_VARARGS, (char *)"vector_integer_t_pop(vector_integer_t self) -> std::vector< int >::value_type"},
 	 { (char *)"vector_integer_t_append", _wrap_vector_integer_t_append, METH_VARARGS, (char *)"vector_integer_t_append(vector_integer_t self, std::vector< int >::value_type const & x)"},
 	 { (char *)"vector_integer_t_empty", _wrap_vector_integer_t_empty, METH_VARARGS, (char *)"vector_integer_t_empty(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t_size", _wrap_vector_integer_t_size, METH_VARARGS, (char *)"vector_integer_t_size(vector_integer_t self) -> std::vector< int >::size_type"},
-	 { (char *)"vector_integer_t_clear", _wrap_vector_integer_t_clear, METH_VARARGS, (char *)"vector_integer_t_clear(vector_integer_t self)"},
 	 { (char *)"vector_integer_t_swap", _wrap_vector_integer_t_swap, METH_VARARGS, (char *)"vector_integer_t_swap(vector_integer_t self, vector_integer_t v)"},
-	 { (char *)"vector_integer_t_get_allocator", _wrap_vector_integer_t_get_allocator, METH_VARARGS, (char *)"vector_integer_t_get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"},
 	 { (char *)"vector_integer_t_begin", _wrap_vector_integer_t_begin, METH_VARARGS, (char *)"vector_integer_t_begin(vector_integer_t self) -> std::vector< int >::iterator"},
 	 { (char *)"vector_integer_t_end", _wrap_vector_integer_t_end, METH_VARARGS, (char *)"vector_integer_t_end(vector_integer_t self) -> std::vector< int >::iterator"},
 	 { (char *)"vector_integer_t_rbegin", _wrap_vector_integer_t_rbegin, METH_VARARGS, (char *)"vector_integer_t_rbegin(vector_integer_t self) -> std::vector< int >::reverse_iterator"},
 	 { (char *)"vector_integer_t_rend", _wrap_vector_integer_t_rend, METH_VARARGS, (char *)"vector_integer_t_rend(vector_integer_t self) -> std::vector< int >::reverse_iterator"},
+	 { (char *)"vector_integer_t_clear", _wrap_vector_integer_t_clear, METH_VARARGS, (char *)"vector_integer_t_clear(vector_integer_t self)"},
+	 { (char *)"vector_integer_t_get_allocator", _wrap_vector_integer_t_get_allocator, METH_VARARGS, (char *)"vector_integer_t_get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"},
 	 { (char *)"vector_integer_t_pop_back", _wrap_vector_integer_t_pop_back, METH_VARARGS, (char *)"vector_integer_t_pop_back(vector_integer_t self)"},
 	 { (char *)"vector_integer_t_erase", _wrap_vector_integer_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< int >::iterator pos) -> std::vector< int >::iterator\n"
@@ -100428,11 +100558,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_longinteger_t___nonzero__", _wrap_vector_longinteger_t___nonzero__, METH_VARARGS, (char *)"vector_longinteger_t___nonzero__(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t___bool__", _wrap_vector_longinteger_t___bool__, METH_VARARGS, (char *)"vector_longinteger_t___bool__(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t___len__", _wrap_vector_longinteger_t___len__, METH_VARARGS, (char *)"vector_longinteger_t___len__(vector_longinteger_t self) -> std::vector< unsigned long >::size_type"},
-	 { (char *)"vector_longinteger_t_pop", _wrap_vector_longinteger_t_pop, METH_VARARGS, (char *)"vector_longinteger_t_pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"},
 	 { (char *)"vector_longinteger_t___getslice__", _wrap_vector_longinteger_t___getslice__, METH_VARARGS, (char *)"vector_longinteger_t___getslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j) -> vector_longinteger_t"},
 	 { (char *)"vector_longinteger_t___setslice__", _wrap_vector_longinteger_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)\n"
-		"vector_longinteger_t___setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)\n"
+		"__setslice__(std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)\n"
+		"vector_longinteger_t___setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)\n"
 		""},
 	 { (char *)"vector_longinteger_t___delslice__", _wrap_vector_longinteger_t___delslice__, METH_VARARGS, (char *)"vector_longinteger_t___delslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)"},
 	 { (char *)"vector_longinteger_t___delitem__", _wrap_vector_longinteger_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100448,16 +100577,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_longinteger_t___setitem__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_longinteger_t_pop", _wrap_vector_longinteger_t_pop, METH_VARARGS, (char *)"vector_longinteger_t_pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"},
 	 { (char *)"vector_longinteger_t_append", _wrap_vector_longinteger_t_append, METH_VARARGS, (char *)"vector_longinteger_t_append(vector_longinteger_t self, std::vector< unsigned long >::value_type const & x)"},
 	 { (char *)"vector_longinteger_t_empty", _wrap_vector_longinteger_t_empty, METH_VARARGS, (char *)"vector_longinteger_t_empty(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t_size", _wrap_vector_longinteger_t_size, METH_VARARGS, (char *)"vector_longinteger_t_size(vector_longinteger_t self) -> std::vector< unsigned long >::size_type"},
-	 { (char *)"vector_longinteger_t_clear", _wrap_vector_longinteger_t_clear, METH_VARARGS, (char *)"vector_longinteger_t_clear(vector_longinteger_t self)"},
 	 { (char *)"vector_longinteger_t_swap", _wrap_vector_longinteger_t_swap, METH_VARARGS, (char *)"vector_longinteger_t_swap(vector_longinteger_t self, vector_longinteger_t v)"},
-	 { (char *)"vector_longinteger_t_get_allocator", _wrap_vector_longinteger_t_get_allocator, METH_VARARGS, (char *)"vector_longinteger_t_get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"},
 	 { (char *)"vector_longinteger_t_begin", _wrap_vector_longinteger_t_begin, METH_VARARGS, (char *)"vector_longinteger_t_begin(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"},
 	 { (char *)"vector_longinteger_t_end", _wrap_vector_longinteger_t_end, METH_VARARGS, (char *)"vector_longinteger_t_end(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"},
 	 { (char *)"vector_longinteger_t_rbegin", _wrap_vector_longinteger_t_rbegin, METH_VARARGS, (char *)"vector_longinteger_t_rbegin(vector_longinteger_t self) -> std::vector< unsigned long >::reverse_iterator"},
 	 { (char *)"vector_longinteger_t_rend", _wrap_vector_longinteger_t_rend, METH_VARARGS, (char *)"vector_longinteger_t_rend(vector_longinteger_t self) -> std::vector< unsigned long >::reverse_iterator"},
+	 { (char *)"vector_longinteger_t_clear", _wrap_vector_longinteger_t_clear, METH_VARARGS, (char *)"vector_longinteger_t_clear(vector_longinteger_t self)"},
+	 { (char *)"vector_longinteger_t_get_allocator", _wrap_vector_longinteger_t_get_allocator, METH_VARARGS, (char *)"vector_longinteger_t_get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"},
 	 { (char *)"vector_longinteger_t_pop_back", _wrap_vector_longinteger_t_pop_back, METH_VARARGS, (char *)"vector_longinteger_t_pop_back(vector_longinteger_t self)"},
 	 { (char *)"vector_longinteger_t_erase", _wrap_vector_longinteger_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< unsigned long >::iterator pos) -> std::vector< unsigned long >::iterator\n"
@@ -100489,11 +100619,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_complex_t___nonzero__", _wrap_vector_complex_t___nonzero__, METH_VARARGS, (char *)"vector_complex_t___nonzero__(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t___bool__", _wrap_vector_complex_t___bool__, METH_VARARGS, (char *)"vector_complex_t___bool__(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t___len__", _wrap_vector_complex_t___len__, METH_VARARGS, (char *)"vector_complex_t___len__(vector_complex_t self) -> std::vector< std::complex< double > >::size_type"},
-	 { (char *)"vector_complex_t_pop", _wrap_vector_complex_t_pop, METH_VARARGS, (char *)"vector_complex_t_pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"},
 	 { (char *)"vector_complex_t___getslice__", _wrap_vector_complex_t___getslice__, METH_VARARGS, (char *)"vector_complex_t___getslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j) -> vector_complex_t"},
 	 { (char *)"vector_complex_t___setslice__", _wrap_vector_complex_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)\n"
-		"vector_complex_t___setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)\n"
+		"__setslice__(std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)\n"
+		"vector_complex_t___setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)\n"
 		""},
 	 { (char *)"vector_complex_t___delslice__", _wrap_vector_complex_t___delslice__, METH_VARARGS, (char *)"vector_complex_t___delslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)"},
 	 { (char *)"vector_complex_t___delitem__", _wrap_vector_complex_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100509,16 +100638,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_complex_t___setitem__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_complex_t_pop", _wrap_vector_complex_t_pop, METH_VARARGS, (char *)"vector_complex_t_pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"},
 	 { (char *)"vector_complex_t_append", _wrap_vector_complex_t_append, METH_VARARGS, (char *)"vector_complex_t_append(vector_complex_t self, std::vector< std::complex< double > >::value_type const & x)"},
 	 { (char *)"vector_complex_t_empty", _wrap_vector_complex_t_empty, METH_VARARGS, (char *)"vector_complex_t_empty(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t_size", _wrap_vector_complex_t_size, METH_VARARGS, (char *)"vector_complex_t_size(vector_complex_t self) -> std::vector< std::complex< double > >::size_type"},
-	 { (char *)"vector_complex_t_clear", _wrap_vector_complex_t_clear, METH_VARARGS, (char *)"vector_complex_t_clear(vector_complex_t self)"},
 	 { (char *)"vector_complex_t_swap", _wrap_vector_complex_t_swap, METH_VARARGS, (char *)"vector_complex_t_swap(vector_complex_t self, vector_complex_t v)"},
-	 { (char *)"vector_complex_t_get_allocator", _wrap_vector_complex_t_get_allocator, METH_VARARGS, (char *)"vector_complex_t_get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"},
 	 { (char *)"vector_complex_t_begin", _wrap_vector_complex_t_begin, METH_VARARGS, (char *)"vector_complex_t_begin(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"},
 	 { (char *)"vector_complex_t_end", _wrap_vector_complex_t_end, METH_VARARGS, (char *)"vector_complex_t_end(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"},
 	 { (char *)"vector_complex_t_rbegin", _wrap_vector_complex_t_rbegin, METH_VARARGS, (char *)"vector_complex_t_rbegin(vector_complex_t self) -> std::vector< std::complex< double > >::reverse_iterator"},
 	 { (char *)"vector_complex_t_rend", _wrap_vector_complex_t_rend, METH_VARARGS, (char *)"vector_complex_t_rend(vector_complex_t self) -> std::vector< std::complex< double > >::reverse_iterator"},
+	 { (char *)"vector_complex_t_clear", _wrap_vector_complex_t_clear, METH_VARARGS, (char *)"vector_complex_t_clear(vector_complex_t self)"},
+	 { (char *)"vector_complex_t_get_allocator", _wrap_vector_complex_t_get_allocator, METH_VARARGS, (char *)"vector_complex_t_get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"},
 	 { (char *)"vector_complex_t_pop_back", _wrap_vector_complex_t_pop_back, METH_VARARGS, (char *)"vector_complex_t_pop_back(vector_complex_t self)"},
 	 { (char *)"vector_complex_t_erase", _wrap_vector_complex_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::complex< double > >::iterator pos) -> std::vector< std::complex< double > >::iterator\n"
@@ -100550,11 +100680,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_string_t___nonzero__", _wrap_vector_string_t___nonzero__, METH_VARARGS, (char *)"vector_string_t___nonzero__(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t___bool__", _wrap_vector_string_t___bool__, METH_VARARGS, (char *)"vector_string_t___bool__(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t___len__", _wrap_vector_string_t___len__, METH_VARARGS, (char *)"vector_string_t___len__(vector_string_t self) -> std::vector< std::string >::size_type"},
-	 { (char *)"vector_string_t_pop", _wrap_vector_string_t_pop, METH_VARARGS, (char *)"vector_string_t_pop(vector_string_t self) -> std::vector< std::string >::value_type"},
 	 { (char *)"vector_string_t___getslice__", _wrap_vector_string_t___getslice__, METH_VARARGS, (char *)"vector_string_t___getslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_string_t"},
 	 { (char *)"vector_string_t___setslice__", _wrap_vector_string_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)\n"
-		"vector_string_t___setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)\n"
+		"__setslice__(std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)\n"
+		"vector_string_t___setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)\n"
 		""},
 	 { (char *)"vector_string_t___delslice__", _wrap_vector_string_t___delslice__, METH_VARARGS, (char *)"vector_string_t___delslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)"},
 	 { (char *)"vector_string_t___delitem__", _wrap_vector_string_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100570,16 +100699,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_string_t___setitem__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_string_t_pop", _wrap_vector_string_t_pop, METH_VARARGS, (char *)"vector_string_t_pop(vector_string_t self) -> std::vector< std::string >::value_type"},
 	 { (char *)"vector_string_t_append", _wrap_vector_string_t_append, METH_VARARGS, (char *)"vector_string_t_append(vector_string_t self, std::vector< std::string >::value_type const & x)"},
 	 { (char *)"vector_string_t_empty", _wrap_vector_string_t_empty, METH_VARARGS, (char *)"vector_string_t_empty(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t_size", _wrap_vector_string_t_size, METH_VARARGS, (char *)"vector_string_t_size(vector_string_t self) -> std::vector< std::string >::size_type"},
-	 { (char *)"vector_string_t_clear", _wrap_vector_string_t_clear, METH_VARARGS, (char *)"vector_string_t_clear(vector_string_t self)"},
 	 { (char *)"vector_string_t_swap", _wrap_vector_string_t_swap, METH_VARARGS, (char *)"vector_string_t_swap(vector_string_t self, vector_string_t v)"},
-	 { (char *)"vector_string_t_get_allocator", _wrap_vector_string_t_get_allocator, METH_VARARGS, (char *)"vector_string_t_get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"},
 	 { (char *)"vector_string_t_begin", _wrap_vector_string_t_begin, METH_VARARGS, (char *)"vector_string_t_begin(vector_string_t self) -> std::vector< std::string >::iterator"},
 	 { (char *)"vector_string_t_end", _wrap_vector_string_t_end, METH_VARARGS, (char *)"vector_string_t_end(vector_string_t self) -> std::vector< std::string >::iterator"},
 	 { (char *)"vector_string_t_rbegin", _wrap_vector_string_t_rbegin, METH_VARARGS, (char *)"vector_string_t_rbegin(vector_string_t self) -> std::vector< std::string >::reverse_iterator"},
 	 { (char *)"vector_string_t_rend", _wrap_vector_string_t_rend, METH_VARARGS, (char *)"vector_string_t_rend(vector_string_t self) -> std::vector< std::string >::reverse_iterator"},
+	 { (char *)"vector_string_t_clear", _wrap_vector_string_t_clear, METH_VARARGS, (char *)"vector_string_t_clear(vector_string_t self)"},
+	 { (char *)"vector_string_t_get_allocator", _wrap_vector_string_t_get_allocator, METH_VARARGS, (char *)"vector_string_t_get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"},
 	 { (char *)"vector_string_t_pop_back", _wrap_vector_string_t_pop_back, METH_VARARGS, (char *)"vector_string_t_pop_back(vector_string_t self)"},
 	 { (char *)"vector_string_t_erase", _wrap_vector_string_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::string >::iterator pos) -> std::vector< std::string >::iterator\n"
@@ -100916,11 +101046,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_kvector_t___nonzero__", _wrap_vector_kvector_t___nonzero__, METH_VARARGS, (char *)"vector_kvector_t___nonzero__(vector_kvector_t self) -> bool"},
 	 { (char *)"vector_kvector_t___bool__", _wrap_vector_kvector_t___bool__, METH_VARARGS, (char *)"vector_kvector_t___bool__(vector_kvector_t self) -> bool"},
 	 { (char *)"vector_kvector_t___len__", _wrap_vector_kvector_t___len__, METH_VARARGS, (char *)"vector_kvector_t___len__(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::size_type"},
-	 { (char *)"vector_kvector_t_pop", _wrap_vector_kvector_t_pop, METH_VARARGS, (char *)"vector_kvector_t_pop(vector_kvector_t self) -> kvector_t"},
 	 { (char *)"vector_kvector_t___getslice__", _wrap_vector_kvector_t___getslice__, METH_VARARGS, (char *)"vector_kvector_t___getslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j) -> vector_kvector_t"},
 	 { (char *)"vector_kvector_t___setslice__", _wrap_vector_kvector_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j, vector_kvector_t v)\n"
-		"vector_kvector_t___setslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j)\n"
+		"__setslice__(std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j)\n"
+		"vector_kvector_t___setslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j, vector_kvector_t v)\n"
 		""},
 	 { (char *)"vector_kvector_t___delslice__", _wrap_vector_kvector_t___delslice__, METH_VARARGS, (char *)"vector_kvector_t___delslice__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, std::vector< BasicVector3D< double > >::difference_type j)"},
 	 { (char *)"vector_kvector_t___delitem__", _wrap_vector_kvector_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -100936,16 +101065,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_kvector_t___setitem__(vector_kvector_t self, std::vector< BasicVector3D< double > >::difference_type i, kvector_t x)\n"
 		""},
+	 { (char *)"vector_kvector_t_pop", _wrap_vector_kvector_t_pop, METH_VARARGS, (char *)"vector_kvector_t_pop(vector_kvector_t self) -> kvector_t"},
 	 { (char *)"vector_kvector_t_append", _wrap_vector_kvector_t_append, METH_VARARGS, (char *)"vector_kvector_t_append(vector_kvector_t self, kvector_t x)"},
 	 { (char *)"vector_kvector_t_empty", _wrap_vector_kvector_t_empty, METH_VARARGS, (char *)"vector_kvector_t_empty(vector_kvector_t self) -> bool"},
 	 { (char *)"vector_kvector_t_size", _wrap_vector_kvector_t_size, METH_VARARGS, (char *)"vector_kvector_t_size(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::size_type"},
-	 { (char *)"vector_kvector_t_clear", _wrap_vector_kvector_t_clear, METH_VARARGS, (char *)"vector_kvector_t_clear(vector_kvector_t self)"},
 	 { (char *)"vector_kvector_t_swap", _wrap_vector_kvector_t_swap, METH_VARARGS, (char *)"vector_kvector_t_swap(vector_kvector_t self, vector_kvector_t v)"},
-	 { (char *)"vector_kvector_t_get_allocator", _wrap_vector_kvector_t_get_allocator, METH_VARARGS, (char *)"vector_kvector_t_get_allocator(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::allocator_type"},
 	 { (char *)"vector_kvector_t_begin", _wrap_vector_kvector_t_begin, METH_VARARGS, (char *)"vector_kvector_t_begin(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::iterator"},
 	 { (char *)"vector_kvector_t_end", _wrap_vector_kvector_t_end, METH_VARARGS, (char *)"vector_kvector_t_end(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::iterator"},
 	 { (char *)"vector_kvector_t_rbegin", _wrap_vector_kvector_t_rbegin, METH_VARARGS, (char *)"vector_kvector_t_rbegin(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::reverse_iterator"},
 	 { (char *)"vector_kvector_t_rend", _wrap_vector_kvector_t_rend, METH_VARARGS, (char *)"vector_kvector_t_rend(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::reverse_iterator"},
+	 { (char *)"vector_kvector_t_clear", _wrap_vector_kvector_t_clear, METH_VARARGS, (char *)"vector_kvector_t_clear(vector_kvector_t self)"},
+	 { (char *)"vector_kvector_t_get_allocator", _wrap_vector_kvector_t_get_allocator, METH_VARARGS, (char *)"vector_kvector_t_get_allocator(vector_kvector_t self) -> std::vector< BasicVector3D< double > >::allocator_type"},
 	 { (char *)"vector_kvector_t_pop_back", _wrap_vector_kvector_t_pop_back, METH_VARARGS, (char *)"vector_kvector_t_pop_back(vector_kvector_t self)"},
 	 { (char *)"vector_kvector_t_erase", _wrap_vector_kvector_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< BasicVector3D< double > >::iterator pos) -> std::vector< BasicVector3D< double > >::iterator\n"
@@ -101108,11 +101238,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_cvector_t___nonzero__", _wrap_vector_cvector_t___nonzero__, METH_VARARGS, (char *)"vector_cvector_t___nonzero__(vector_cvector_t self) -> bool"},
 	 { (char *)"vector_cvector_t___bool__", _wrap_vector_cvector_t___bool__, METH_VARARGS, (char *)"vector_cvector_t___bool__(vector_cvector_t self) -> bool"},
 	 { (char *)"vector_cvector_t___len__", _wrap_vector_cvector_t___len__, METH_VARARGS, (char *)"vector_cvector_t___len__(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::size_type"},
-	 { (char *)"vector_cvector_t_pop", _wrap_vector_cvector_t_pop, METH_VARARGS, (char *)"vector_cvector_t_pop(vector_cvector_t self) -> cvector_t"},
 	 { (char *)"vector_cvector_t___getslice__", _wrap_vector_cvector_t___getslice__, METH_VARARGS, (char *)"vector_cvector_t___getslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j) -> vector_cvector_t"},
 	 { (char *)"vector_cvector_t___setslice__", _wrap_vector_cvector_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j, vector_cvector_t v)\n"
-		"vector_cvector_t___setslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j)\n"
+		"__setslice__(std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j)\n"
+		"vector_cvector_t___setslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j, vector_cvector_t v)\n"
 		""},
 	 { (char *)"vector_cvector_t___delslice__", _wrap_vector_cvector_t___delslice__, METH_VARARGS, (char *)"vector_cvector_t___delslice__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, std::vector< BasicVector3D< std::complex< double > > >::difference_type j)"},
 	 { (char *)"vector_cvector_t___delitem__", _wrap_vector_cvector_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -101128,16 +101257,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_cvector_t___setitem__(vector_cvector_t self, std::vector< BasicVector3D< std::complex< double > > >::difference_type i, cvector_t x)\n"
 		""},
+	 { (char *)"vector_cvector_t_pop", _wrap_vector_cvector_t_pop, METH_VARARGS, (char *)"vector_cvector_t_pop(vector_cvector_t self) -> cvector_t"},
 	 { (char *)"vector_cvector_t_append", _wrap_vector_cvector_t_append, METH_VARARGS, (char *)"vector_cvector_t_append(vector_cvector_t self, cvector_t x)"},
 	 { (char *)"vector_cvector_t_empty", _wrap_vector_cvector_t_empty, METH_VARARGS, (char *)"vector_cvector_t_empty(vector_cvector_t self) -> bool"},
 	 { (char *)"vector_cvector_t_size", _wrap_vector_cvector_t_size, METH_VARARGS, (char *)"vector_cvector_t_size(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::size_type"},
-	 { (char *)"vector_cvector_t_clear", _wrap_vector_cvector_t_clear, METH_VARARGS, (char *)"vector_cvector_t_clear(vector_cvector_t self)"},
 	 { (char *)"vector_cvector_t_swap", _wrap_vector_cvector_t_swap, METH_VARARGS, (char *)"vector_cvector_t_swap(vector_cvector_t self, vector_cvector_t v)"},
-	 { (char *)"vector_cvector_t_get_allocator", _wrap_vector_cvector_t_get_allocator, METH_VARARGS, (char *)"vector_cvector_t_get_allocator(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::allocator_type"},
 	 { (char *)"vector_cvector_t_begin", _wrap_vector_cvector_t_begin, METH_VARARGS, (char *)"vector_cvector_t_begin(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::iterator"},
 	 { (char *)"vector_cvector_t_end", _wrap_vector_cvector_t_end, METH_VARARGS, (char *)"vector_cvector_t_end(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::iterator"},
 	 { (char *)"vector_cvector_t_rbegin", _wrap_vector_cvector_t_rbegin, METH_VARARGS, (char *)"vector_cvector_t_rbegin(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::reverse_iterator"},
 	 { (char *)"vector_cvector_t_rend", _wrap_vector_cvector_t_rend, METH_VARARGS, (char *)"vector_cvector_t_rend(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::reverse_iterator"},
+	 { (char *)"vector_cvector_t_clear", _wrap_vector_cvector_t_clear, METH_VARARGS, (char *)"vector_cvector_t_clear(vector_cvector_t self)"},
+	 { (char *)"vector_cvector_t_get_allocator", _wrap_vector_cvector_t_get_allocator, METH_VARARGS, (char *)"vector_cvector_t_get_allocator(vector_cvector_t self) -> std::vector< BasicVector3D< std::complex< double > > >::allocator_type"},
 	 { (char *)"vector_cvector_t_pop_back", _wrap_vector_cvector_t_pop_back, METH_VARARGS, (char *)"vector_cvector_t_pop_back(vector_cvector_t self)"},
 	 { (char *)"vector_cvector_t_erase", _wrap_vector_cvector_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< BasicVector3D< std::complex< double > > >::iterator pos) -> std::vector< BasicVector3D< std::complex< double > > >::iterator\n"
@@ -101826,11 +101956,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"swig_dummy_type_isample_vector___nonzero__", _wrap_swig_dummy_type_isample_vector___nonzero__, METH_VARARGS, (char *)"swig_dummy_type_isample_vector___nonzero__(swig_dummy_type_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_isample_vector___bool__", _wrap_swig_dummy_type_isample_vector___bool__, METH_VARARGS, (char *)"swig_dummy_type_isample_vector___bool__(swig_dummy_type_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_isample_vector___len__", _wrap_swig_dummy_type_isample_vector___len__, METH_VARARGS, (char *)"swig_dummy_type_isample_vector___len__(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::size_type"},
-	 { (char *)"swig_dummy_type_isample_vector_pop", _wrap_swig_dummy_type_isample_vector_pop, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_pop(swig_dummy_type_isample_vector self) -> ISample"},
 	 { (char *)"swig_dummy_type_isample_vector___getslice__", _wrap_swig_dummy_type_isample_vector___getslice__, METH_VARARGS, (char *)"swig_dummy_type_isample_vector___getslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j) -> swig_dummy_type_isample_vector"},
 	 { (char *)"swig_dummy_type_isample_vector___setslice__", _wrap_swig_dummy_type_isample_vector___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j, swig_dummy_type_isample_vector v)\n"
-		"swig_dummy_type_isample_vector___setslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j)\n"
+		"__setslice__(std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j)\n"
+		"swig_dummy_type_isample_vector___setslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j, swig_dummy_type_isample_vector v)\n"
 		""},
 	 { (char *)"swig_dummy_type_isample_vector___delslice__", _wrap_swig_dummy_type_isample_vector___delslice__, METH_VARARGS, (char *)"swig_dummy_type_isample_vector___delslice__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, std::vector< ISample * >::difference_type j)"},
 	 { (char *)"swig_dummy_type_isample_vector___delitem__", _wrap_swig_dummy_type_isample_vector___delitem__, METH_VARARGS, (char *)"\n"
@@ -101846,16 +101975,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"swig_dummy_type_isample_vector___setitem__(swig_dummy_type_isample_vector self, std::vector< ISample * >::difference_type i, ISample x)\n"
 		""},
+	 { (char *)"swig_dummy_type_isample_vector_pop", _wrap_swig_dummy_type_isample_vector_pop, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_pop(swig_dummy_type_isample_vector self) -> ISample"},
 	 { (char *)"swig_dummy_type_isample_vector_append", _wrap_swig_dummy_type_isample_vector_append, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_append(swig_dummy_type_isample_vector self, ISample x)"},
 	 { (char *)"swig_dummy_type_isample_vector_empty", _wrap_swig_dummy_type_isample_vector_empty, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_empty(swig_dummy_type_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_isample_vector_size", _wrap_swig_dummy_type_isample_vector_size, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_size(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::size_type"},
-	 { (char *)"swig_dummy_type_isample_vector_clear", _wrap_swig_dummy_type_isample_vector_clear, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_clear(swig_dummy_type_isample_vector self)"},
 	 { (char *)"swig_dummy_type_isample_vector_swap", _wrap_swig_dummy_type_isample_vector_swap, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_swap(swig_dummy_type_isample_vector self, swig_dummy_type_isample_vector v)"},
-	 { (char *)"swig_dummy_type_isample_vector_get_allocator", _wrap_swig_dummy_type_isample_vector_get_allocator, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_get_allocator(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::allocator_type"},
 	 { (char *)"swig_dummy_type_isample_vector_begin", _wrap_swig_dummy_type_isample_vector_begin, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_begin(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::iterator"},
 	 { (char *)"swig_dummy_type_isample_vector_end", _wrap_swig_dummy_type_isample_vector_end, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_end(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::iterator"},
 	 { (char *)"swig_dummy_type_isample_vector_rbegin", _wrap_swig_dummy_type_isample_vector_rbegin, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_rbegin(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::reverse_iterator"},
 	 { (char *)"swig_dummy_type_isample_vector_rend", _wrap_swig_dummy_type_isample_vector_rend, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_rend(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::reverse_iterator"},
+	 { (char *)"swig_dummy_type_isample_vector_clear", _wrap_swig_dummy_type_isample_vector_clear, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_clear(swig_dummy_type_isample_vector self)"},
+	 { (char *)"swig_dummy_type_isample_vector_get_allocator", _wrap_swig_dummy_type_isample_vector_get_allocator, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_get_allocator(swig_dummy_type_isample_vector self) -> std::vector< ISample * >::allocator_type"},
 	 { (char *)"swig_dummy_type_isample_vector_pop_back", _wrap_swig_dummy_type_isample_vector_pop_back, METH_VARARGS, (char *)"swig_dummy_type_isample_vector_pop_back(swig_dummy_type_isample_vector self)"},
 	 { (char *)"swig_dummy_type_isample_vector_erase", _wrap_swig_dummy_type_isample_vector_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< ISample * >::iterator pos) -> std::vector< ISample * >::iterator\n"
@@ -101887,11 +102017,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"swig_dummy_type_const_isample_vector___nonzero__", _wrap_swig_dummy_type_const_isample_vector___nonzero__, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector___nonzero__(swig_dummy_type_const_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_const_isample_vector___bool__", _wrap_swig_dummy_type_const_isample_vector___bool__, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector___bool__(swig_dummy_type_const_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_const_isample_vector___len__", _wrap_swig_dummy_type_const_isample_vector___len__, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector___len__(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::size_type"},
-	 { (char *)"swig_dummy_type_const_isample_vector_pop", _wrap_swig_dummy_type_const_isample_vector_pop, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_pop(swig_dummy_type_const_isample_vector self) -> ISample"},
 	 { (char *)"swig_dummy_type_const_isample_vector___getslice__", _wrap_swig_dummy_type_const_isample_vector___getslice__, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector___getslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j) -> swig_dummy_type_const_isample_vector"},
 	 { (char *)"swig_dummy_type_const_isample_vector___setslice__", _wrap_swig_dummy_type_const_isample_vector___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j, swig_dummy_type_const_isample_vector v)\n"
-		"swig_dummy_type_const_isample_vector___setslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j)\n"
+		"__setslice__(std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j)\n"
+		"swig_dummy_type_const_isample_vector___setslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j, swig_dummy_type_const_isample_vector v)\n"
 		""},
 	 { (char *)"swig_dummy_type_const_isample_vector___delslice__", _wrap_swig_dummy_type_const_isample_vector___delslice__, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector___delslice__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, std::vector< ISample const * >::difference_type j)"},
 	 { (char *)"swig_dummy_type_const_isample_vector___delitem__", _wrap_swig_dummy_type_const_isample_vector___delitem__, METH_VARARGS, (char *)"\n"
@@ -101907,16 +102036,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"swig_dummy_type_const_isample_vector___setitem__(swig_dummy_type_const_isample_vector self, std::vector< ISample const * >::difference_type i, ISample x)\n"
 		""},
+	 { (char *)"swig_dummy_type_const_isample_vector_pop", _wrap_swig_dummy_type_const_isample_vector_pop, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_pop(swig_dummy_type_const_isample_vector self) -> ISample"},
 	 { (char *)"swig_dummy_type_const_isample_vector_append", _wrap_swig_dummy_type_const_isample_vector_append, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_append(swig_dummy_type_const_isample_vector self, ISample x)"},
 	 { (char *)"swig_dummy_type_const_isample_vector_empty", _wrap_swig_dummy_type_const_isample_vector_empty, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_empty(swig_dummy_type_const_isample_vector self) -> bool"},
 	 { (char *)"swig_dummy_type_const_isample_vector_size", _wrap_swig_dummy_type_const_isample_vector_size, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_size(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::size_type"},
-	 { (char *)"swig_dummy_type_const_isample_vector_clear", _wrap_swig_dummy_type_const_isample_vector_clear, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_clear(swig_dummy_type_const_isample_vector self)"},
 	 { (char *)"swig_dummy_type_const_isample_vector_swap", _wrap_swig_dummy_type_const_isample_vector_swap, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_swap(swig_dummy_type_const_isample_vector self, swig_dummy_type_const_isample_vector v)"},
-	 { (char *)"swig_dummy_type_const_isample_vector_get_allocator", _wrap_swig_dummy_type_const_isample_vector_get_allocator, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_get_allocator(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::allocator_type"},
 	 { (char *)"swig_dummy_type_const_isample_vector_begin", _wrap_swig_dummy_type_const_isample_vector_begin, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_begin(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::iterator"},
 	 { (char *)"swig_dummy_type_const_isample_vector_end", _wrap_swig_dummy_type_const_isample_vector_end, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_end(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::iterator"},
 	 { (char *)"swig_dummy_type_const_isample_vector_rbegin", _wrap_swig_dummy_type_const_isample_vector_rbegin, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_rbegin(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::reverse_iterator"},
 	 { (char *)"swig_dummy_type_const_isample_vector_rend", _wrap_swig_dummy_type_const_isample_vector_rend, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_rend(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::reverse_iterator"},
+	 { (char *)"swig_dummy_type_const_isample_vector_clear", _wrap_swig_dummy_type_const_isample_vector_clear, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_clear(swig_dummy_type_const_isample_vector self)"},
+	 { (char *)"swig_dummy_type_const_isample_vector_get_allocator", _wrap_swig_dummy_type_const_isample_vector_get_allocator, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_get_allocator(swig_dummy_type_const_isample_vector self) -> std::vector< ISample const * >::allocator_type"},
 	 { (char *)"swig_dummy_type_const_isample_vector_pop_back", _wrap_swig_dummy_type_const_isample_vector_pop_back, METH_VARARGS, (char *)"swig_dummy_type_const_isample_vector_pop_back(swig_dummy_type_const_isample_vector self)"},
 	 { (char *)"swig_dummy_type_const_isample_vector_erase", _wrap_swig_dummy_type_const_isample_vector_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< ISample const * >::iterator pos) -> std::vector< ISample const * >::iterator\n"
@@ -104934,11 +105064,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_IFormFactorPtr_t___nonzero__", _wrap_vector_IFormFactorPtr_t___nonzero__, METH_VARARGS, (char *)"vector_IFormFactorPtr_t___nonzero__(vector_IFormFactorPtr_t self) -> bool"},
 	 { (char *)"vector_IFormFactorPtr_t___bool__", _wrap_vector_IFormFactorPtr_t___bool__, METH_VARARGS, (char *)"vector_IFormFactorPtr_t___bool__(vector_IFormFactorPtr_t self) -> bool"},
 	 { (char *)"vector_IFormFactorPtr_t___len__", _wrap_vector_IFormFactorPtr_t___len__, METH_VARARGS, (char *)"vector_IFormFactorPtr_t___len__(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::size_type"},
-	 { (char *)"vector_IFormFactorPtr_t_pop", _wrap_vector_IFormFactorPtr_t_pop, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_pop(vector_IFormFactorPtr_t self) -> IFormFactor"},
 	 { (char *)"vector_IFormFactorPtr_t___getslice__", _wrap_vector_IFormFactorPtr_t___getslice__, METH_VARARGS, (char *)"vector_IFormFactorPtr_t___getslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j) -> vector_IFormFactorPtr_t"},
 	 { (char *)"vector_IFormFactorPtr_t___setslice__", _wrap_vector_IFormFactorPtr_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j, vector_IFormFactorPtr_t v)\n"
-		"vector_IFormFactorPtr_t___setslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j)\n"
+		"__setslice__(std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j)\n"
+		"vector_IFormFactorPtr_t___setslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j, vector_IFormFactorPtr_t v)\n"
 		""},
 	 { (char *)"vector_IFormFactorPtr_t___delslice__", _wrap_vector_IFormFactorPtr_t___delslice__, METH_VARARGS, (char *)"vector_IFormFactorPtr_t___delslice__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, std::vector< IFormFactor * >::difference_type j)"},
 	 { (char *)"vector_IFormFactorPtr_t___delitem__", _wrap_vector_IFormFactorPtr_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -104954,16 +105083,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_IFormFactorPtr_t___setitem__(vector_IFormFactorPtr_t self, std::vector< IFormFactor * >::difference_type i, IFormFactor x)\n"
 		""},
+	 { (char *)"vector_IFormFactorPtr_t_pop", _wrap_vector_IFormFactorPtr_t_pop, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_pop(vector_IFormFactorPtr_t self) -> IFormFactor"},
 	 { (char *)"vector_IFormFactorPtr_t_append", _wrap_vector_IFormFactorPtr_t_append, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_append(vector_IFormFactorPtr_t self, IFormFactor x)"},
 	 { (char *)"vector_IFormFactorPtr_t_empty", _wrap_vector_IFormFactorPtr_t_empty, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_empty(vector_IFormFactorPtr_t self) -> bool"},
 	 { (char *)"vector_IFormFactorPtr_t_size", _wrap_vector_IFormFactorPtr_t_size, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_size(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::size_type"},
-	 { (char *)"vector_IFormFactorPtr_t_clear", _wrap_vector_IFormFactorPtr_t_clear, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_clear(vector_IFormFactorPtr_t self)"},
 	 { (char *)"vector_IFormFactorPtr_t_swap", _wrap_vector_IFormFactorPtr_t_swap, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_swap(vector_IFormFactorPtr_t self, vector_IFormFactorPtr_t v)"},
-	 { (char *)"vector_IFormFactorPtr_t_get_allocator", _wrap_vector_IFormFactorPtr_t_get_allocator, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_get_allocator(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::allocator_type"},
 	 { (char *)"vector_IFormFactorPtr_t_begin", _wrap_vector_IFormFactorPtr_t_begin, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_begin(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::iterator"},
 	 { (char *)"vector_IFormFactorPtr_t_end", _wrap_vector_IFormFactorPtr_t_end, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_end(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::iterator"},
 	 { (char *)"vector_IFormFactorPtr_t_rbegin", _wrap_vector_IFormFactorPtr_t_rbegin, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_rbegin(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::reverse_iterator"},
 	 { (char *)"vector_IFormFactorPtr_t_rend", _wrap_vector_IFormFactorPtr_t_rend, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_rend(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::reverse_iterator"},
+	 { (char *)"vector_IFormFactorPtr_t_clear", _wrap_vector_IFormFactorPtr_t_clear, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_clear(vector_IFormFactorPtr_t self)"},
+	 { (char *)"vector_IFormFactorPtr_t_get_allocator", _wrap_vector_IFormFactorPtr_t_get_allocator, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_get_allocator(vector_IFormFactorPtr_t self) -> std::vector< IFormFactor * >::allocator_type"},
 	 { (char *)"vector_IFormFactorPtr_t_pop_back", _wrap_vector_IFormFactorPtr_t_pop_back, METH_VARARGS, (char *)"vector_IFormFactorPtr_t_pop_back(vector_IFormFactorPtr_t self)"},
 	 { (char *)"vector_IFormFactorPtr_t_erase", _wrap_vector_IFormFactorPtr_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< IFormFactor * >::iterator pos) -> std::vector< IFormFactor * >::iterator\n"
@@ -116468,10 +116598,19 @@ extern "C" {
         0,                                  /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-        0,                                  /* tp_version */
+        0,                                  /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+        0,                                  /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-        0,0,0,0                             /* tp_alloc -> tp_next */
+        0,                                  /* tp_allocs */
+        0,                                  /* tp_frees */
+        0,                                  /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+        0,                                  /* tp_prev */
+#endif
+        0                                   /* tp_next */
 #endif
       };
       varlink_type = tmp;
diff --git a/auto/Wrap/libBornAgainCore_wrap.h b/auto/Wrap/libBornAgainCore_wrap.h
index ed3a1cdbcd9..d24f1bcd895 100644
--- a/auto/Wrap/libBornAgainCore_wrap.h
+++ b/auto/Wrap/libBornAgainCore_wrap.h
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.7
+ * Version 3.0.8
  *
  * This file is not intended to be easily readable and contains a number of
  * coding conventions designed to improve portability and efficiency. Do not make
diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py
index 48142f7d054..bad21e6b6a6 100644
--- a/auto/Wrap/libBornAgainFit.py
+++ b/auto/Wrap/libBornAgainFit.py
@@ -1,5 +1,5 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.7
+# Version 3.0.8
 #
 # Do not make changes to this file unless you know what you are doing--modify
 # the SWIG interface file instead.
@@ -77,7 +77,7 @@ def _swig_getattr(self, class_type, name):
 def _swig_repr(self):
     try:
         strthis = "proxy of " + self.this.__repr__()
-    except:
+    except Exception:
         strthis = ""
     return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
 
@@ -93,12 +93,13 @@ except AttributeError:
 try:
     import weakref
     weakref_proxy = weakref.proxy
-except:
+except Exception:
     weakref_proxy = lambda x: x
 
 
 class SwigPyIterator(_object):
-    """Proxy of C++ swig::SwigPyIterator class"""
+    """Proxy of C++ swig::SwigPyIterator class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
     __swig_getmethods__ = {}
@@ -207,7 +208,8 @@ SwigPyIterator_swigregister(SwigPyIterator)
 _libBornAgainFit.SHARED_PTR_DISOWN_swigconstant(_libBornAgainFit)
 SHARED_PTR_DISOWN = _libBornAgainFit.SHARED_PTR_DISOWN
 class vdouble1d_t(_object):
-    """Proxy of C++ std::vector<(double)> class"""
+    """Proxy of C++ std::vector<(double)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vdouble1d_t, name, value)
     __swig_getmethods__ = {}
@@ -236,11 +238,6 @@ class vdouble1d_t(_object):
         return _libBornAgainFit.vdouble1d_t___len__(self)
 
 
-    def pop(self):
-        """pop(vdouble1d_t self) -> std::vector< double >::value_type"""
-        return _libBornAgainFit.vdouble1d_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vdouble1d_t"""
         return _libBornAgainFit.vdouble1d_t___getslice__(self, i, j)
@@ -248,8 +245,8 @@ class vdouble1d_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)
         __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)
+        __setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)
         """
         return _libBornAgainFit.vdouble1d_t___setslice__(self, *args)
 
@@ -284,6 +281,11 @@ class vdouble1d_t(_object):
         return _libBornAgainFit.vdouble1d_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vdouble1d_t self) -> std::vector< double >::value_type"""
+        return _libBornAgainFit.vdouble1d_t_pop(self)
+
+
     def append(self, x):
         """append(vdouble1d_t self, std::vector< double >::value_type const & x)"""
         return _libBornAgainFit.vdouble1d_t_append(self, x)
@@ -299,21 +301,11 @@ class vdouble1d_t(_object):
         return _libBornAgainFit.vdouble1d_t_size(self)
 
 
-    def clear(self):
-        """clear(vdouble1d_t self)"""
-        return _libBornAgainFit.vdouble1d_t_clear(self)
-
-
     def swap(self, v):
         """swap(vdouble1d_t self, vdouble1d_t v)"""
         return _libBornAgainFit.vdouble1d_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"""
-        return _libBornAgainFit.vdouble1d_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vdouble1d_t self) -> std::vector< double >::iterator"""
         return _libBornAgainFit.vdouble1d_t_begin(self)
@@ -334,6 +326,16 @@ class vdouble1d_t(_object):
         return _libBornAgainFit.vdouble1d_t_rend(self)
 
 
+    def clear(self):
+        """clear(vdouble1d_t self)"""
+        return _libBornAgainFit.vdouble1d_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"""
+        return _libBornAgainFit.vdouble1d_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vdouble1d_t self)"""
         return _libBornAgainFit.vdouble1d_t_pop_back(self)
@@ -357,7 +359,7 @@ class vdouble1d_t(_object):
         this = _libBornAgainFit.new_vdouble1d_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -411,7 +413,8 @@ vdouble1d_t_swigregister = _libBornAgainFit.vdouble1d_t_swigregister
 vdouble1d_t_swigregister(vdouble1d_t)
 
 class vdouble2d_t(_object):
-    """Proxy of C++ std::vector<(std::vector<(double)>)> class"""
+    """Proxy of C++ std::vector<(std::vector<(double)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vdouble2d_t, name, value)
     __swig_getmethods__ = {}
@@ -440,11 +443,6 @@ class vdouble2d_t(_object):
         return _libBornAgainFit.vdouble2d_t___len__(self)
 
 
-    def pop(self):
-        """pop(vdouble2d_t self) -> vdouble1d_t"""
-        return _libBornAgainFit.vdouble2d_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j) -> vdouble2d_t"""
         return _libBornAgainFit.vdouble2d_t___getslice__(self, i, j)
@@ -452,8 +450,8 @@ class vdouble2d_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)
         __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)
+        __setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)
         """
         return _libBornAgainFit.vdouble2d_t___setslice__(self, *args)
 
@@ -488,6 +486,11 @@ class vdouble2d_t(_object):
         return _libBornAgainFit.vdouble2d_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vdouble2d_t self) -> vdouble1d_t"""
+        return _libBornAgainFit.vdouble2d_t_pop(self)
+
+
     def append(self, x):
         """append(vdouble2d_t self, vdouble1d_t x)"""
         return _libBornAgainFit.vdouble2d_t_append(self, x)
@@ -503,21 +506,11 @@ class vdouble2d_t(_object):
         return _libBornAgainFit.vdouble2d_t_size(self)
 
 
-    def clear(self):
-        """clear(vdouble2d_t self)"""
-        return _libBornAgainFit.vdouble2d_t_clear(self)
-
-
     def swap(self, v):
         """swap(vdouble2d_t self, vdouble2d_t v)"""
         return _libBornAgainFit.vdouble2d_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"""
-        return _libBornAgainFit.vdouble2d_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"""
         return _libBornAgainFit.vdouble2d_t_begin(self)
@@ -538,6 +531,16 @@ class vdouble2d_t(_object):
         return _libBornAgainFit.vdouble2d_t_rend(self)
 
 
+    def clear(self):
+        """clear(vdouble2d_t self)"""
+        return _libBornAgainFit.vdouble2d_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"""
+        return _libBornAgainFit.vdouble2d_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vdouble2d_t self)"""
         return _libBornAgainFit.vdouble2d_t_pop_back(self)
@@ -561,7 +564,7 @@ class vdouble2d_t(_object):
         this = _libBornAgainFit.new_vdouble2d_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -615,7 +618,8 @@ vdouble2d_t_swigregister = _libBornAgainFit.vdouble2d_t_swigregister
 vdouble2d_t_swigregister(vdouble2d_t)
 
 class vector_integer_t(_object):
-    """Proxy of C++ std::vector<(int)> class"""
+    """Proxy of C++ std::vector<(int)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_integer_t, name, value)
     __swig_getmethods__ = {}
@@ -644,11 +648,6 @@ class vector_integer_t(_object):
         return _libBornAgainFit.vector_integer_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_integer_t self) -> std::vector< int >::value_type"""
-        return _libBornAgainFit.vector_integer_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_integer_t"""
         return _libBornAgainFit.vector_integer_t___getslice__(self, i, j)
@@ -656,8 +655,8 @@ class vector_integer_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)
         __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)
+        __setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)
         """
         return _libBornAgainFit.vector_integer_t___setslice__(self, *args)
 
@@ -692,6 +691,11 @@ class vector_integer_t(_object):
         return _libBornAgainFit.vector_integer_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_integer_t self) -> std::vector< int >::value_type"""
+        return _libBornAgainFit.vector_integer_t_pop(self)
+
+
     def append(self, x):
         """append(vector_integer_t self, std::vector< int >::value_type const & x)"""
         return _libBornAgainFit.vector_integer_t_append(self, x)
@@ -707,21 +711,11 @@ class vector_integer_t(_object):
         return _libBornAgainFit.vector_integer_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_integer_t self)"""
-        return _libBornAgainFit.vector_integer_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_integer_t self, vector_integer_t v)"""
         return _libBornAgainFit.vector_integer_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"""
-        return _libBornAgainFit.vector_integer_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_integer_t self) -> std::vector< int >::iterator"""
         return _libBornAgainFit.vector_integer_t_begin(self)
@@ -742,6 +736,16 @@ class vector_integer_t(_object):
         return _libBornAgainFit.vector_integer_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_integer_t self)"""
+        return _libBornAgainFit.vector_integer_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"""
+        return _libBornAgainFit.vector_integer_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_integer_t self)"""
         return _libBornAgainFit.vector_integer_t_pop_back(self)
@@ -765,7 +769,7 @@ class vector_integer_t(_object):
         this = _libBornAgainFit.new_vector_integer_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -819,7 +823,8 @@ vector_integer_t_swigregister = _libBornAgainFit.vector_integer_t_swigregister
 vector_integer_t_swigregister(vector_integer_t)
 
 class vector_longinteger_t(_object):
-    """Proxy of C++ std::vector<(unsigned long)> class"""
+    """Proxy of C++ std::vector<(unsigned long)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_longinteger_t, name, value)
     __swig_getmethods__ = {}
@@ -848,11 +853,6 @@ class vector_longinteger_t(_object):
         return _libBornAgainFit.vector_longinteger_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"""
-        return _libBornAgainFit.vector_longinteger_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j) -> vector_longinteger_t"""
         return _libBornAgainFit.vector_longinteger_t___getslice__(self, i, j)
@@ -860,8 +860,8 @@ class vector_longinteger_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)
         __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)
+        __setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)
         """
         return _libBornAgainFit.vector_longinteger_t___setslice__(self, *args)
 
@@ -896,6 +896,11 @@ class vector_longinteger_t(_object):
         return _libBornAgainFit.vector_longinteger_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"""
+        return _libBornAgainFit.vector_longinteger_t_pop(self)
+
+
     def append(self, x):
         """append(vector_longinteger_t self, std::vector< unsigned long >::value_type const & x)"""
         return _libBornAgainFit.vector_longinteger_t_append(self, x)
@@ -911,21 +916,11 @@ class vector_longinteger_t(_object):
         return _libBornAgainFit.vector_longinteger_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_longinteger_t self)"""
-        return _libBornAgainFit.vector_longinteger_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_longinteger_t self, vector_longinteger_t v)"""
         return _libBornAgainFit.vector_longinteger_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"""
-        return _libBornAgainFit.vector_longinteger_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"""
         return _libBornAgainFit.vector_longinteger_t_begin(self)
@@ -946,6 +941,16 @@ class vector_longinteger_t(_object):
         return _libBornAgainFit.vector_longinteger_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_longinteger_t self)"""
+        return _libBornAgainFit.vector_longinteger_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"""
+        return _libBornAgainFit.vector_longinteger_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_longinteger_t self)"""
         return _libBornAgainFit.vector_longinteger_t_pop_back(self)
@@ -969,7 +974,7 @@ class vector_longinteger_t(_object):
         this = _libBornAgainFit.new_vector_longinteger_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1023,7 +1028,8 @@ vector_longinteger_t_swigregister = _libBornAgainFit.vector_longinteger_t_swigre
 vector_longinteger_t_swigregister(vector_longinteger_t)
 
 class vector_complex_t(_object):
-    """Proxy of C++ std::vector<(std::complex<(double)>)> class"""
+    """Proxy of C++ std::vector<(std::complex<(double)>)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_complex_t, name, value)
     __swig_getmethods__ = {}
@@ -1052,11 +1058,6 @@ class vector_complex_t(_object):
         return _libBornAgainFit.vector_complex_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"""
-        return _libBornAgainFit.vector_complex_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j) -> vector_complex_t"""
         return _libBornAgainFit.vector_complex_t___getslice__(self, i, j)
@@ -1064,8 +1065,8 @@ class vector_complex_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)
         __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)
+        __setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)
         """
         return _libBornAgainFit.vector_complex_t___setslice__(self, *args)
 
@@ -1100,6 +1101,11 @@ class vector_complex_t(_object):
         return _libBornAgainFit.vector_complex_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"""
+        return _libBornAgainFit.vector_complex_t_pop(self)
+
+
     def append(self, x):
         """append(vector_complex_t self, std::vector< std::complex< double > >::value_type const & x)"""
         return _libBornAgainFit.vector_complex_t_append(self, x)
@@ -1115,21 +1121,11 @@ class vector_complex_t(_object):
         return _libBornAgainFit.vector_complex_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_complex_t self)"""
-        return _libBornAgainFit.vector_complex_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_complex_t self, vector_complex_t v)"""
         return _libBornAgainFit.vector_complex_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"""
-        return _libBornAgainFit.vector_complex_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"""
         return _libBornAgainFit.vector_complex_t_begin(self)
@@ -1150,6 +1146,16 @@ class vector_complex_t(_object):
         return _libBornAgainFit.vector_complex_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_complex_t self)"""
+        return _libBornAgainFit.vector_complex_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"""
+        return _libBornAgainFit.vector_complex_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_complex_t self)"""
         return _libBornAgainFit.vector_complex_t_pop_back(self)
@@ -1173,7 +1179,7 @@ class vector_complex_t(_object):
         this = _libBornAgainFit.new_vector_complex_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1227,7 +1233,8 @@ vector_complex_t_swigregister = _libBornAgainFit.vector_complex_t_swigregister
 vector_complex_t_swigregister(vector_complex_t)
 
 class vector_string_t(_object):
-    """Proxy of C++ std::vector<(std::string)> class"""
+    """Proxy of C++ std::vector<(std::string)> class."""
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, vector_string_t, name, value)
     __swig_getmethods__ = {}
@@ -1256,11 +1263,6 @@ class vector_string_t(_object):
         return _libBornAgainFit.vector_string_t___len__(self)
 
 
-    def pop(self):
-        """pop(vector_string_t self) -> std::vector< std::string >::value_type"""
-        return _libBornAgainFit.vector_string_t_pop(self)
-
-
     def __getslice__(self, i, j):
         """__getslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_string_t"""
         return _libBornAgainFit.vector_string_t___getslice__(self, i, j)
@@ -1268,8 +1270,8 @@ class vector_string_t(_object):
 
     def __setslice__(self, *args):
         """
-        __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)
         __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)
+        __setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)
         """
         return _libBornAgainFit.vector_string_t___setslice__(self, *args)
 
@@ -1304,6 +1306,11 @@ class vector_string_t(_object):
         return _libBornAgainFit.vector_string_t___setitem__(self, *args)
 
 
+    def pop(self):
+        """pop(vector_string_t self) -> std::vector< std::string >::value_type"""
+        return _libBornAgainFit.vector_string_t_pop(self)
+
+
     def append(self, x):
         """append(vector_string_t self, std::vector< std::string >::value_type const & x)"""
         return _libBornAgainFit.vector_string_t_append(self, x)
@@ -1319,21 +1326,11 @@ class vector_string_t(_object):
         return _libBornAgainFit.vector_string_t_size(self)
 
 
-    def clear(self):
-        """clear(vector_string_t self)"""
-        return _libBornAgainFit.vector_string_t_clear(self)
-
-
     def swap(self, v):
         """swap(vector_string_t self, vector_string_t v)"""
         return _libBornAgainFit.vector_string_t_swap(self, v)
 
 
-    def get_allocator(self):
-        """get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"""
-        return _libBornAgainFit.vector_string_t_get_allocator(self)
-
-
     def begin(self):
         """begin(vector_string_t self) -> std::vector< std::string >::iterator"""
         return _libBornAgainFit.vector_string_t_begin(self)
@@ -1354,6 +1351,16 @@ class vector_string_t(_object):
         return _libBornAgainFit.vector_string_t_rend(self)
 
 
+    def clear(self):
+        """clear(vector_string_t self)"""
+        return _libBornAgainFit.vector_string_t_clear(self)
+
+
+    def get_allocator(self):
+        """get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"""
+        return _libBornAgainFit.vector_string_t_get_allocator(self)
+
+
     def pop_back(self):
         """pop_back(vector_string_t self)"""
         return _libBornAgainFit.vector_string_t_pop_back(self)
@@ -1377,7 +1384,7 @@ class vector_string_t(_object):
         this = _libBornAgainFit.new_vector_string_t(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def push_back(self, x):
@@ -1439,6 +1446,7 @@ class Attributes(_object):
     C++ includes: Attributes.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, Attributes, name, value)
     __swig_getmethods__ = {}
@@ -1455,7 +1463,7 @@ class Attributes(_object):
         this = _libBornAgainFit.new_Attributes()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def fixed():
@@ -1525,6 +1533,7 @@ class RealLimits(_object):
     C++ includes: RealLimits.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, RealLimits, name, value)
     __swig_getmethods__ = {}
@@ -1541,7 +1550,7 @@ class RealLimits(_object):
         this = _libBornAgainFit.new_RealLimits()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def hasLowerLimit(self):
@@ -1783,6 +1792,7 @@ class IMinimizer(_object):
     C++ includes: IMinimizer.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IMinimizer, name, value)
     __swig_getmethods__ = {}
@@ -1799,7 +1809,7 @@ class IMinimizer(_object):
         this = _libBornAgainFit.new_IMinimizer()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainFit.delete_IMinimizer
     __del__ = lambda self: None
@@ -1948,6 +1958,7 @@ class FitParameter(RealLimits, Attributes):
     C++ includes: FitParameter.h
 
     """
+
     __swig_setmethods__ = {}
     for _s in [RealLimits, Attributes]:
         __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
@@ -1973,7 +1984,7 @@ class FitParameter(RealLimits, Attributes):
         this = _libBornAgainFit.new_FitParameter(*args)
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainFit.delete_FitParameter
     __del__ = lambda self: None
@@ -2069,6 +2080,7 @@ class FitSuiteParameters(_object):
     C++ includes: FitSuiteParameters.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, FitSuiteParameters, name, value)
     __swig_getmethods__ = {}
@@ -2085,7 +2097,7 @@ class FitSuiteParameters(_object):
         this = _libBornAgainFit.new_FitSuiteParameters()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainFit.delete_FitSuiteParameters
     __del__ = lambda self: None
@@ -2323,6 +2335,7 @@ class MinimizerCatalogue(_object):
     Map of minimizer names holding list of defined algorithms for every minimizer. 
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, MinimizerCatalogue, name, value)
     __swig_getmethods__ = {}
@@ -2339,7 +2352,7 @@ class MinimizerCatalogue(_object):
         this = _libBornAgainFit.new_MinimizerCatalogue()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
 
     def toString(self):
@@ -2370,6 +2383,7 @@ class MinimizerFactory(_object):
     C++ includes: MinimizerFactory.h
 
     """
+
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, MinimizerFactory, name, value)
     __swig_getmethods__ = {}
@@ -2427,7 +2441,7 @@ class MinimizerFactory(_object):
         this = _libBornAgainFit.new_MinimizerFactory()
         try:
             self.this.append(this)
-        except:
+        except Exception:
             self.this = this
     __swig_destroy__ = _libBornAgainFit.delete_MinimizerFactory
     __del__ = lambda self: None
diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp
index 9dd23104b22..23b6a46a2d9 100644
--- a/auto/Wrap/libBornAgainFit_wrap.cpp
+++ b/auto/Wrap/libBornAgainFit_wrap.cpp
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.7
+ * Version 3.0.8
  *
  * This file is not intended to be easily readable and contains a number of
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -8,7 +8,11 @@
  * interface file instead.
  * ----------------------------------------------------------------------------- */
 
+
+#ifndef SWIGPYTHON
 #define SWIGPYTHON
+#endif
+
 #define SWIG_DIRECTORS
 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
 
@@ -1326,7 +1330,7 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
 
 /* Unpack the argument tuple */
 
-SWIGINTERN int
+SWIGINTERN Py_ssize_t
 SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
 {
   if (!args) {
@@ -1340,7 +1344,7 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
   }  
   if (!PyTuple_Check(args)) {
     if (min <= 1 && max >= 1) {
-      int i;
+      Py_ssize_t i;
       objs[0] = args;
       for (i = 1; i < max; ++i) {
 	objs[i] = 0;
@@ -1360,7 +1364,7 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
 		   name, (min == max ? "" : "at most "), (int)max, (int)l);
       return 0;
     } else {
-      int i;
+      Py_ssize_t i;
       for (i = 0; i < l; ++i) {
 	objs[i] = PyTuple_GET_ITEM(args, i);
       }
@@ -1701,16 +1705,32 @@ SwigPyObject_dealloc(PyObject *v)
     if (destroy) {
       /* destroy is always a VARARGS method */
       PyObject *res;
+
+      /* PyObject_CallFunction() has the potential to silently drop
+         the active active exception.  In cases of unnamed temporary
+         variable or where we just finished iterating over a generator
+         StopIteration will be active right now, and this needs to
+         remain true upon return from SwigPyObject_dealloc.  So save
+         and restore. */
+      
+      PyObject *val = NULL, *type = NULL, *tb = NULL;
+      PyErr_Fetch(&val, &type, &tb);
+
       if (data->delargs) {
-	/* we need to create a temporary object to carry the destroy operation */
-	PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
-	res = SWIG_Python_CallFunctor(destroy, tmp);
-	Py_DECREF(tmp);
+        /* we need to create a temporary object to carry the destroy operation */
+        PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
+        res = SWIG_Python_CallFunctor(destroy, tmp);
+        Py_DECREF(tmp);
       } else {
-	PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
-	PyObject *mself = PyCFunction_GET_SELF(destroy);
-	res = ((*meth)(mself, v));
+        PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
+        PyObject *mself = PyCFunction_GET_SELF(destroy);
+        res = ((*meth)(mself, v));
       }
+      if (!res)
+        PyErr_WriteUnraisable(destroy);
+
+      PyErr_Restore(val, type, tb);
+
       Py_XDECREF(res);
     } 
 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
@@ -1734,6 +1754,7 @@ SwigPyObject_append(PyObject* v, PyObject* next)
   next = tmp;
 #endif
   if (!SwigPyObject_Check(next)) {
+    PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
     return NULL;
   }
   sobj->next = next;
@@ -1889,7 +1910,9 @@ SwigPyObject_TypeOnce(void) {
     (unaryfunc)SwigPyObject_oct,  /*nb_oct*/
     (unaryfunc)SwigPyObject_hex,  /*nb_hex*/
 #endif
-#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */
+#if PY_VERSION_HEX >= 0x03050000 /* 3.5 */
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
+#elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
 #elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
@@ -1969,10 +1992,19 @@ SwigPyObject_TypeOnce(void) {
       0,                                    /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-      0,                                    /* tp_version */
+      0,                                    /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+      0,                                    /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-      0,0,0,0                               /* tp_alloc -> tp_next */
+      0,                                    /* tp_allocs */
+      0,                                    /* tp_frees */
+      0,                                    /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+      0,                                    /* tp_prev */
+#endif
+      0                                     /* tp_next */
 #endif
     };
     swigpyobject_type = tmp;
@@ -2148,10 +2180,19 @@ SwigPyPacked_TypeOnce(void) {
       0,                                    /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-      0,                                    /* tp_version */
+      0,                                    /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+      0,                                    /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-      0,0,0,0                               /* tp_alloc -> tp_next */
+      0,                                    /* tp_allocs */
+      0,                                    /* tp_frees */
+      0,                                    /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+      0,                                    /* tp_prev */
+#endif
+      0                                     /* tp_next */
 #endif
     };
     swigpypacked_type = tmp;
@@ -2679,13 +2720,11 @@ PyModule_AddObject(PyObject *m, char *name, PyObject *o)
 {
   PyObject *dict;
   if (!PyModule_Check(m)) {
-    PyErr_SetString(PyExc_TypeError,
-		    "PyModule_AddObject() needs module as first arg");
+    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg");
     return SWIG_ERROR;
   }
   if (!o) {
-    PyErr_SetString(PyExc_TypeError,
-		    "PyModule_AddObject() needs non-NULL value");
+    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value");
     return SWIG_ERROR;
   }
   
@@ -3487,7 +3526,7 @@ static swig_module_info swig_module = {swig_types, 47, 0, 0, 0, 0};
 #endif
 #define SWIG_name    "_libBornAgainFit"
 
-#define SWIGVERSION 0x030007 
+#define SWIGVERSION 0x030008 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -3733,9 +3772,11 @@ SWIG_AsVal_double (PyObject *obj, double *val)
   if (PyFloat_Check(obj)) {
     if (val) *val = PyFloat_AsDouble(obj);
     return SWIG_OK;
+#if PY_VERSION_HEX < 0x03000000
   } else if (PyInt_Check(obj)) {
     if (val) *val = PyInt_AsLong(obj);
     return SWIG_OK;
+#endif
   } else if (PyLong_Check(obj)) {
     double v = PyLong_AsDouble(obj);
     if (!PyErr_Occurred()) {
@@ -3827,18 +3868,7 @@ SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
       return SWIG_OK;
     } else {
       PyErr_Clear();
-#if PY_VERSION_HEX >= 0x03000000
-      {
-        long v = PyLong_AsLong(obj);
-        if (!PyErr_Occurred()) {
-          if (v < 0) {
-            return SWIG_OverflowError;
-          }
-        } else {
-          PyErr_Clear();
-        }
-      }
-#endif
+      return SWIG_OverflowError;
     }
   }
 #ifdef SWIG_PYTHON_CAST_MODE
@@ -3895,16 +3925,20 @@ SWIGINTERNINLINE PyObject*
 SWIGINTERN int
 SWIG_AsVal_long (PyObject *obj, long* val)
 {
+#if PY_VERSION_HEX < 0x03000000
   if (PyInt_Check(obj)) {
     if (val) *val = PyInt_AsLong(obj);
     return SWIG_OK;
-  } else if (PyLong_Check(obj)) {
+  } else
+#endif
+  if (PyLong_Check(obj)) {
     long v = PyLong_AsLong(obj);
     if (!PyErr_Occurred()) {
       if (val) *val = v;
       return SWIG_OK;
     } else {
       PyErr_Clear();
+      return SWIG_OverflowError;
     }
   }
 #ifdef SWIG_PYTHON_CAST_MODE
@@ -3954,7 +3988,7 @@ SWIGINTERNINLINE PyObject*
 }
 
 
-namespace swig {  
+namespace swig {
   template <class Type>
   struct noconst_traits {
     typedef Type noconst_type;
@@ -3968,7 +4002,7 @@ namespace swig {
   /*
     type categories
   */
-  struct pointer_category { };  
+  struct pointer_category { };
   struct value_category { };
 
   /*
@@ -3981,12 +4015,12 @@ namespace swig {
     return traits<typename noconst_traits<Type >::noconst_type >::type_name();
   }
 
-  template <class Type> 
+  template <class Type>
   struct traits_info {
     static swig_type_info *type_query(std::string name) {
       name += " *";
       return SWIG_TypeQuery(name.c_str());
-    }    
+    }
     static swig_type_info *type_info() {
       static swig_type_info *info = type_query(type_name<Type>());
       return info;
@@ -4007,17 +4041,17 @@ namespace swig {
       std::string ptrname = name;
       ptrname += " *";
       return ptrname;
-    }    
+    }
     static const char* type_name() {
       static std::string name = make_ptr_name(swig::type_name<Type>());
       return name.c_str();
     }
   };
 
-  template <class Type, class Category> 
+  template <class Type, class Category>
   struct traits_as { };
- 
-  template <class Type, class Category> 
+
+  template <class Type, class Category>
   struct traits_check { };
 
 }
@@ -4361,6 +4395,12 @@ namespace swig {
     return pos;
   }
 
+  template <class Sequence>
+  inline void
+  erase(Sequence* seq, const typename Sequence::iterator& position) {
+    seq->erase(position);
+  }
+
   template <class Sequence, class Difference>
   inline Sequence*
   getslice(const Sequence* self, Difference i, Difference j, Py_ssize_t step) {
@@ -4735,7 +4775,7 @@ namespace swig
   template <class T>
   struct SwigPySequence_Ref
   {
-    SwigPySequence_Ref(PyObject* seq, int index)
+    SwigPySequence_Ref(PyObject* seq, Py_ssize_t index)
       : _seq(seq), _index(index)
     {
     }
@@ -4747,7 +4787,7 @@ namespace swig
 	return swig::as<T>(item, true);
       } catch (std::exception& e) {
 	char msg[1024];
-	sprintf(msg, "in sequence element %d ", _index);
+	sprintf(msg, "in sequence element %d ", (int)_index);
 	if (!PyErr_Occurred()) {
 	  ::SWIG_Error(SWIG_TypeError,  swig::type_name<T>());
 	}
@@ -4765,7 +4805,7 @@ namespace swig
 
   private:
     PyObject* _seq;
-    int _index;
+    Py_ssize_t _index;
   };
 
   template <class T>
@@ -4786,13 +4826,13 @@ namespace swig
     typedef Reference reference;
     typedef T value_type;
     typedef T* pointer;
-    typedef int difference_type;
+    typedef Py_ssize_t difference_type;
 
     SwigPySequence_InputIterator()
     {
     }
 
-    SwigPySequence_InputIterator(PyObject* seq, int index)
+    SwigPySequence_InputIterator(PyObject* seq, Py_ssize_t index)
       : _seq(seq), _index(index)
     {
     }
@@ -4872,6 +4912,7 @@ namespace swig
     difference_type _index;
   };
 
+  // STL container wrapper around a Python sequence
   template <class T>
   struct SwigPySequence_Cont
   {
@@ -4879,8 +4920,8 @@ namespace swig
     typedef const SwigPySequence_Ref<T> const_reference;
     typedef T value_type;
     typedef T* pointer;
-    typedef int difference_type;
-    typedef int size_type;
+    typedef Py_ssize_t difference_type;
+    typedef size_t size_type;
     typedef const pointer const_pointer;
     typedef SwigPySequence_InputIterator<T, reference> iterator;
     typedef SwigPySequence_InputIterator<T, const_reference> const_iterator;
@@ -4941,13 +4982,13 @@ namespace swig
 
     bool check(bool set_err = true) const
     {
-      int s = size();
-      for (int i = 0; i < s; ++i) {
+      Py_ssize_t s = size();
+      for (Py_ssize_t i = 0; i < s; ++i) {
 	swig::SwigVar_PyObject item = PySequence_GetItem(_seq, i);
 	if (!swig::check<value_type>(item)) {
 	  if (set_err) {
 	    char msg[1024];
-	    sprintf(msg, "in sequence element %d", i);
+	    sprintf(msg, "in sequence element %d", (int)i);
 	    SWIG_Error(SWIG_RuntimeError, msg);
 	  }
 	  return false;
@@ -4967,17 +5008,17 @@ namespace swig
 
 
 namespace swig {
-  template <> struct traits<double > {
+  template <> struct traits< double > {
     typedef value_category category;
     static const char* type_name() { return"double"; }
-  };  
-  template <>  struct traits_asval<double > {   
+  };
+  template <>  struct traits_asval< double > {
     typedef double value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_double (obj, val);
     }
   };
-  template <>  struct traits_from<double > {
+  template <>  struct traits_from< double > {
     typedef double value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_double  (val);
@@ -5051,10 +5092,9 @@ namespace swig {
 #endif
       size_type size = seq.size();
       if (size <= (size_type)INT_MAX) {
-	PyObject *obj = PyTuple_New((int)size);
-	int i = 0;
-	for (const_iterator it = seq.begin();
-	     it != seq.end(); ++it, ++i) {
+	PyObject *obj = PyTuple_New((Py_ssize_t)size);
+	Py_ssize_t i = 0;
+	for (const_iterator it = seq.begin(); it != seq.end(); ++it, ++i) {
 	  PyTuple_SetItem(obj,i,swig::from<value_type>(*it));
 	}
 	return obj;
@@ -5085,7 +5125,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<double, std::allocator< double > > > {
+	template <>  struct traits<std::vector< double, std::allocator< double > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "double" "," "std::allocator< double >" " >";
@@ -5120,24 +5160,20 @@ SWIG_From_size_t  (size_t value)
   return SWIG_From_unsigned_SS_long  (static_cast< unsigned long >(value));
 }
 
-SWIGINTERN std::vector< double >::value_type std_vector_Sl_double_Sg__pop(std::vector< double > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<double,std::allocator< double > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v=std::vector< double,std::allocator< double > >()){
+SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< double,std::allocator< double > >());
+    }
+SWIGINTERN void std_vector_Sl_double_Sg____setslice____SWIG_1(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getitem____SWIG_0(std::vector< double > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5146,8 +5182,8 @@ SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_0(std::vector< double > *self,PySliceObject *slice,std::vector< double,std::allocator< double > > const &v){
@@ -5157,8 +5193,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_0(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_1(std::vector< double > *self,PySliceObject *slice){
@@ -5168,8 +5204,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_1(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_1(std::vector< double > *self,PySliceObject *slice){
@@ -5179,8 +5215,8 @@ SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_1(std::vector< double
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<double,std::allocator< double > >::difference_type id = i;
-      std::vector<double,std::allocator< double > >::difference_type jd = j;
+      std::vector< double,std::allocator< double > >::difference_type id = i;
+      std::vector< double,std::allocator< double > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____getitem____SWIG_1(std::vector< double > const *self,std::vector< double >::difference_type i){
@@ -5189,6 +5225,13 @@ SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____g
 SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_2(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< double >::value_type std_vector_Sl_double_Sg__pop(std::vector< double > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< double,std::allocator< double > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_double_Sg__append(std::vector< double > *self,std::vector< double >::value_type const &x){
       self->push_back(x);
     }
@@ -5198,7 +5241,7 @@ SWIGINTERN std::vector< double >::iterator std_vector_Sl_double_Sg__insert__SWIG
 SWIGINTERN void std_vector_Sl_double_Sg__insert__SWIG_1(std::vector< double > *self,std::vector< double >::iterator pos,std::vector< double >::size_type n,std::vector< double >::value_type const &x){ self->insert(pos, n, x); }
 
       namespace swig {
-	template <>  struct traits<std::vector<std::vector< double,std::allocator< double > >, std::allocator< std::vector< double,std::allocator< double > > > > > {
+	template <>  struct traits<std::vector< std::vector< double,std::allocator< double > >, std::allocator< std::vector< double,std::allocator< double > > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::vector< double,std::allocator< double > >" "," "std::allocator< std::vector< double,std::allocator< double > > >" " >";
@@ -5218,24 +5261,20 @@ SWIGINTERN bool std_vector_Sl_std_vector_Sl_double_Sg__Sg____bool__(std::vector<
 SWIGINTERN std::vector< std::vector< double > >::size_type std_vector_Sl_std_vector_Sl_double_Sg__Sg____len__(std::vector< std::vector< double > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::vector< double > >::value_type std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(std::vector< std::vector< double > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *std_vector_Sl_std_vector_Sl_double_Sg__Sg____getslice__(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v=std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >()){
+SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >());
+    }
+SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_1(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delslice__(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_0(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *std_vector_Sl_std_vector_Sl_double_Sg__Sg____getitem____SWIG_0(std::vector< std::vector< double > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5244,8 +5283,8 @@ SWIGINTERN std::vector< std::vector< double,std::allocator< double > >,std::allo
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_0(std::vector< std::vector< double > > *self,PySliceObject *slice,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &v){
@@ -5255,8 +5294,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_0(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_1(std::vector< std::vector< double > > *self,PySliceObject *slice){
@@ -5266,8 +5305,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_1(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_1(std::vector< std::vector< double > > *self,PySliceObject *slice){
@@ -5277,8 +5316,8 @@ SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____delitem____SWIG_1(s
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
-      std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type id = i;
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::vector< double > >::value_type const &std_vector_Sl_std_vector_Sl_double_Sg__Sg____getitem____SWIG_1(std::vector< std::vector< double > > const *self,std::vector< std::vector< double > >::difference_type i){
@@ -5287,6 +5326,13 @@ SWIGINTERN std::vector< std::vector< double > >::value_type const &std_vector_Sl
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg____setitem____SWIG_2(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::difference_type i,std::vector< std::vector< double > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::vector< double > >::value_type std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(std::vector< std::vector< double > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_vector_Sl_double_Sg__Sg__append(std::vector< std::vector< double > > *self,std::vector< std::vector< double > >::value_type const &x){
       self->push_back(x);
     }
@@ -5322,17 +5368,17 @@ SWIG_AsVal_int (PyObject * obj, int *val)
 
 
 namespace swig {
-  template <> struct traits<int > {
+  template <> struct traits< int > {
     typedef value_category category;
     static const char* type_name() { return"int"; }
-  };  
-  template <>  struct traits_asval<int > {   
+  };
+  template <>  struct traits_asval< int > {
     typedef int value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_int (obj, val);
     }
   };
-  template <>  struct traits_from<int > {
+  template <>  struct traits_from< int > {
     typedef int value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_int  (val);
@@ -5342,7 +5388,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<int, std::allocator< int > > > {
+	template <>  struct traits<std::vector< int, std::allocator< int > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "int" "," "std::allocator< int >" " >";
@@ -5362,24 +5408,20 @@ SWIGINTERN bool std_vector_Sl_int_Sg____bool__(std::vector< int > const *self){
 SWIGINTERN std::vector< int >::size_type std_vector_Sl_int_Sg____len__(std::vector< int > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< int >::value_type std_vector_Sl_int_Sg__pop(std::vector< int > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<int,std::allocator< int > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v=std::vector< int,std::allocator< int > >()){
+SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< int,std::allocator< int > >());
+    }
+SWIGINTERN void std_vector_Sl_int_Sg____setslice____SWIG_1(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getitem____SWIG_0(std::vector< int > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5388,8 +5430,8 @@ SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____get
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_0(std::vector< int > *self,PySliceObject *slice,std::vector< int,std::allocator< int > > const &v){
@@ -5399,8 +5441,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_0(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_1(std::vector< int > *self,PySliceObject *slice){
@@ -5410,8 +5452,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_1(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_1(std::vector< int > *self,PySliceObject *slice){
@@ -5421,8 +5463,8 @@ SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_1(std::vector< int > *se
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<int,std::allocator< int > >::difference_type id = i;
-      std::vector<int,std::allocator< int > >::difference_type jd = j;
+      std::vector< int,std::allocator< int > >::difference_type id = i;
+      std::vector< int,std::allocator< int > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem____SWIG_1(std::vector< int > const *self,std::vector< int >::difference_type i){
@@ -5431,6 +5473,13 @@ SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem
 SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_2(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< int >::value_type std_vector_Sl_int_Sg__pop(std::vector< int > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< int,std::allocator< int > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_int_Sg__append(std::vector< int > *self,std::vector< int >::value_type const &x){
       self->push_back(x);
     }
@@ -5440,17 +5489,17 @@ SWIGINTERN std::vector< int >::iterator std_vector_Sl_int_Sg__insert__SWIG_0(std
 SWIGINTERN void std_vector_Sl_int_Sg__insert__SWIG_1(std::vector< int > *self,std::vector< int >::iterator pos,std::vector< int >::size_type n,std::vector< int >::value_type const &x){ self->insert(pos, n, x); }
 
 namespace swig {
-  template <> struct traits<unsigned long > {
+  template <> struct traits< unsigned long > {
     typedef value_category category;
     static const char* type_name() { return"unsigned long"; }
-  };  
-  template <>  struct traits_asval<unsigned long > {   
+  };
+  template <>  struct traits_asval< unsigned long > {
     typedef unsigned long value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_unsigned_SS_long (obj, val);
     }
   };
-  template <>  struct traits_from<unsigned long > {
+  template <>  struct traits_from< unsigned long > {
     typedef unsigned long value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_unsigned_SS_long  (val);
@@ -5460,7 +5509,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<unsigned long, std::allocator< unsigned long > > > {
+	template <>  struct traits<std::vector< unsigned long, std::allocator< unsigned long > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "unsigned long" "," "std::allocator< unsigned long >" " >";
@@ -5480,24 +5529,20 @@ SWIGINTERN bool std_vector_Sl_unsigned_SS_long_Sg____bool__(std::vector< unsigne
 SWIGINTERN std::vector< unsigned long >::size_type std_vector_Sl_unsigned_SS_long_Sg____len__(std::vector< unsigned long > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< unsigned long >::value_type std_vector_Sl_unsigned_SS_long_Sg__pop(std::vector< unsigned long > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<unsigned long,std::allocator< unsigned long > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vector_Sl_unsigned_SS_long_Sg____getslice__(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j,std::vector< unsigned long,std::allocator< unsigned long > > const &v=std::vector< unsigned long,std::allocator< unsigned long > >()){
+SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< unsigned long,std::allocator< unsigned long > >());
+    }
+SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_1(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j,std::vector< unsigned long,std::allocator< unsigned long > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delslice__(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_0(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vector_Sl_unsigned_SS_long_Sg____getitem____SWIG_0(std::vector< unsigned long > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5506,8 +5551,8 @@ SWIGINTERN std::vector< unsigned long,std::allocator< unsigned long > > *std_vec
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_0(std::vector< unsigned long > *self,PySliceObject *slice,std::vector< unsigned long,std::allocator< unsigned long > > const &v){
@@ -5517,8 +5562,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_0(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_1(std::vector< unsigned long > *self,PySliceObject *slice){
@@ -5528,8 +5573,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_1(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_1(std::vector< unsigned long > *self,PySliceObject *slice){
@@ -5539,8 +5584,8 @@ SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____delitem____SWIG_1(std::vect
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type id = i;
-      std::vector<unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type id = i;
+      std::vector< unsigned long,std::allocator< unsigned long > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< unsigned long >::value_type const &std_vector_Sl_unsigned_SS_long_Sg____getitem____SWIG_1(std::vector< unsigned long > const *self,std::vector< unsigned long >::difference_type i){
@@ -5549,6 +5594,13 @@ SWIGINTERN std::vector< unsigned long >::value_type const &std_vector_Sl_unsigne
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg____setitem____SWIG_2(std::vector< unsigned long > *self,std::vector< unsigned long >::difference_type i,std::vector< unsigned long >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< unsigned long >::value_type std_vector_Sl_unsigned_SS_long_Sg__pop(std::vector< unsigned long > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< unsigned long,std::allocator< unsigned long > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_unsigned_SS_long_Sg__append(std::vector< unsigned long > *self,std::vector< unsigned long >::value_type const &x){
       self->push_back(x);
     }
@@ -5576,7 +5628,7 @@ SWIG_AsVal_std_complex_Sl_double_Sg_  (PyObject *o, std::complex<double>* val)
 
 
 SWIGINTERNINLINE PyObject*
-SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig/3.0.7/typemaps/swigmacros.swg,104,%ifcplusplus@*/
+SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig3.0/typemaps/swigmacros.swg,104,%ifcplusplus@*/
 
 const std::complex<double>&
 
@@ -5589,17 +5641,17 @@ const std::complex<double>&
 
 
 namespace swig {
-  template <> struct traits<std::complex<double> > {
+  template <> struct traits< std::complex<double> > {
     typedef value_category category;
     static const char* type_name() { return"std::complex<double>"; }
-  };  
-  template <>  struct traits_asval<std::complex<double> > {   
+  };
+  template <>  struct traits_asval< std::complex<double> > {
     typedef std::complex<double> value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_std_complex_Sl_double_Sg_ (obj, val);
     }
   };
-  template <>  struct traits_from<std::complex<double> > {
+  template <>  struct traits_from< std::complex<double> > {
     typedef std::complex<double> value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_std_complex_Sl_double_Sg_  (val);
@@ -5609,7 +5661,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<std::complex< double >, std::allocator< std::complex< double > > > > {
+	template <>  struct traits<std::vector< std::complex< double >, std::allocator< std::complex< double > > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::complex< double >" "," "std::allocator< std::complex< double > >" " >";
@@ -5629,24 +5681,20 @@ SWIGINTERN bool std_vector_Sl_std_complex_Sl_double_Sg__Sg____bool__(std::vector
 SWIGINTERN std::vector< std::complex< double > >::size_type std_vector_Sl_std_complex_Sl_double_Sg__Sg____len__(std::vector< std::complex< double > > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::complex< double > >::value_type std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(std::vector< std::complex< double > > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< double > > > *std_vector_Sl_std_complex_Sl_double_Sg__Sg____getslice__(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v=std::vector< std::complex< double >,std::allocator< std::complex< double > > >()){
+SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::complex< double >,std::allocator< std::complex< double > > >());
+    }
+SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_1(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delslice__(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_0(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< double > > > *std_vector_Sl_std_complex_Sl_double_Sg__Sg____getitem____SWIG_0(std::vector< std::complex< double > > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5655,8 +5703,8 @@ SWIGINTERN std::vector< std::complex< double >,std::allocator< std::complex< dou
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_0(std::vector< std::complex< double > > *self,PySliceObject *slice,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &v){
@@ -5666,8 +5714,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_0(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_1(std::vector< std::complex< double > > *self,PySliceObject *slice){
@@ -5677,8 +5725,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_1(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_1(std::vector< std::complex< double > > *self,PySliceObject *slice){
@@ -5688,8 +5736,8 @@ SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____delitem____SWIG_1(
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
-      std::vector<std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type id = i;
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::complex< double > >::value_type const &std_vector_Sl_std_complex_Sl_double_Sg__Sg____getitem____SWIG_1(std::vector< std::complex< double > > const *self,std::vector< std::complex< double > >::difference_type i){
@@ -5698,6 +5746,13 @@ SWIGINTERN std::vector< std::complex< double > >::value_type const &std_vector_S
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg____setitem____SWIG_2(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::difference_type i,std::vector< std::complex< double > >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::complex< double > >::value_type std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(std::vector< std::complex< double > > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::complex< double >,std::allocator< std::complex< double > > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_complex_Sl_double_Sg__Sg__append(std::vector< std::complex< double > > *self,std::vector< std::complex< double > >::value_type const &x){
       self->push_back(x);
     }
@@ -5759,18 +5814,17 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #else
 	if (*alloc == SWIG_NEWOBJ) 
 #endif
-	  {
-	    *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
-	    *alloc = SWIG_NEWOBJ;
-	  }
-	else {
+	{
+	  *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+	  *alloc = SWIG_NEWOBJ;
+	} else {
 	  *cptr = cstr;
 	  *alloc = SWIG_OLDOBJ;
 	}
       } else {
-        #if PY_VERSION_HEX>=0x03000000
-        assert(0); /* Should never reach here in Python 3 */
-        #endif
+	#if PY_VERSION_HEX>=0x03000000
+	assert(0); /* Should never reach here in Python 3 */
+	#endif
 	*cptr = SWIG_Python_str_AsChar(obj);
       }
     }
@@ -5780,6 +5834,30 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #endif
     return SWIG_OK;
   } else {
+#if defined(SWIG_PYTHON_2_UNICODE)
+#if PY_VERSION_HEX<0x03000000
+    if (PyUnicode_Check(obj)) {
+      char *cstr; Py_ssize_t len;
+      if (!alloc && cptr) {
+        return SWIG_RuntimeError;
+      }
+      obj = PyUnicode_AsUTF8String(obj);
+      if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
+        if (cptr) {
+          if (alloc) *alloc = SWIG_NEWOBJ;
+          *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+        }
+        if (psize) *psize = len + 1;
+
+        Py_XDECREF(obj);
+        return SWIG_OK;
+      } else {
+        Py_XDECREF(obj);
+      }
+    }
+#endif
+#endif
+
     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
     if (pchar_descriptor) {
       void* vptr = 0;
@@ -5855,12 +5933,12 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
     } else {
 #if PY_VERSION_HEX >= 0x03000000
 #if PY_VERSION_HEX >= 0x03010000
-      return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
+      return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
 #else
-      return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
+      return PyUnicode_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
 #endif
 #else
-      return PyString_FromStringAndSize(carray, static_cast< int >(size));
+      return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
 #endif
     }
   } else {
@@ -5877,17 +5955,17 @@ SWIG_From_std_string  (const std::string& s)
 
 
 namespace swig {
-  template <> struct traits<std::string > {
+  template <> struct traits< std::string > {
     typedef value_category category;
     static const char* type_name() { return"std::string"; }
-  };  
-  template <>  struct traits_asval<std::string > {   
+  };
+  template <>  struct traits_asval< std::string > {
     typedef std::string value_type;
-    static int asval(PyObject *obj, value_type *val) { 
+    static int asval(PyObject *obj, value_type *val) {
       return SWIG_AsVal_std_string (obj, val);
     }
   };
-  template <>  struct traits_from<std::string > {
+  template <>  struct traits_from< std::string > {
     typedef std::string value_type;
     static PyObject *from(const value_type& val) {
       return SWIG_From_std_string  (val);
@@ -5897,7 +5975,7 @@ namespace swig {
 
 
       namespace swig {
-	template <>  struct traits<std::vector<std::string, std::allocator< std::string > > > {
+	template <>  struct traits<std::vector< std::string, std::allocator< std::string > > > {
 	  typedef pointer_category category;
 	  static const char* type_name() {
 	    return "std::vector<" "std::string" "," "std::allocator< std::string >" " >";
@@ -5917,24 +5995,20 @@ SWIGINTERN bool std_vector_Sl_std_string_Sg____bool__(std::vector< std::string >
 SWIGINTERN std::vector< std::string >::size_type std_vector_Sl_std_string_Sg____len__(std::vector< std::string > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< std::string >::value_type std_vector_Sl_std_string_Sg__pop(std::vector< std::string > *self){
-      if (self->size() == 0)
-	throw std::out_of_range("pop from empty container");
-      std::vector<std::string,std::allocator< std::string > >::value_type x = self->back();
-      self->pop_back();
-      return x;
-    }
 SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
       return swig::getslice(self, i, j, 1);
     }
-SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j,std::vector< std::string,std::allocator< std::string > > const &v=std::vector< std::string,std::allocator< std::string > >()){
+SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
+      swig::setslice(self, i, j, 1, std::vector< std::string,std::allocator< std::string > >());
+    }
+SWIGINTERN void std_vector_Sl_std_string_Sg____setslice____SWIG_1(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j,std::vector< std::string,std::allocator< std::string > > const &v){
       swig::setslice(self, i, j, 1, v);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
       swig::delslice(self, i, j, 1);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_0(std::vector< std::string > *self,std::vector< std::string >::difference_type i){
-      self->erase(swig::getpos(self,i));
+      swig::erase(self, swig::getpos(self, i));
     }
 SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getitem____SWIG_0(std::vector< std::string > *self,PySliceObject *slice){
       Py_ssize_t i, j, step;
@@ -5943,8 +6017,8 @@ SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_
         return NULL;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       return swig::getslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector< std::string > *self,PySliceObject *slice,std::vector< std::string,std::allocator< std::string > > const &v){
@@ -5954,8 +6028,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::setslice(self, id, jd, step, v);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_1(std::vector< std::string > *self,PySliceObject *slice){
@@ -5965,8 +6039,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_1(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector< std::string > *self,PySliceObject *slice){
@@ -5976,8 +6050,8 @@ SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector< st
         return;
       }
       PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step);
-      std::vector<std::string,std::allocator< std::string > >::difference_type id = i;
-      std::vector<std::string,std::allocator< std::string > >::difference_type jd = j;
+      std::vector< std::string,std::allocator< std::string > >::difference_type id = i;
+      std::vector< std::string,std::allocator< std::string > >::difference_type jd = j;
       swig::delslice(self, id, jd, step);
     }
 SWIGINTERN std::vector< std::string >::value_type const &std_vector_Sl_std_string_Sg____getitem____SWIG_1(std::vector< std::string > const *self,std::vector< std::string >::difference_type i){
@@ -5986,6 +6060,13 @@ SWIGINTERN std::vector< std::string >::value_type const &std_vector_Sl_std_strin
 SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_2(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
+SWIGINTERN std::vector< std::string >::value_type std_vector_Sl_std_string_Sg__pop(std::vector< std::string > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector< std::string,std::allocator< std::string > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
 SWIGINTERN void std_vector_Sl_std_string_Sg__append(std::vector< std::string > *self,std::vector< std::string >::value_type const &x){
       self->push_back(x);
     }
@@ -6170,14 +6251,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -6289,14 +6370,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -6840,14 +6921,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -6994,34 +7075,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< double >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_pop" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  try {
-    result = (std::vector< double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_double(static_cast< double >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble1d_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -7076,20 +7129,17 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
   std::vector< double >::difference_type arg2 ;
   std::vector< double >::difference_type arg3 ;
-  std::vector< double,std::allocator< double > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
@@ -7105,19 +7155,8 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< double >::difference_type >(val3);
-  {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble1d_t___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble1d_t___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
+    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -7127,10 +7166,8 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -7140,17 +7177,20 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
   std::vector< double >::difference_type arg2 ;
   std::vector< double >::difference_type arg3 ;
+  std::vector< double,std::allocator< double > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble1d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
@@ -7166,8 +7206,19 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble1d_t___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< double >::difference_type >(val3);
+  {
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble1d_t___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble1d_t___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_double_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_double_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -7177,27 +7228,29 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7210,14 +7263,14 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vdouble1d_t___setslice____SWIG_1(self, args);
+          return _wrap_vdouble1d_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7230,10 +7283,10 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<double,std::allocator< double > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< double,std::allocator< double > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vdouble1d_t___setslice____SWIG_0(self, args);
+            return _wrap_vdouble1d_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -7243,8 +7296,8 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setslice__(PyObject *self, PyObject *ar
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vdouble1d_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type,std::vector< double,std::allocator< double > > const &)\n"
-    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type)\n");
+    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type)\n"
+    "    std::vector< double >::__setslice__(std::vector< double >::difference_type,std::vector< double >::difference_type,std::vector< double,std::allocator< double > > const &)\n");
   return 0;
 }
 
@@ -7325,6 +7378,9 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7397,7 +7453,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem____SWIG_0(PyObject *SWIGUNUSEDP
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble1d_t___setitem__" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -7503,20 +7559,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7529,7 +7585,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___delitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7589,20 +7645,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7615,7 +7671,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___getitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7685,20 +7741,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7711,14 +7767,14 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble1d_t___setitem____SWIG_0(self, args);
@@ -7728,7 +7784,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7757,6 +7813,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble1d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< double >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_pop" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  try {
+    result = (std::vector< double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_double(static_cast< double >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vdouble1d_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -7811,7 +7895,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble1d_t__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vdouble1d_t",&obj0)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vdouble1d_t" "', argument " "1"" of type '" "std::vector< double > const &""'"); 
@@ -7875,42 +7959,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vdouble1d_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector< double > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
   PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_clear",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OO:vdouble1d_t_swap",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_clear" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vdouble1d_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double > *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:vdouble1d_t_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_swap" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_swap" "', argument " "1"" of type '" "std::vector< double > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1);
   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
@@ -7929,28 +7992,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble1d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< double > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_get_allocator" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< double >::allocator_type(static_cast< const std::vector< double >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_double_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble1d_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double > *arg1 = (std::vector< double > *) 0 ;
@@ -8043,6 +8084,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble1d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_clear" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vdouble1d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< double > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble1d_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble1d_t_get_allocator" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  result = ((std::vector< double > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< double >::allocator_type(static_cast< const std::vector< double >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_double_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vdouble1d_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< double >::size_type arg1 ;
@@ -8208,20 +8292,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -8234,7 +8318,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -8294,14 +8378,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vdouble1d_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -8320,7 +8404,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble1d_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vdouble1d_t__SWIG_1(self, args);
@@ -8513,20 +8597,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -8540,7 +8624,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -8674,20 +8758,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble1d_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -8706,7 +8790,7 @@ SWIGINTERN PyObject *_wrap_vdouble1d_t_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -8909,34 +8993,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::vector< double > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_pop" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  try {
-    result = std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -8991,20 +9047,17 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
   std::vector< std::vector< double > >::difference_type arg2 ;
   std::vector< std::vector< double > >::difference_type arg3 ;
-  std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
@@ -9020,19 +9073,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble2d_t___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::difference_type >(val3);
-  {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)*arg4);
+    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9042,10 +9084,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_0(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -9055,17 +9095,20 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
   std::vector< std::vector< double > >::difference_type arg2 ;
   std::vector< std::vector< double > >::difference_type arg3 ;
+  std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vdouble2d_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
@@ -9081,8 +9124,19 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vdouble2d_t___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::difference_type >(val3);
+  {
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vdouble2d_t___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_std_vector_Sl_double_Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9092,27 +9146,29 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice____SWIG_1(PyObject *SWIGUNUSED
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9125,14 +9181,14 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vdouble2d_t___setslice____SWIG_1(self, args);
+          return _wrap_vdouble2d_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9145,10 +9201,10 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vdouble2d_t___setslice____SWIG_0(self, args);
+            return _wrap_vdouble2d_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -9158,8 +9214,8 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setslice__(PyObject *self, PyObject *ar
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vdouble2d_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)\n"
-    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type)\n");
+    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type)\n"
+    "    std::vector< std::vector< double > >::__setslice__(std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double > >::difference_type,std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &)\n");
   return 0;
 }
 
@@ -9240,6 +9296,9 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -9312,7 +9371,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem____SWIG_0(PyObject *SWIGUNUSEDP
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &""'"); 
@@ -9418,20 +9477,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9444,7 +9503,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___delitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9496,7 +9555,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem____SWIG_1(PyObject *SWIGUNUSEDP
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -9504,20 +9563,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9530,7 +9589,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___getitem__(PyObject *self, PyObject *arg
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9578,7 +9637,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem____SWIG_2(PyObject *SWIGUNUSEDP
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::difference_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -9605,20 +9664,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9631,14 +9690,14 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t___setitem____SWIG_0(self, args);
@@ -9648,7 +9707,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -9656,7 +9715,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t___setitem__(PyObject *self, PyObject *arg
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t___setitem____SWIG_2(self, args);
@@ -9675,6 +9734,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble2d_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::vector< double > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_pop" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  try {
+    result = std_vector_Sl_std_vector_Sl_double_Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vdouble2d_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -9692,7 +9779,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_append(PyObject *SWIGUNUSEDPARM(self), Py
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vdouble2d_t_append" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -9734,7 +9821,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vdouble2d_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vdouble2d_t" "', argument " "1"" of type '" "std::vector< std::vector< double,std::allocator< double > > > const &""'"); 
@@ -9798,27 +9885,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_clear" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -9852,28 +9918,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vdouble2d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::vector< double,std::allocator< double > > > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::vector< double > > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
-  result = ((std::vector< std::vector< double > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::vector< double > >::allocator_type(static_cast< const std::vector< std::vector< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vdouble2d_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
@@ -9966,6 +10010,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vdouble2d_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_clear" "', argument " "1"" of type '" "std::vector< std::vector< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vdouble2d_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::vector< double > > *arg1 = (std::vector< std::vector< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< std::vector< double,std::allocator< double > > > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vdouble2d_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vdouble2d_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::vector< double > > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
+  result = ((std::vector< std::vector< double > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::vector< double > >::allocator_type(static_cast< const std::vector< std::vector< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::vector< double > >::size_type arg1 ;
@@ -10131,20 +10218,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -10157,7 +10244,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -10201,7 +10288,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t__SWIG_3(PyObject *SWIGUNUSEDPARM(self
   } 
   arg1 = static_cast< std::vector< std::vector< double > >::size_type >(val1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vdouble2d_t" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10222,14 +10309,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -10248,7 +10335,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vdouble2d_t__SWIG_1(self, args);
@@ -10261,7 +10348,7 @@ SWIGINTERN PyObject *_wrap_new_vdouble2d_t(PyObject *self, PyObject *args) {
       _v = SWIG_CheckState(res);
     }
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_vdouble2d_t__SWIG_3(self, args);
@@ -10297,7 +10384,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_push_back(PyObject *SWIGUNUSEDPARM(self),
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vdouble2d_t_push_back" "', argument " "2"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10332,7 +10419,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_front(PyObject *SWIGUNUSEDPARM(self), PyO
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   result = (std::vector< std::vector< double > >::value_type *) &((std::vector< std::vector< double > > const *)arg1)->front();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -10354,7 +10441,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_back(PyObject *SWIGUNUSEDPARM(self), PyOb
   }
   arg1 = reinterpret_cast< std::vector< std::vector< double > > * >(argp1);
   result = (std::vector< std::vector< double > >::value_type *) &((std::vector< std::vector< double > > const *)arg1)->back();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -10387,7 +10474,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_assign(PyObject *SWIGUNUSEDPARM(self), Py
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::size_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_assign" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10433,7 +10520,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   } 
   arg2 = static_cast< std::vector< std::vector< double > >::size_type >(val2);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_resize" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10454,20 +10541,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10481,7 +10568,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10489,7 +10576,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_resize(PyObject *self, PyObject *args) {
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t_resize__SWIG_1(self, args);
@@ -10540,7 +10627,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(s
     }
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vdouble2d_t_insert" "', argument " "3"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10602,7 +10689,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   } 
   arg3 = static_cast< std::vector< std::vector< double > >::size_type >(val3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vdouble2d_t_insert" "', argument " "4"" of type '" "std::vector< std::vector< double > >::value_type const &""'"); 
@@ -10623,27 +10710,27 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
       int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
       _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< std::vector< double > >::iterator > *>(iter) != 0));
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vdouble2d_t_insert__SWIG_0(self, args);
@@ -10653,7 +10740,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -10665,7 +10752,7 @@ SWIGINTERN PyObject *_wrap_vdouble2d_t_insert(PyObject *self, PyObject *args) {
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<double,std::allocator< double > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< double,std::allocator< double > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_vdouble2d_t_insert__SWIG_1(self, args);
@@ -10843,39 +10930,11 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___len__(PyObject *SWIGUNUSEDPARM(sel
   if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t___len__",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___len__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = std_vector_Sl_int_Sg____len__((std::vector< int > const *)arg1);
-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_vector_integer_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< int >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_pop" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  try {
-    result = (std::vector< int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___len__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
   }
-  
-  resultobj = SWIG_From_int(static_cast< int >(result));
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  result = std_vector_Sl_int_Sg____len__((std::vector< int > const *)arg1);
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
   return NULL;
@@ -10936,20 +10995,17 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
   std::vector< int >::difference_type arg2 ;
   std::vector< int >::difference_type arg3 ;
-  std::vector< int,std::allocator< int > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
@@ -10965,19 +11021,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_integer_t___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< int >::difference_type >(val3);
-  {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);
+    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -10987,10 +11032,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_0(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -11000,17 +11043,20 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
   std::vector< int >::difference_type arg2 ;
   std::vector< int >::difference_type arg3 ;
+  std::vector< int,std::allocator< int > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_integer_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
@@ -11026,8 +11072,19 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_integer_t___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< int >::difference_type >(val3);
+  {
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_integer_t___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_int_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_int_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11037,27 +11094,29 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice____SWIG_1(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11070,14 +11129,14 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_integer_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_integer_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11090,10 +11149,10 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<int,std::allocator< int > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< int,std::allocator< int > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_integer_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_integer_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -11103,8 +11162,8 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_integer_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type,std::vector< int,std::allocator< int > > const &)\n"
-    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type)\n");
+    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type)\n"
+    "    std::vector< int >::__setslice__(std::vector< int >::difference_type,std::vector< int >::difference_type,std::vector< int,std::allocator< int > > const &)\n");
   return 0;
 }
 
@@ -11185,6 +11244,9 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11257,7 +11319,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_integer_t___setitem__" "', argument " "3"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
@@ -11363,20 +11425,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11389,7 +11451,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11449,20 +11511,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11475,7 +11537,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11545,20 +11607,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11571,14 +11633,14 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<int,std::allocator< int > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< int,std::allocator< int > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_integer_t___setitem____SWIG_0(self, args);
@@ -11588,7 +11650,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -11617,6 +11679,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_integer_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< int >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_pop" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  try {
+    result = (std::vector< int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_int(static_cast< int >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_integer_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -11671,7 +11761,7 @@ SWIGINTERN PyObject *_wrap_new_vector_integer_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_integer_t",&obj0)) SWIG_fail;
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector< int,std::allocator< int > > *ptr = (std::vector< int,std::allocator< int > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_integer_t" "', argument " "1"" of type '" "std::vector< int > const &""'"); 
@@ -11735,27 +11825,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_integer_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_clear" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_integer_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -11789,28 +11858,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_integer_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< int > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_get_allocator" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< int >::allocator_type(static_cast< const std::vector< int >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_int_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_integer_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int > *arg1 = (std::vector< int > *) 0 ;
@@ -11903,6 +11950,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_integer_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_clear" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_integer_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< int > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_integer_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_integer_t_get_allocator" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  result = ((std::vector< int > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< int >::allocator_type(static_cast< const std::vector< int >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_int_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_integer_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< int >::size_type arg1 ;
@@ -12068,20 +12158,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12094,7 +12184,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12154,14 +12244,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_integer_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -12180,7 +12270,7 @@ SWIGINTERN PyObject *_wrap_new_vector_integer_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_integer_t__SWIG_1(self, args);
@@ -12373,20 +12463,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12400,7 +12490,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12534,20 +12624,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_integer_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12566,7 +12656,7 @@ SWIGINTERN PyObject *_wrap_vector_integer_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< int,std::allocator< int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -12769,34 +12859,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< unsigned long >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_pop" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  try {
-    result = (std::vector< unsigned long >::value_type)std_vector_Sl_unsigned_SS_long_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -12851,20 +12913,17 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
   std::vector< unsigned long >::difference_type arg2 ;
   std::vector< unsigned long >::difference_type arg3 ;
-  std::vector< unsigned long,std::allocator< unsigned long > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t___setslice__" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
@@ -12880,19 +12939,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_longinteger_t___setslice__" "', argument " "3"" of type '" "std::vector< unsigned long >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< unsigned long >::difference_type >(val3);
-  {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg4);
+    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -12902,10 +12950,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_0(PyObject *S
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -12915,17 +12961,20 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
   std::vector< unsigned long >::difference_type arg2 ;
   std::vector< unsigned long >::difference_type arg3 ;
+  std::vector< unsigned long,std::allocator< unsigned long > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_longinteger_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t___setslice__" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
@@ -12941,8 +12990,19 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_longinteger_t___setslice__" "', argument " "3"" of type '" "std::vector< unsigned long >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< unsigned long >::difference_type >(val3);
+  {
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_longinteger_t___setslice__" "', argument " "4"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_unsigned_SS_long_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -12952,27 +13012,29 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice____SWIG_1(PyObject *S
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12985,14 +13047,14 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_longinteger_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_longinteger_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13005,10 +13067,10 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_longinteger_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_longinteger_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -13018,8 +13080,8 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setslice__(PyObject *self, PyO
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_longinteger_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n"
-    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type)\n");
+    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type)\n"
+    "    std::vector< unsigned long >::__setslice__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::difference_type,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n");
   return 0;
 }
 
@@ -13100,6 +13162,9 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem____SWIG_0(PyObject *SW
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13172,7 +13237,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem____SWIG_0(PyObject *SW
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_longinteger_t___setitem__" "', argument " "3"" of type '" "std::vector< unsigned long,std::allocator< unsigned long > > const &""'"); 
@@ -13278,20 +13343,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13304,7 +13369,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___delitem__(PyObject *self, PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13364,20 +13429,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13390,7 +13455,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___getitem__(PyObject *self, PyOb
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13460,20 +13525,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13486,14 +13551,14 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_longinteger_t___setitem____SWIG_0(self, args);
@@ -13503,7 +13568,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyOb
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -13523,12 +13588,40 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t___setitem__(PyObject *self, PyOb
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_longinteger_t___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< unsigned long >::__setitem__(PySliceObject *,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n"
-    "    std::vector< unsigned long >::__setitem__(PySliceObject *)\n"
-    "    std::vector< unsigned long >::__setitem__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::value_type const &)\n");
-  return 0;
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_longinteger_t___setitem__'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    std::vector< unsigned long >::__setitem__(PySliceObject *,std::vector< unsigned long,std::allocator< unsigned long > > const &)\n"
+    "    std::vector< unsigned long >::__setitem__(PySliceObject *)\n"
+    "    std::vector< unsigned long >::__setitem__(std::vector< unsigned long >::difference_type,std::vector< unsigned long >::value_type const &)\n");
+  return 0;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< unsigned long >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_pop" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  try {
+    result = (std::vector< unsigned long >::value_type)std_vector_Sl_unsigned_SS_long_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result));
+  return resultobj;
+fail:
+  return NULL;
 }
 
 
@@ -13586,7 +13679,7 @@ SWIGINTERN PyObject *_wrap_new_vector_longinteger_t__SWIG_1(PyObject *SWIGUNUSED
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_longinteger_t",&obj0)) SWIG_fail;
   {
-    std::vector<unsigned long,std::allocator< unsigned long > > *ptr = (std::vector<unsigned long,std::allocator< unsigned long > > *)0;
+    std::vector< unsigned long,std::allocator< unsigned long > > *ptr = (std::vector< unsigned long,std::allocator< unsigned long > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_longinteger_t" "', argument " "1"" of type '" "std::vector< unsigned long > const &""'"); 
@@ -13650,27 +13743,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_clear" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -13704,28 +13776,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_longinteger_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< unsigned long > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_get_allocator" "', argument " "1"" of type '" "std::vector< unsigned long > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
-  result = ((std::vector< unsigned long > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< unsigned long >::allocator_type(static_cast< const std::vector< unsigned long >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_unsigned_long_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
@@ -13818,6 +13868,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_clear" "', argument " "1"" of type '" "std::vector< unsigned long > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_longinteger_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< unsigned long > *arg1 = (std::vector< unsigned long > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< unsigned long > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_longinteger_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_longinteger_t_get_allocator" "', argument " "1"" of type '" "std::vector< unsigned long > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< unsigned long > * >(argp1);
+  result = ((std::vector< unsigned long > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< unsigned long >::allocator_type(static_cast< const std::vector< unsigned long >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_unsigned_long_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_longinteger_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< unsigned long >::size_type arg1 ;
@@ -13983,20 +14076,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14009,7 +14102,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_erase(PyObject *self, PyObject *
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14069,14 +14162,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_longinteger_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -14095,7 +14188,7 @@ SWIGINTERN PyObject *_wrap_new_vector_longinteger_t(PyObject *self, PyObject *ar
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_longinteger_t__SWIG_1(self, args);
@@ -14288,20 +14381,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14315,7 +14408,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_resize(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14449,20 +14542,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_longinteger_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14481,7 +14574,7 @@ SWIGINTERN PyObject *_wrap_vector_longinteger_t_insert(PyObject *self, PyObject
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<unsigned long,std::allocator< unsigned long > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< unsigned long,std::allocator< unsigned long > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -14684,34 +14777,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::complex< double > >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_pop" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  try {
-    result = std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_std_complex_Sl_double_Sg_(static_cast< std::complex<double> >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_complex_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -14766,20 +14831,17 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_0(PyObject *SWIGU
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   std::vector< std::complex< double > >::difference_type arg2 ;
   std::vector< std::complex< double > >::difference_type arg3 ;
-  std::vector< std::complex< double >,std::allocator< std::complex< double > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t___setslice__" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
@@ -14795,19 +14857,8 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_0(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_complex_t___setslice__" "', argument " "3"" of type '" "std::vector< std::complex< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::complex< double > >::difference_type >(val3);
-  {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)*arg4);
+    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14817,10 +14868,8 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_0(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -14830,17 +14879,20 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_1(PyObject *SWIGU
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   std::vector< std::complex< double > >::difference_type arg2 ;
   std::vector< std::complex< double > >::difference_type arg3 ;
+  std::vector< std::complex< double >,std::allocator< std::complex< double > > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_complex_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t___setslice__" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
@@ -14856,8 +14908,19 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_1(PyObject *SWIGU
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_complex_t___setslice__" "', argument " "3"" of type '" "std::vector< std::complex< double > >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::complex< double > >::difference_type >(val3);
+  {
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_complex_t___setslice__" "', argument " "4"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_std_complex_Sl_double_Sg__Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14867,27 +14930,29 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice____SWIG_1(PyObject *SWIGU
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14900,14 +14965,14 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_complex_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_complex_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14920,10 +14985,10 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_complex_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_complex_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -14933,8 +14998,8 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setslice__(PyObject *self, PyObjec
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_complex_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)\n"
-    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type)\n");
+    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type)\n"
+    "    std::vector< std::complex< double > >::__setslice__(std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double > >::difference_type,std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &)\n");
   return 0;
 }
 
@@ -15015,6 +15080,9 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___delitem____SWIG_0(PyObject *SWIGUN
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15087,7 +15155,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem____SWIG_0(PyObject *SWIGUN
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_complex_t___setitem__" "', argument " "3"" of type '" "std::vector< std::complex< double >,std::allocator< std::complex< double > > > const &""'"); 
@@ -15193,20 +15261,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15219,7 +15287,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15279,20 +15347,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15305,7 +15373,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15375,20 +15443,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15401,14 +15469,14 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_complex_t___setitem____SWIG_0(self, args);
@@ -15418,7 +15486,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15447,6 +15515,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_complex_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::complex< double > >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_pop" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  try {
+    result = std_vector_Sl_std_complex_Sl_double_Sg__Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_std_complex_Sl_double_Sg_(static_cast< std::complex<double> >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_complex_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -15501,7 +15597,7 @@ SWIGINTERN PyObject *_wrap_new_vector_complex_t__SWIG_1(PyObject *SWIGUNUSEDPARM
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_complex_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector<std::complex< double >,std::allocator< std::complex< double > > > *)0;
+    std::vector< std::complex< double >,std::allocator< std::complex< double > > > *ptr = (std::vector< std::complex< double >,std::allocator< std::complex< double > > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_complex_t" "', argument " "1"" of type '" "std::vector< std::complex< double > > const &""'"); 
@@ -15565,27 +15661,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_clear" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_complex_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
@@ -15619,29 +15694,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vector_complex_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::complex< double > > > result;
+  std::vector< std::complex< double > >::iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_get_allocator",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_begin",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::complex< double > > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_begin" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = ((std::vector< std::complex< double > > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::complex< double > >::allocator_type(static_cast< const std::vector< std::complex< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::iterator & >(result)),
+    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vector_complex_t_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   void *argp1 = 0 ;
@@ -15649,13 +15725,13 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_begin(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj0 = 0 ;
   std::vector< std::complex< double > >::iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_begin",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_end",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_begin" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_end" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = (arg1)->begin();
+  result = (arg1)->end();
   resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::iterator & >(result)),
     swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
@@ -15664,22 +15740,45 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vector_complex_t_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::complex< double > >::reverse_iterator result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_rbegin" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::reverse_iterator & >(result)),
+    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_complex_t_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< std::complex< double > >::iterator result;
+  std::vector< std::complex< double > >::reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_end",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_rend",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_end" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_rend" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = (arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::iterator & >(result)),
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::reverse_iterator & >(result)),
     swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
@@ -15687,46 +15786,43 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vector_complex_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< std::complex< double > >::reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_rbegin",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_clear",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_rbegin" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_clear" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = (arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_complex_t_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_vector_complex_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::complex< double > > *arg1 = (std::vector< std::complex< double > > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< std::complex< double > >::reverse_iterator result;
+  SwigValueWrapper< std::allocator< std::complex< double > > > result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_rend",&obj0)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_complex_t_get_allocator",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_rend" "', argument " "1"" of type '" "std::vector< std::complex< double > > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_complex_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::complex< double > > const *""'"); 
   }
   arg1 = reinterpret_cast< std::vector< std::complex< double > > * >(argp1);
-  result = (arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< std::complex< double > >::reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  result = ((std::vector< std::complex< double > > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::complex< double > >::allocator_type(static_cast< const std::vector< std::complex< double > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -15898,20 +15994,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -15924,7 +16020,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_erase(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -15984,14 +16080,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_complex_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -16010,7 +16106,7 @@ SWIGINTERN PyObject *_wrap_new_vector_complex_t(PyObject *self, PyObject *args)
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_complex_t__SWIG_1(self, args);
@@ -16203,20 +16299,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16230,7 +16326,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_resize(PyObject *self, PyObject *arg
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16364,20 +16460,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_complex_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -16396,7 +16492,7 @@ SWIGINTERN PyObject *_wrap_vector_complex_t_insert(PyObject *self, PyObject *arg
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::complex< double >,std::allocator< std::complex< double > > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::complex< double >,std::allocator< std::complex< double > > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -16599,34 +16695,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< std::string >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_pop" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  try {
-    result = std_vector_Sl_std_string_Sg__pop(arg1);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -16681,20 +16749,17 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_0(PyObject *SWIGUN
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
   std::vector< std::string >::difference_type arg2 ;
   std::vector< std::string >::difference_type arg3 ;
-  std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
-  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_string_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_string_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t___setslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
@@ -16710,19 +16775,8 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_0(PyObject *SWIGUN
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_string_t___setslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::string >::difference_type >(val3);
-  {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
-    res4 = swig::asptr(obj3, &ptr);
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
-    }
-    arg4 = ptr;
-  }
   try {
-    std_vector_Sl_std_string_Sg____setslice____SWIG_0(arg1,arg2,arg3,(std::vector< std::string,std::allocator< std::string > > const &)*arg4);
+    std_vector_Sl_std_string_Sg____setslice____SWIG_0(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -16732,10 +16786,8 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_0(PyObject *SWIGUN
   }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
@@ -16745,17 +16797,20 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_1(PyObject *SWIGUN
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
   std::vector< std::string >::difference_type arg2 ;
   std::vector< std::string >::difference_type arg3 ;
+  std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   ptrdiff_t val3 ;
   int ecode3 = 0 ;
+  int res4 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
+  PyObject * obj3 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:vector_string_t___setslice__",&obj0,&obj1,&obj2)) SWIG_fail;
+  if (!PyArg_ParseTuple(args,(char *)"OOOO:vector_string_t___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t___setslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
@@ -16771,8 +16826,19 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_1(PyObject *SWIGUN
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector_string_t___setslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'");
   } 
   arg3 = static_cast< std::vector< std::string >::difference_type >(val3);
+  {
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
+    res4 = swig::asptr(obj3, &ptr);
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector_string_t___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
+    }
+    arg4 = ptr;
+  }
   try {
-    std_vector_Sl_std_string_Sg____setslice____SWIG_0(arg1,arg2,arg3);
+    std_vector_Sl_std_string_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< std::string,std::allocator< std::string > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -16782,27 +16848,29 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice____SWIG_1(PyObject *SWIGUN
   }
   
   resultobj = SWIG_Py_Void();
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res4)) delete arg4;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16815,14 +16883,14 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_vector_string_t___setslice____SWIG_1(self, args);
+          return _wrap_vector_string_t___setslice____SWIG_0(self, args);
         }
       }
     }
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -16835,10 +16903,10 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          int res = swig::asptr(argv[3], (std::vector<std::string,std::allocator< std::string > >**)(0));
+          int res = swig::asptr(argv[3], (std::vector< std::string,std::allocator< std::string > >**)(0));
           _v = SWIG_CheckState(res);
           if (_v) {
-            return _wrap_vector_string_t___setslice____SWIG_0(self, args);
+            return _wrap_vector_string_t___setslice____SWIG_1(self, args);
           }
         }
       }
@@ -16848,8 +16916,8 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setslice__(PyObject *self, PyObject
 fail:
   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'vector_string_t___setslice__'.\n"
     "  Possible C/C++ prototypes are:\n"
-    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type,std::vector< std::string,std::allocator< std::string > > const &)\n"
-    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type)\n");
+    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type)\n"
+    "    std::vector< std::string >::__setslice__(std::vector< std::string >::difference_type,std::vector< std::string >::difference_type,std::vector< std::string,std::allocator< std::string > > const &)\n");
   return 0;
 }
 
@@ -16930,6 +16998,9 @@ SWIGINTERN PyObject *_wrap_vector_string_t___delitem____SWIG_0(PyObject *SWIGUNU
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
+  catch(std::invalid_argument &_e) {
+    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
+  }
   
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -17002,7 +17073,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem____SWIG_0(PyObject *SWIGUNU
     arg2 = (PySliceObject *) obj1;
   }
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res3 = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vector_string_t___setitem__" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
@@ -17108,20 +17179,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___delitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17134,7 +17205,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___delitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17194,20 +17265,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17220,7 +17291,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___getitem__(PyObject *self, PyObject
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17295,20 +17366,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17321,14 +17392,14 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
         _v = PySlice_Check(argv[1]);
       }
       if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<std::string,std::allocator< std::string > >**)(0));
+        int res = swig::asptr(argv[2], (std::vector< std::string,std::allocator< std::string > >**)(0));
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_vector_string_t___setitem____SWIG_0(self, args);
@@ -17338,7 +17409,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t___setitem__(PyObject *self, PyObject
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17365,6 +17436,34 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_string_t_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  std::vector< std::string >::value_type result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_pop",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_pop" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  try {
+    result = std_vector_Sl_std_string_Sg__pop(arg1);
+  }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  }
+  
+  resultobj = SWIG_From_std_string(static_cast< std::string >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_vector_string_t_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -17424,7 +17523,7 @@ SWIGINTERN PyObject *_wrap_new_vector_string_t__SWIG_1(PyObject *SWIGUNUSEDPARM(
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_vector_string_t",&obj0)) SWIG_fail;
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector_string_t" "', argument " "1"" of type '" "std::vector< std::string > const &""'"); 
@@ -17488,27 +17587,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_clear" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -17542,28 +17620,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_vector_string_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< std::string > > result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::string > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
-  result = ((std::vector< std::string > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< std::string >::allocator_type(static_cast< const std::vector< std::string >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__string_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_vector_string_t_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
@@ -17656,6 +17712,49 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_vector_string_t_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_clear" "', argument " "1"" of type '" "std::vector< std::string > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_vector_string_t_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  SwigValueWrapper< std::allocator< std::string > > result;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:vector_string_t_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector_string_t_get_allocator" "', argument " "1"" of type '" "std::vector< std::string > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
+  result = ((std::vector< std::string > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector< std::string >::allocator_type(static_cast< const std::vector< std::string >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__string_t, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_vector_string_t__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   std::vector< std::string >::size_type arg1 ;
@@ -17821,20 +17920,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_erase(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -17847,7 +17946,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_erase(PyObject *self, PyObject *args)
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -17912,14 +18011,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_vector_string_t(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -17938,7 +18037,7 @@ SWIGINTERN PyObject *_wrap_new_vector_string_t(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_vector_string_t__SWIG_1(self, args);
@@ -18144,20 +18243,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_resize(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -18171,7 +18270,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_resize(PyObject *self, PyObject *args
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -18313,20 +18412,20 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_vector_string_t_insert(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[5] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 4) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -18343,7 +18442,7 @@ SWIGINTERN PyObject *_wrap_vector_string_t_insert(PyObject *self, PyObject *args
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<std::string,std::allocator< std::string > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector< std::string,std::allocator< std::string > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       swig::SwigPyIterator *iter = 0;
@@ -19531,7 +19630,7 @@ SWIGINTERN PyObject *_wrap_IMinimizer_getValueOfVariablesAtMinimum(PyObject *SWI
   }
   arg1 = reinterpret_cast< IMinimizer * >(argp1);
   result = ((IMinimizer const *)arg1)->getValueOfVariablesAtMinimum();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -19584,7 +19683,7 @@ SWIGINTERN PyObject *_wrap_IMinimizer_getErrorOfVariables(PyObject *SWIGUNUSEDPA
   }
   arg1 = reinterpret_cast< IMinimizer * >(argp1);
   result = ((IMinimizer const *)arg1)->getErrorOfVariables();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -19983,14 +20082,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_new_FitParameter(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[7] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 6) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20511,14 +20610,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters_getFitParameters(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20627,14 +20726,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters_getFitParameter(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20721,7 +20820,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_setValues__SWIG_1(PyObject *SWIGUN
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitSuiteParameters_setValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -20742,14 +20841,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters_setValues(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20773,7 +20872,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_setValues(PyObject *self, PyObject
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitSuiteParameters, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      int res = swig::asptr(argv[1], (std::vector<double,std::allocator< double > >**)(0));
+      int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0));
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_FitSuiteParameters_setValues__SWIG_1(self, args);
@@ -20805,7 +20904,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_getValues(PyObject *SWIGUNUSEDPARM
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   result = ((FitSuiteParameters const *)arg1)->getValues();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -20829,7 +20928,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_setErrors(PyObject *SWIGUNUSEDPARM
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitSuiteParameters_setErrors" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
@@ -20864,7 +20963,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_getErrors(PyObject *SWIGUNUSEDPARM
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   result = ((FitSuiteParameters const *)arg1)->getErrors();
-  resultobj = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -20938,14 +21037,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters_begin(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21022,14 +21121,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters_end(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[2] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 1) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21167,7 +21266,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_setFixed(PyObject *SWIGUNUSEDPARM(
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   {
-    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
+    std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitSuiteParameters_setFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); 
@@ -21269,7 +21368,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_correlationMatrix(PyObject *SWIGUN
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   result = ((FitSuiteParameters const *)arg1)->correlationMatrix();
-  resultobj = swig::from(static_cast< std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > >(result));
   return resultobj;
 fail:
   return NULL;
@@ -21293,7 +21392,7 @@ SWIGINTERN PyObject *_wrap_FitSuiteParameters_setCorrelationMatrix(PyObject *SWI
   }
   arg1 = reinterpret_cast< FitSuiteParameters * >(argp1);
   {
-    std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector<std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
+    std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0;
     res2 = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitSuiteParameters_setCorrelationMatrix" "', argument " "2"" of type '" "FitSuiteParameters::corr_matrix_t const &""'"); 
@@ -21378,14 +21477,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_FitSuiteParameters___getitem__(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[3] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 2) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21498,7 +21597,7 @@ SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmNames(PyObject *SWIGUNUSE
     arg2 = ptr;
   }
   result = ((MinimizerCatalogue const *)arg1)->algorithmNames((std::string const &)*arg2);
-  resultobj = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result));
   if (SWIG_IsNewObj(res2)) delete arg2;
   return resultobj;
 fail:
@@ -21536,7 +21635,7 @@ SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmDescriptions(PyObject *SW
     arg2 = ptr;
   }
   result = ((MinimizerCatalogue const *)arg1)->algorithmDescriptions((std::string const &)*arg2);
-  resultobj = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result));
+  resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result));
   if (SWIG_IsNewObj(res2)) delete arg2;
   return resultobj;
 fail:
@@ -21756,14 +21855,14 @@ fail:
 
 
 SWIGINTERN PyObject *_wrap_MinimizerFactory_createMinimizer(PyObject *self, PyObject *args) {
-  int argc;
+  Py_ssize_t argc;
   PyObject *argv[4] = {
     0
   };
-  int ii;
+  Py_ssize_t ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? (int)PyObject_Length(args) : 0;
+  argc = args ? PyObject_Length(args) : 0;
   for (ii = 0; (ii < 3) && (ii < argc); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21912,11 +22011,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vdouble1d_t___nonzero__", _wrap_vdouble1d_t___nonzero__, METH_VARARGS, (char *)"vdouble1d_t___nonzero__(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t___bool__", _wrap_vdouble1d_t___bool__, METH_VARARGS, (char *)"vdouble1d_t___bool__(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t___len__", _wrap_vdouble1d_t___len__, METH_VARARGS, (char *)"vdouble1d_t___len__(vdouble1d_t self) -> std::vector< double >::size_type"},
-	 { (char *)"vdouble1d_t_pop", _wrap_vdouble1d_t_pop, METH_VARARGS, (char *)"vdouble1d_t_pop(vdouble1d_t self) -> std::vector< double >::value_type"},
 	 { (char *)"vdouble1d_t___getslice__", _wrap_vdouble1d_t___getslice__, METH_VARARGS, (char *)"vdouble1d_t___getslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vdouble1d_t"},
 	 { (char *)"vdouble1d_t___setslice__", _wrap_vdouble1d_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)\n"
-		"vdouble1d_t___setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)\n"
+		"__setslice__(std::vector< double >::difference_type i, std::vector< double >::difference_type j)\n"
+		"vdouble1d_t___setslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vdouble1d_t v)\n"
 		""},
 	 { (char *)"vdouble1d_t___delslice__", _wrap_vdouble1d_t___delslice__, METH_VARARGS, (char *)"vdouble1d_t___delslice__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::difference_type j)"},
 	 { (char *)"vdouble1d_t___delitem__", _wrap_vdouble1d_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -21932,16 +22030,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vdouble1d_t___setitem__(vdouble1d_t self, std::vector< double >::difference_type i, std::vector< double >::value_type const & x)\n"
 		""},
+	 { (char *)"vdouble1d_t_pop", _wrap_vdouble1d_t_pop, METH_VARARGS, (char *)"vdouble1d_t_pop(vdouble1d_t self) -> std::vector< double >::value_type"},
 	 { (char *)"vdouble1d_t_append", _wrap_vdouble1d_t_append, METH_VARARGS, (char *)"vdouble1d_t_append(vdouble1d_t self, std::vector< double >::value_type const & x)"},
 	 { (char *)"vdouble1d_t_empty", _wrap_vdouble1d_t_empty, METH_VARARGS, (char *)"vdouble1d_t_empty(vdouble1d_t self) -> bool"},
 	 { (char *)"vdouble1d_t_size", _wrap_vdouble1d_t_size, METH_VARARGS, (char *)"vdouble1d_t_size(vdouble1d_t self) -> std::vector< double >::size_type"},
-	 { (char *)"vdouble1d_t_clear", _wrap_vdouble1d_t_clear, METH_VARARGS, (char *)"vdouble1d_t_clear(vdouble1d_t self)"},
 	 { (char *)"vdouble1d_t_swap", _wrap_vdouble1d_t_swap, METH_VARARGS, (char *)"vdouble1d_t_swap(vdouble1d_t self, vdouble1d_t v)"},
-	 { (char *)"vdouble1d_t_get_allocator", _wrap_vdouble1d_t_get_allocator, METH_VARARGS, (char *)"vdouble1d_t_get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"},
 	 { (char *)"vdouble1d_t_begin", _wrap_vdouble1d_t_begin, METH_VARARGS, (char *)"vdouble1d_t_begin(vdouble1d_t self) -> std::vector< double >::iterator"},
 	 { (char *)"vdouble1d_t_end", _wrap_vdouble1d_t_end, METH_VARARGS, (char *)"vdouble1d_t_end(vdouble1d_t self) -> std::vector< double >::iterator"},
 	 { (char *)"vdouble1d_t_rbegin", _wrap_vdouble1d_t_rbegin, METH_VARARGS, (char *)"vdouble1d_t_rbegin(vdouble1d_t self) -> std::vector< double >::reverse_iterator"},
 	 { (char *)"vdouble1d_t_rend", _wrap_vdouble1d_t_rend, METH_VARARGS, (char *)"vdouble1d_t_rend(vdouble1d_t self) -> std::vector< double >::reverse_iterator"},
+	 { (char *)"vdouble1d_t_clear", _wrap_vdouble1d_t_clear, METH_VARARGS, (char *)"vdouble1d_t_clear(vdouble1d_t self)"},
+	 { (char *)"vdouble1d_t_get_allocator", _wrap_vdouble1d_t_get_allocator, METH_VARARGS, (char *)"vdouble1d_t_get_allocator(vdouble1d_t self) -> std::vector< double >::allocator_type"},
 	 { (char *)"vdouble1d_t_pop_back", _wrap_vdouble1d_t_pop_back, METH_VARARGS, (char *)"vdouble1d_t_pop_back(vdouble1d_t self)"},
 	 { (char *)"vdouble1d_t_erase", _wrap_vdouble1d_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< double >::iterator pos) -> std::vector< double >::iterator\n"
@@ -21973,11 +22072,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vdouble2d_t___nonzero__", _wrap_vdouble2d_t___nonzero__, METH_VARARGS, (char *)"vdouble2d_t___nonzero__(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t___bool__", _wrap_vdouble2d_t___bool__, METH_VARARGS, (char *)"vdouble2d_t___bool__(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t___len__", _wrap_vdouble2d_t___len__, METH_VARARGS, (char *)"vdouble2d_t___len__(vdouble2d_t self) -> std::vector< std::vector< double > >::size_type"},
-	 { (char *)"vdouble2d_t_pop", _wrap_vdouble2d_t_pop, METH_VARARGS, (char *)"vdouble2d_t_pop(vdouble2d_t self) -> vdouble1d_t"},
 	 { (char *)"vdouble2d_t___getslice__", _wrap_vdouble2d_t___getslice__, METH_VARARGS, (char *)"vdouble2d_t___getslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j) -> vdouble2d_t"},
 	 { (char *)"vdouble2d_t___setslice__", _wrap_vdouble2d_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)\n"
-		"vdouble2d_t___setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)\n"
+		"__setslice__(std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)\n"
+		"vdouble2d_t___setslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j, vdouble2d_t v)\n"
 		""},
 	 { (char *)"vdouble2d_t___delslice__", _wrap_vdouble2d_t___delslice__, METH_VARARGS, (char *)"vdouble2d_t___delslice__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, std::vector< std::vector< double > >::difference_type j)"},
 	 { (char *)"vdouble2d_t___delitem__", _wrap_vdouble2d_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -21993,16 +22091,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vdouble2d_t___setitem__(vdouble2d_t self, std::vector< std::vector< double > >::difference_type i, vdouble1d_t x)\n"
 		""},
+	 { (char *)"vdouble2d_t_pop", _wrap_vdouble2d_t_pop, METH_VARARGS, (char *)"vdouble2d_t_pop(vdouble2d_t self) -> vdouble1d_t"},
 	 { (char *)"vdouble2d_t_append", _wrap_vdouble2d_t_append, METH_VARARGS, (char *)"vdouble2d_t_append(vdouble2d_t self, vdouble1d_t x)"},
 	 { (char *)"vdouble2d_t_empty", _wrap_vdouble2d_t_empty, METH_VARARGS, (char *)"vdouble2d_t_empty(vdouble2d_t self) -> bool"},
 	 { (char *)"vdouble2d_t_size", _wrap_vdouble2d_t_size, METH_VARARGS, (char *)"vdouble2d_t_size(vdouble2d_t self) -> std::vector< std::vector< double > >::size_type"},
-	 { (char *)"vdouble2d_t_clear", _wrap_vdouble2d_t_clear, METH_VARARGS, (char *)"vdouble2d_t_clear(vdouble2d_t self)"},
 	 { (char *)"vdouble2d_t_swap", _wrap_vdouble2d_t_swap, METH_VARARGS, (char *)"vdouble2d_t_swap(vdouble2d_t self, vdouble2d_t v)"},
-	 { (char *)"vdouble2d_t_get_allocator", _wrap_vdouble2d_t_get_allocator, METH_VARARGS, (char *)"vdouble2d_t_get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"},
 	 { (char *)"vdouble2d_t_begin", _wrap_vdouble2d_t_begin, METH_VARARGS, (char *)"vdouble2d_t_begin(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"},
 	 { (char *)"vdouble2d_t_end", _wrap_vdouble2d_t_end, METH_VARARGS, (char *)"vdouble2d_t_end(vdouble2d_t self) -> std::vector< std::vector< double > >::iterator"},
 	 { (char *)"vdouble2d_t_rbegin", _wrap_vdouble2d_t_rbegin, METH_VARARGS, (char *)"vdouble2d_t_rbegin(vdouble2d_t self) -> std::vector< std::vector< double > >::reverse_iterator"},
 	 { (char *)"vdouble2d_t_rend", _wrap_vdouble2d_t_rend, METH_VARARGS, (char *)"vdouble2d_t_rend(vdouble2d_t self) -> std::vector< std::vector< double > >::reverse_iterator"},
+	 { (char *)"vdouble2d_t_clear", _wrap_vdouble2d_t_clear, METH_VARARGS, (char *)"vdouble2d_t_clear(vdouble2d_t self)"},
+	 { (char *)"vdouble2d_t_get_allocator", _wrap_vdouble2d_t_get_allocator, METH_VARARGS, (char *)"vdouble2d_t_get_allocator(vdouble2d_t self) -> std::vector< std::vector< double > >::allocator_type"},
 	 { (char *)"vdouble2d_t_pop_back", _wrap_vdouble2d_t_pop_back, METH_VARARGS, (char *)"vdouble2d_t_pop_back(vdouble2d_t self)"},
 	 { (char *)"vdouble2d_t_erase", _wrap_vdouble2d_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::vector< double > >::iterator pos) -> std::vector< std::vector< double > >::iterator\n"
@@ -22034,11 +22133,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_integer_t___nonzero__", _wrap_vector_integer_t___nonzero__, METH_VARARGS, (char *)"vector_integer_t___nonzero__(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t___bool__", _wrap_vector_integer_t___bool__, METH_VARARGS, (char *)"vector_integer_t___bool__(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t___len__", _wrap_vector_integer_t___len__, METH_VARARGS, (char *)"vector_integer_t___len__(vector_integer_t self) -> std::vector< int >::size_type"},
-	 { (char *)"vector_integer_t_pop", _wrap_vector_integer_t_pop, METH_VARARGS, (char *)"vector_integer_t_pop(vector_integer_t self) -> std::vector< int >::value_type"},
 	 { (char *)"vector_integer_t___getslice__", _wrap_vector_integer_t___getslice__, METH_VARARGS, (char *)"vector_integer_t___getslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_integer_t"},
 	 { (char *)"vector_integer_t___setslice__", _wrap_vector_integer_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)\n"
-		"vector_integer_t___setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)\n"
+		"__setslice__(std::vector< int >::difference_type i, std::vector< int >::difference_type j)\n"
+		"vector_integer_t___setslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_integer_t v)\n"
 		""},
 	 { (char *)"vector_integer_t___delslice__", _wrap_vector_integer_t___delslice__, METH_VARARGS, (char *)"vector_integer_t___delslice__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::difference_type j)"},
 	 { (char *)"vector_integer_t___delitem__", _wrap_vector_integer_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -22054,16 +22152,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_integer_t___setitem__(vector_integer_t self, std::vector< int >::difference_type i, std::vector< int >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_integer_t_pop", _wrap_vector_integer_t_pop, METH_VARARGS, (char *)"vector_integer_t_pop(vector_integer_t self) -> std::vector< int >::value_type"},
 	 { (char *)"vector_integer_t_append", _wrap_vector_integer_t_append, METH_VARARGS, (char *)"vector_integer_t_append(vector_integer_t self, std::vector< int >::value_type const & x)"},
 	 { (char *)"vector_integer_t_empty", _wrap_vector_integer_t_empty, METH_VARARGS, (char *)"vector_integer_t_empty(vector_integer_t self) -> bool"},
 	 { (char *)"vector_integer_t_size", _wrap_vector_integer_t_size, METH_VARARGS, (char *)"vector_integer_t_size(vector_integer_t self) -> std::vector< int >::size_type"},
-	 { (char *)"vector_integer_t_clear", _wrap_vector_integer_t_clear, METH_VARARGS, (char *)"vector_integer_t_clear(vector_integer_t self)"},
 	 { (char *)"vector_integer_t_swap", _wrap_vector_integer_t_swap, METH_VARARGS, (char *)"vector_integer_t_swap(vector_integer_t self, vector_integer_t v)"},
-	 { (char *)"vector_integer_t_get_allocator", _wrap_vector_integer_t_get_allocator, METH_VARARGS, (char *)"vector_integer_t_get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"},
 	 { (char *)"vector_integer_t_begin", _wrap_vector_integer_t_begin, METH_VARARGS, (char *)"vector_integer_t_begin(vector_integer_t self) -> std::vector< int >::iterator"},
 	 { (char *)"vector_integer_t_end", _wrap_vector_integer_t_end, METH_VARARGS, (char *)"vector_integer_t_end(vector_integer_t self) -> std::vector< int >::iterator"},
 	 { (char *)"vector_integer_t_rbegin", _wrap_vector_integer_t_rbegin, METH_VARARGS, (char *)"vector_integer_t_rbegin(vector_integer_t self) -> std::vector< int >::reverse_iterator"},
 	 { (char *)"vector_integer_t_rend", _wrap_vector_integer_t_rend, METH_VARARGS, (char *)"vector_integer_t_rend(vector_integer_t self) -> std::vector< int >::reverse_iterator"},
+	 { (char *)"vector_integer_t_clear", _wrap_vector_integer_t_clear, METH_VARARGS, (char *)"vector_integer_t_clear(vector_integer_t self)"},
+	 { (char *)"vector_integer_t_get_allocator", _wrap_vector_integer_t_get_allocator, METH_VARARGS, (char *)"vector_integer_t_get_allocator(vector_integer_t self) -> std::vector< int >::allocator_type"},
 	 { (char *)"vector_integer_t_pop_back", _wrap_vector_integer_t_pop_back, METH_VARARGS, (char *)"vector_integer_t_pop_back(vector_integer_t self)"},
 	 { (char *)"vector_integer_t_erase", _wrap_vector_integer_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< int >::iterator pos) -> std::vector< int >::iterator\n"
@@ -22095,11 +22194,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_longinteger_t___nonzero__", _wrap_vector_longinteger_t___nonzero__, METH_VARARGS, (char *)"vector_longinteger_t___nonzero__(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t___bool__", _wrap_vector_longinteger_t___bool__, METH_VARARGS, (char *)"vector_longinteger_t___bool__(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t___len__", _wrap_vector_longinteger_t___len__, METH_VARARGS, (char *)"vector_longinteger_t___len__(vector_longinteger_t self) -> std::vector< unsigned long >::size_type"},
-	 { (char *)"vector_longinteger_t_pop", _wrap_vector_longinteger_t_pop, METH_VARARGS, (char *)"vector_longinteger_t_pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"},
 	 { (char *)"vector_longinteger_t___getslice__", _wrap_vector_longinteger_t___getslice__, METH_VARARGS, (char *)"vector_longinteger_t___getslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j) -> vector_longinteger_t"},
 	 { (char *)"vector_longinteger_t___setslice__", _wrap_vector_longinteger_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)\n"
-		"vector_longinteger_t___setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)\n"
+		"__setslice__(std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)\n"
+		"vector_longinteger_t___setslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j, vector_longinteger_t v)\n"
 		""},
 	 { (char *)"vector_longinteger_t___delslice__", _wrap_vector_longinteger_t___delslice__, METH_VARARGS, (char *)"vector_longinteger_t___delslice__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::difference_type j)"},
 	 { (char *)"vector_longinteger_t___delitem__", _wrap_vector_longinteger_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -22115,16 +22213,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_longinteger_t___setitem__(vector_longinteger_t self, std::vector< unsigned long >::difference_type i, std::vector< unsigned long >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_longinteger_t_pop", _wrap_vector_longinteger_t_pop, METH_VARARGS, (char *)"vector_longinteger_t_pop(vector_longinteger_t self) -> std::vector< unsigned long >::value_type"},
 	 { (char *)"vector_longinteger_t_append", _wrap_vector_longinteger_t_append, METH_VARARGS, (char *)"vector_longinteger_t_append(vector_longinteger_t self, std::vector< unsigned long >::value_type const & x)"},
 	 { (char *)"vector_longinteger_t_empty", _wrap_vector_longinteger_t_empty, METH_VARARGS, (char *)"vector_longinteger_t_empty(vector_longinteger_t self) -> bool"},
 	 { (char *)"vector_longinteger_t_size", _wrap_vector_longinteger_t_size, METH_VARARGS, (char *)"vector_longinteger_t_size(vector_longinteger_t self) -> std::vector< unsigned long >::size_type"},
-	 { (char *)"vector_longinteger_t_clear", _wrap_vector_longinteger_t_clear, METH_VARARGS, (char *)"vector_longinteger_t_clear(vector_longinteger_t self)"},
 	 { (char *)"vector_longinteger_t_swap", _wrap_vector_longinteger_t_swap, METH_VARARGS, (char *)"vector_longinteger_t_swap(vector_longinteger_t self, vector_longinteger_t v)"},
-	 { (char *)"vector_longinteger_t_get_allocator", _wrap_vector_longinteger_t_get_allocator, METH_VARARGS, (char *)"vector_longinteger_t_get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"},
 	 { (char *)"vector_longinteger_t_begin", _wrap_vector_longinteger_t_begin, METH_VARARGS, (char *)"vector_longinteger_t_begin(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"},
 	 { (char *)"vector_longinteger_t_end", _wrap_vector_longinteger_t_end, METH_VARARGS, (char *)"vector_longinteger_t_end(vector_longinteger_t self) -> std::vector< unsigned long >::iterator"},
 	 { (char *)"vector_longinteger_t_rbegin", _wrap_vector_longinteger_t_rbegin, METH_VARARGS, (char *)"vector_longinteger_t_rbegin(vector_longinteger_t self) -> std::vector< unsigned long >::reverse_iterator"},
 	 { (char *)"vector_longinteger_t_rend", _wrap_vector_longinteger_t_rend, METH_VARARGS, (char *)"vector_longinteger_t_rend(vector_longinteger_t self) -> std::vector< unsigned long >::reverse_iterator"},
+	 { (char *)"vector_longinteger_t_clear", _wrap_vector_longinteger_t_clear, METH_VARARGS, (char *)"vector_longinteger_t_clear(vector_longinteger_t self)"},
+	 { (char *)"vector_longinteger_t_get_allocator", _wrap_vector_longinteger_t_get_allocator, METH_VARARGS, (char *)"vector_longinteger_t_get_allocator(vector_longinteger_t self) -> std::vector< unsigned long >::allocator_type"},
 	 { (char *)"vector_longinteger_t_pop_back", _wrap_vector_longinteger_t_pop_back, METH_VARARGS, (char *)"vector_longinteger_t_pop_back(vector_longinteger_t self)"},
 	 { (char *)"vector_longinteger_t_erase", _wrap_vector_longinteger_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< unsigned long >::iterator pos) -> std::vector< unsigned long >::iterator\n"
@@ -22156,11 +22255,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_complex_t___nonzero__", _wrap_vector_complex_t___nonzero__, METH_VARARGS, (char *)"vector_complex_t___nonzero__(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t___bool__", _wrap_vector_complex_t___bool__, METH_VARARGS, (char *)"vector_complex_t___bool__(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t___len__", _wrap_vector_complex_t___len__, METH_VARARGS, (char *)"vector_complex_t___len__(vector_complex_t self) -> std::vector< std::complex< double > >::size_type"},
-	 { (char *)"vector_complex_t_pop", _wrap_vector_complex_t_pop, METH_VARARGS, (char *)"vector_complex_t_pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"},
 	 { (char *)"vector_complex_t___getslice__", _wrap_vector_complex_t___getslice__, METH_VARARGS, (char *)"vector_complex_t___getslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j) -> vector_complex_t"},
 	 { (char *)"vector_complex_t___setslice__", _wrap_vector_complex_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)\n"
-		"vector_complex_t___setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)\n"
+		"__setslice__(std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)\n"
+		"vector_complex_t___setslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j, vector_complex_t v)\n"
 		""},
 	 { (char *)"vector_complex_t___delslice__", _wrap_vector_complex_t___delslice__, METH_VARARGS, (char *)"vector_complex_t___delslice__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::difference_type j)"},
 	 { (char *)"vector_complex_t___delitem__", _wrap_vector_complex_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -22176,16 +22274,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_complex_t___setitem__(vector_complex_t self, std::vector< std::complex< double > >::difference_type i, std::vector< std::complex< double > >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_complex_t_pop", _wrap_vector_complex_t_pop, METH_VARARGS, (char *)"vector_complex_t_pop(vector_complex_t self) -> std::vector< std::complex< double > >::value_type"},
 	 { (char *)"vector_complex_t_append", _wrap_vector_complex_t_append, METH_VARARGS, (char *)"vector_complex_t_append(vector_complex_t self, std::vector< std::complex< double > >::value_type const & x)"},
 	 { (char *)"vector_complex_t_empty", _wrap_vector_complex_t_empty, METH_VARARGS, (char *)"vector_complex_t_empty(vector_complex_t self) -> bool"},
 	 { (char *)"vector_complex_t_size", _wrap_vector_complex_t_size, METH_VARARGS, (char *)"vector_complex_t_size(vector_complex_t self) -> std::vector< std::complex< double > >::size_type"},
-	 { (char *)"vector_complex_t_clear", _wrap_vector_complex_t_clear, METH_VARARGS, (char *)"vector_complex_t_clear(vector_complex_t self)"},
 	 { (char *)"vector_complex_t_swap", _wrap_vector_complex_t_swap, METH_VARARGS, (char *)"vector_complex_t_swap(vector_complex_t self, vector_complex_t v)"},
-	 { (char *)"vector_complex_t_get_allocator", _wrap_vector_complex_t_get_allocator, METH_VARARGS, (char *)"vector_complex_t_get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"},
 	 { (char *)"vector_complex_t_begin", _wrap_vector_complex_t_begin, METH_VARARGS, (char *)"vector_complex_t_begin(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"},
 	 { (char *)"vector_complex_t_end", _wrap_vector_complex_t_end, METH_VARARGS, (char *)"vector_complex_t_end(vector_complex_t self) -> std::vector< std::complex< double > >::iterator"},
 	 { (char *)"vector_complex_t_rbegin", _wrap_vector_complex_t_rbegin, METH_VARARGS, (char *)"vector_complex_t_rbegin(vector_complex_t self) -> std::vector< std::complex< double > >::reverse_iterator"},
 	 { (char *)"vector_complex_t_rend", _wrap_vector_complex_t_rend, METH_VARARGS, (char *)"vector_complex_t_rend(vector_complex_t self) -> std::vector< std::complex< double > >::reverse_iterator"},
+	 { (char *)"vector_complex_t_clear", _wrap_vector_complex_t_clear, METH_VARARGS, (char *)"vector_complex_t_clear(vector_complex_t self)"},
+	 { (char *)"vector_complex_t_get_allocator", _wrap_vector_complex_t_get_allocator, METH_VARARGS, (char *)"vector_complex_t_get_allocator(vector_complex_t self) -> std::vector< std::complex< double > >::allocator_type"},
 	 { (char *)"vector_complex_t_pop_back", _wrap_vector_complex_t_pop_back, METH_VARARGS, (char *)"vector_complex_t_pop_back(vector_complex_t self)"},
 	 { (char *)"vector_complex_t_erase", _wrap_vector_complex_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::complex< double > >::iterator pos) -> std::vector< std::complex< double > >::iterator\n"
@@ -22217,11 +22316,10 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"vector_string_t___nonzero__", _wrap_vector_string_t___nonzero__, METH_VARARGS, (char *)"vector_string_t___nonzero__(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t___bool__", _wrap_vector_string_t___bool__, METH_VARARGS, (char *)"vector_string_t___bool__(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t___len__", _wrap_vector_string_t___len__, METH_VARARGS, (char *)"vector_string_t___len__(vector_string_t self) -> std::vector< std::string >::size_type"},
-	 { (char *)"vector_string_t_pop", _wrap_vector_string_t_pop, METH_VARARGS, (char *)"vector_string_t_pop(vector_string_t self) -> std::vector< std::string >::value_type"},
 	 { (char *)"vector_string_t___getslice__", _wrap_vector_string_t___getslice__, METH_VARARGS, (char *)"vector_string_t___getslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_string_t"},
 	 { (char *)"vector_string_t___setslice__", _wrap_vector_string_t___setslice__, METH_VARARGS, (char *)"\n"
-		"__setslice__(std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)\n"
-		"vector_string_t___setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)\n"
+		"__setslice__(std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)\n"
+		"vector_string_t___setslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_string_t v)\n"
 		""},
 	 { (char *)"vector_string_t___delslice__", _wrap_vector_string_t___delslice__, METH_VARARGS, (char *)"vector_string_t___delslice__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j)"},
 	 { (char *)"vector_string_t___delitem__", _wrap_vector_string_t___delitem__, METH_VARARGS, (char *)"\n"
@@ -22237,16 +22335,17 @@ static PyMethodDef SwigMethods[] = {
 		"__setitem__(PySliceObject * slice)\n"
 		"vector_string_t___setitem__(vector_string_t self, std::vector< std::string >::difference_type i, std::vector< std::string >::value_type const & x)\n"
 		""},
+	 { (char *)"vector_string_t_pop", _wrap_vector_string_t_pop, METH_VARARGS, (char *)"vector_string_t_pop(vector_string_t self) -> std::vector< std::string >::value_type"},
 	 { (char *)"vector_string_t_append", _wrap_vector_string_t_append, METH_VARARGS, (char *)"vector_string_t_append(vector_string_t self, std::vector< std::string >::value_type const & x)"},
 	 { (char *)"vector_string_t_empty", _wrap_vector_string_t_empty, METH_VARARGS, (char *)"vector_string_t_empty(vector_string_t self) -> bool"},
 	 { (char *)"vector_string_t_size", _wrap_vector_string_t_size, METH_VARARGS, (char *)"vector_string_t_size(vector_string_t self) -> std::vector< std::string >::size_type"},
-	 { (char *)"vector_string_t_clear", _wrap_vector_string_t_clear, METH_VARARGS, (char *)"vector_string_t_clear(vector_string_t self)"},
 	 { (char *)"vector_string_t_swap", _wrap_vector_string_t_swap, METH_VARARGS, (char *)"vector_string_t_swap(vector_string_t self, vector_string_t v)"},
-	 { (char *)"vector_string_t_get_allocator", _wrap_vector_string_t_get_allocator, METH_VARARGS, (char *)"vector_string_t_get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"},
 	 { (char *)"vector_string_t_begin", _wrap_vector_string_t_begin, METH_VARARGS, (char *)"vector_string_t_begin(vector_string_t self) -> std::vector< std::string >::iterator"},
 	 { (char *)"vector_string_t_end", _wrap_vector_string_t_end, METH_VARARGS, (char *)"vector_string_t_end(vector_string_t self) -> std::vector< std::string >::iterator"},
 	 { (char *)"vector_string_t_rbegin", _wrap_vector_string_t_rbegin, METH_VARARGS, (char *)"vector_string_t_rbegin(vector_string_t self) -> std::vector< std::string >::reverse_iterator"},
 	 { (char *)"vector_string_t_rend", _wrap_vector_string_t_rend, METH_VARARGS, (char *)"vector_string_t_rend(vector_string_t self) -> std::vector< std::string >::reverse_iterator"},
+	 { (char *)"vector_string_t_clear", _wrap_vector_string_t_clear, METH_VARARGS, (char *)"vector_string_t_clear(vector_string_t self)"},
+	 { (char *)"vector_string_t_get_allocator", _wrap_vector_string_t_get_allocator, METH_VARARGS, (char *)"vector_string_t_get_allocator(vector_string_t self) -> std::vector< std::string >::allocator_type"},
 	 { (char *)"vector_string_t_pop_back", _wrap_vector_string_t_pop_back, METH_VARARGS, (char *)"vector_string_t_pop_back(vector_string_t self)"},
 	 { (char *)"vector_string_t_erase", _wrap_vector_string_t_erase, METH_VARARGS, (char *)"\n"
 		"erase(std::vector< std::string >::iterator pos) -> std::vector< std::string >::iterator\n"
@@ -23362,10 +23461,19 @@ extern "C" {
         0,                                  /* tp_del */
 #endif
 #if PY_VERSION_HEX >= 0x02060000
-        0,                                  /* tp_version */
+        0,                                  /* tp_version_tag */
+#endif
+#if PY_VERSION_HEX >= 0x03040000
+        0,                                  /* tp_finalize */
 #endif
 #ifdef COUNT_ALLOCS
-        0,0,0,0                             /* tp_alloc -> tp_next */
+        0,                                  /* tp_allocs */
+        0,                                  /* tp_frees */
+        0,                                  /* tp_maxalloc */
+#if PY_VERSION_HEX >= 0x02050000
+        0,                                  /* tp_prev */
+#endif
+        0                                   /* tp_next */
 #endif
       };
       varlink_type = tmp;
diff --git a/auto/Wrap/libBornAgainFit_wrap.h b/auto/Wrap/libBornAgainFit_wrap.h
index ec6a7eb4a32..1aa4403ae1c 100644
--- a/auto/Wrap/libBornAgainFit_wrap.h
+++ b/auto/Wrap/libBornAgainFit_wrap.h
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.7
+ * Version 3.0.8
  *
  * This file is not intended to be easily readable and contains a number of
  * coding conventions designed to improve portability and efficiency. Do not make
-- 
GitLab