# This file was automatically generated by SWIG (http://www.swig.org).
# Version 2.0.4
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.



from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_CdiObj', [dirname(__file__)])
        except ImportError:
            import _CdiObj
            return _CdiObj
        if fp is not None:
            try:
                _mod = imp.load_module('_CdiObj', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _CdiObj = swig_import_helper()
    del swig_import_helper
else:
    import _CdiObj
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)
    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CdiObj.delete_SwigPyIterator
    __del__ = lambda self : None;
    def value(self): return _CdiObj.SwigPyIterator_value(self)
    def incr(self, n = 1): return _CdiObj.SwigPyIterator_incr(self, n)
    def decr(self, n = 1): return _CdiObj.SwigPyIterator_decr(self, n)
    def distance(self, *args): return _CdiObj.SwigPyIterator_distance(self, *args)
    def equal(self, *args): return _CdiObj.SwigPyIterator_equal(self, *args)
    def copy(self): return _CdiObj.SwigPyIterator_copy(self)
    def next(self): return _CdiObj.SwigPyIterator_next(self)
    def __next__(self): return _CdiObj.SwigPyIterator___next__(self)
    def previous(self): return _CdiObj.SwigPyIterator_previous(self)
    def advance(self, *args): return _CdiObj.SwigPyIterator_advance(self, *args)
    def __eq__(self, *args): return _CdiObj.SwigPyIterator___eq__(self, *args)
    def __ne__(self, *args): return _CdiObj.SwigPyIterator___ne__(self, *args)
    def __iadd__(self, *args): return _CdiObj.SwigPyIterator___iadd__(self, *args)
    def __isub__(self, *args): return _CdiObj.SwigPyIterator___isub__(self, *args)
    def __add__(self, *args): return _CdiObj.SwigPyIterator___add__(self, *args)
    def __sub__(self, *args): return _CdiObj.SwigPyIterator___sub__(self, *args)
    def __iter__(self): return self
SwigPyIterator_swigregister = _CdiObj.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

class IntVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, IntVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, IntVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.IntVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.IntVector___nonzero__(self)
    def __bool__(self): return _CdiObj.IntVector___bool__(self)
    def __len__(self): return _CdiObj.IntVector___len__(self)
    def pop(self): return _CdiObj.IntVector_pop(self)
    def __getslice__(self, *args): return _CdiObj.IntVector___getslice__(self, *args)
    def __setslice__(self, *args): return _CdiObj.IntVector___setslice__(self, *args)
    def __delslice__(self, *args): return _CdiObj.IntVector___delslice__(self, *args)
    def __delitem__(self, *args): return _CdiObj.IntVector___delitem__(self, *args)
    def __getitem__(self, *args): return _CdiObj.IntVector___getitem__(self, *args)
    def __setitem__(self, *args): return _CdiObj.IntVector___setitem__(self, *args)
    def append(self, *args): return _CdiObj.IntVector_append(self, *args)
    def empty(self): return _CdiObj.IntVector_empty(self)
    def size(self): return _CdiObj.IntVector_size(self)
    def clear(self): return _CdiObj.IntVector_clear(self)
    def swap(self, *args): return _CdiObj.IntVector_swap(self, *args)
    def get_allocator(self): return _CdiObj.IntVector_get_allocator(self)
    def begin(self): return _CdiObj.IntVector_begin(self)
    def end(self): return _CdiObj.IntVector_end(self)
    def rbegin(self): return _CdiObj.IntVector_rbegin(self)
    def rend(self): return _CdiObj.IntVector_rend(self)
    def pop_back(self): return _CdiObj.IntVector_pop_back(self)
    def erase(self, *args): return _CdiObj.IntVector_erase(self, *args)
    def __init__(self, *args): 
        this = _CdiObj.new_IntVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _CdiObj.IntVector_push_back(self, *args)
    def front(self): return _CdiObj.IntVector_front(self)
    def back(self): return _CdiObj.IntVector_back(self)
    def assign(self, *args): return _CdiObj.IntVector_assign(self, *args)
    def resize(self, *args): return _CdiObj.IntVector_resize(self, *args)
    def insert(self, *args): return _CdiObj.IntVector_insert(self, *args)
    def reserve(self, *args): return _CdiObj.IntVector_reserve(self, *args)
    def capacity(self): return _CdiObj.IntVector_capacity(self)
    __swig_destroy__ = _CdiObj.delete_IntVector
    __del__ = lambda self : None;
IntVector_swigregister = _CdiObj.IntVector_swigregister
IntVector_swigregister(IntVector)

class DoubleVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DoubleVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DoubleVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.DoubleVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.DoubleVector___nonzero__(self)
    def __bool__(self): return _CdiObj.DoubleVector___bool__(self)
    def __len__(self): return _CdiObj.DoubleVector___len__(self)
    def pop(self): return _CdiObj.DoubleVector_pop(self)
    def __getslice__(self, *args): return _CdiObj.DoubleVector___getslice__(self, *args)
    def __setslice__(self, *args): return _CdiObj.DoubleVector___setslice__(self, *args)
    def __delslice__(self, *args): return _CdiObj.DoubleVector___delslice__(self, *args)
    def __delitem__(self, *args): return _CdiObj.DoubleVector___delitem__(self, *args)
    def __getitem__(self, *args): return _CdiObj.DoubleVector___getitem__(self, *args)
    def __setitem__(self, *args): return _CdiObj.DoubleVector___setitem__(self, *args)
    def append(self, *args): return _CdiObj.DoubleVector_append(self, *args)
    def empty(self): return _CdiObj.DoubleVector_empty(self)
    def size(self): return _CdiObj.DoubleVector_size(self)
    def clear(self): return _CdiObj.DoubleVector_clear(self)
    def swap(self, *args): return _CdiObj.DoubleVector_swap(self, *args)
    def get_allocator(self): return _CdiObj.DoubleVector_get_allocator(self)
    def begin(self): return _CdiObj.DoubleVector_begin(self)
    def end(self): return _CdiObj.DoubleVector_end(self)
    def rbegin(self): return _CdiObj.DoubleVector_rbegin(self)
    def rend(self): return _CdiObj.DoubleVector_rend(self)
    def pop_back(self): return _CdiObj.DoubleVector_pop_back(self)
    def erase(self, *args): return _CdiObj.DoubleVector_erase(self, *args)
    def __init__(self, *args): 
        this = _CdiObj.new_DoubleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _CdiObj.DoubleVector_push_back(self, *args)
    def front(self): return _CdiObj.DoubleVector_front(self)
    def back(self): return _CdiObj.DoubleVector_back(self)
    def assign(self, *args): return _CdiObj.DoubleVector_assign(self, *args)
    def resize(self, *args): return _CdiObj.DoubleVector_resize(self, *args)
    def insert(self, *args): return _CdiObj.DoubleVector_insert(self, *args)
    def reserve(self, *args): return _CdiObj.DoubleVector_reserve(self, *args)
    def capacity(self): return _CdiObj.DoubleVector_capacity(self)
    __swig_destroy__ = _CdiObj.delete_DoubleVector
    __del__ = lambda self : None;
DoubleVector_swigregister = _CdiObj.DoubleVector_swigregister
DoubleVector_swigregister(DoubleVector)

class DoubleDoubleVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DoubleDoubleVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DoubleDoubleVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.DoubleDoubleVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.DoubleDoubleVector___nonzero__(self)
    def __bool__(self): return _CdiObj.DoubleDoubleVector___bool__(self)
    def __len__(self): return _CdiObj.DoubleDoubleVector___len__(self)
    def pop(self): return _CdiObj.DoubleDoubleVector_pop(self)
    def __getslice__(self, *args): return _CdiObj.DoubleDoubleVector___getslice__(self, *args)
    def __setslice__(self, *args): return _CdiObj.DoubleDoubleVector___setslice__(self, *args)
    def __delslice__(self, *args): return _CdiObj.DoubleDoubleVector___delslice__(self, *args)
    def __delitem__(self, *args): return _CdiObj.DoubleDoubleVector___delitem__(self, *args)
    def __getitem__(self, *args): return _CdiObj.DoubleDoubleVector___getitem__(self, *args)
    def __setitem__(self, *args): return _CdiObj.DoubleDoubleVector___setitem__(self, *args)
    def append(self, *args): return _CdiObj.DoubleDoubleVector_append(self, *args)
    def empty(self): return _CdiObj.DoubleDoubleVector_empty(self)
    def size(self): return _CdiObj.DoubleDoubleVector_size(self)
    def clear(self): return _CdiObj.DoubleDoubleVector_clear(self)
    def swap(self, *args): return _CdiObj.DoubleDoubleVector_swap(self, *args)
    def get_allocator(self): return _CdiObj.DoubleDoubleVector_get_allocator(self)
    def begin(self): return _CdiObj.DoubleDoubleVector_begin(self)
    def end(self): return _CdiObj.DoubleDoubleVector_end(self)
    def rbegin(self): return _CdiObj.DoubleDoubleVector_rbegin(self)
    def rend(self): return _CdiObj.DoubleDoubleVector_rend(self)
    def pop_back(self): return _CdiObj.DoubleDoubleVector_pop_back(self)
    def erase(self, *args): return _CdiObj.DoubleDoubleVector_erase(self, *args)
    def __init__(self, *args): 
        this = _CdiObj.new_DoubleDoubleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _CdiObj.DoubleDoubleVector_push_back(self, *args)
    def front(self): return _CdiObj.DoubleDoubleVector_front(self)
    def back(self): return _CdiObj.DoubleDoubleVector_back(self)
    def assign(self, *args): return _CdiObj.DoubleDoubleVector_assign(self, *args)
    def resize(self, *args): return _CdiObj.DoubleDoubleVector_resize(self, *args)
    def insert(self, *args): return _CdiObj.DoubleDoubleVector_insert(self, *args)
    def reserve(self, *args): return _CdiObj.DoubleDoubleVector_reserve(self, *args)
    def capacity(self): return _CdiObj.DoubleDoubleVector_capacity(self)
    __swig_destroy__ = _CdiObj.delete_DoubleDoubleVector
    __del__ = lambda self : None;
DoubleDoubleVector_swigregister = _CdiObj.DoubleDoubleVector_swigregister
DoubleDoubleVector_swigregister(DoubleDoubleVector)

class StringVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, StringVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, StringVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.StringVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.StringVector___nonzero__(self)
    def __bool__(self): return _CdiObj.StringVector___bool__(self)
    def __len__(self): return _CdiObj.StringVector___len__(self)
    def pop(self): return _CdiObj.StringVector_pop(self)
    def __getslice__(self, *args): return _CdiObj.StringVector___getslice__(self, *args)
    def __setslice__(self, *args): return _CdiObj.StringVector___setslice__(self, *args)
    def __delslice__(self, *args): return _CdiObj.StringVector___delslice__(self, *args)
    def __delitem__(self, *args): return _CdiObj.StringVector___delitem__(self, *args)
    def __getitem__(self, *args): return _CdiObj.StringVector___getitem__(self, *args)
    def __setitem__(self, *args): return _CdiObj.StringVector___setitem__(self, *args)
    def append(self, *args): return _CdiObj.StringVector_append(self, *args)
    def empty(self): return _CdiObj.StringVector_empty(self)
    def size(self): return _CdiObj.StringVector_size(self)
    def clear(self): return _CdiObj.StringVector_clear(self)
    def swap(self, *args): return _CdiObj.StringVector_swap(self, *args)
    def get_allocator(self): return _CdiObj.StringVector_get_allocator(self)
    def begin(self): return _CdiObj.StringVector_begin(self)
    def end(self): return _CdiObj.StringVector_end(self)
    def rbegin(self): return _CdiObj.StringVector_rbegin(self)
    def rend(self): return _CdiObj.StringVector_rend(self)
    def pop_back(self): return _CdiObj.StringVector_pop_back(self)
    def erase(self, *args): return _CdiObj.StringVector_erase(self, *args)
    def __init__(self, *args): 
        this = _CdiObj.new_StringVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _CdiObj.StringVector_push_back(self, *args)
    def front(self): return _CdiObj.StringVector_front(self)
    def back(self): return _CdiObj.StringVector_back(self)
    def assign(self, *args): return _CdiObj.StringVector_assign(self, *args)
    def resize(self, *args): return _CdiObj.StringVector_resize(self, *args)
    def insert(self, *args): return _CdiObj.StringVector_insert(self, *args)
    def reserve(self, *args): return _CdiObj.StringVector_reserve(self, *args)
    def capacity(self): return _CdiObj.StringVector_capacity(self)
    __swig_destroy__ = _CdiObj.delete_StringVector
    __del__ = lambda self : None;
StringVector_swigregister = _CdiObj.StringVector_swigregister
StringVector_swigregister(StringVector)

class VarsVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VarsVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VarsVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.VarsVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.VarsVector___nonzero__(self)
    def __bool__(self): return _CdiObj.VarsVector___bool__(self)
    def __len__(self): return _CdiObj.VarsVector___len__(self)
    def pop(self): return _CdiObj.VarsVector_pop(self)
    def __getslice__(self, *args): return _CdiObj.VarsVector___getslice__(self, *args)
    def __setslice__(self, *args): return _CdiObj.VarsVector___setslice__(self, *args)
    def __delslice__(self, *args): return _CdiObj.VarsVector___delslice__(self, *args)
    def __delitem__(self, *args): return _CdiObj.VarsVector___delitem__(self, *args)
    def __getitem__(self, *args): return _CdiObj.VarsVector___getitem__(self, *args)
    def __setitem__(self, *args): return _CdiObj.VarsVector___setitem__(self, *args)
    def append(self, *args): return _CdiObj.VarsVector_append(self, *args)
    def empty(self): return _CdiObj.VarsVector_empty(self)
    def size(self): return _CdiObj.VarsVector_size(self)
    def clear(self): return _CdiObj.VarsVector_clear(self)
    def swap(self, *args): return _CdiObj.VarsVector_swap(self, *args)
    def get_allocator(self): return _CdiObj.VarsVector_get_allocator(self)
    def begin(self): return _CdiObj.VarsVector_begin(self)
    def end(self): return _CdiObj.VarsVector_end(self)
    def rbegin(self): return _CdiObj.VarsVector_rbegin(self)
    def rend(self): return _CdiObj.VarsVector_rend(self)
    def pop_back(self): return _CdiObj.VarsVector_pop_back(self)
    def erase(self, *args): return _CdiObj.VarsVector_erase(self, *args)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _CdiObj.VarsVector_push_back(self, *args)
    def front(self): return _CdiObj.VarsVector_front(self)
    def back(self): return _CdiObj.VarsVector_back(self)
    def assign(self, *args): return _CdiObj.VarsVector_assign(self, *args)
    def resize(self, *args): return _CdiObj.VarsVector_resize(self, *args)
    def insert(self, *args): return _CdiObj.VarsVector_insert(self, *args)
    def reserve(self, *args): return _CdiObj.VarsVector_reserve(self, *args)
    def capacity(self): return _CdiObj.VarsVector_capacity(self)
    __swig_destroy__ = _CdiObj.delete_VarsVector
    __del__ = lambda self : None;
VarsVector_swigregister = _CdiObj.VarsVector_swigregister
VarsVector_swigregister(VarsVector)

class VarsMap(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VarsMap, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VarsMap, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.VarsMap_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.VarsMap___nonzero__(self)
    def __bool__(self): return _CdiObj.VarsMap___bool__(self)
    def __len__(self): return _CdiObj.VarsMap___len__(self)
    def __iter__(self): return self.key_iterator()
    def iterkeys(self): return self.key_iterator()
    def itervalues(self): return self.value_iterator()
    def iteritems(self): return self.iterator()
    def __getitem__(self, *args): return _CdiObj.VarsMap___getitem__(self, *args)
    def __delitem__(self, *args): return _CdiObj.VarsMap___delitem__(self, *args)
    def has_key(self, *args): return _CdiObj.VarsMap_has_key(self, *args)
    def keys(self): return _CdiObj.VarsMap_keys(self)
    def values(self): return _CdiObj.VarsMap_values(self)
    def items(self): return _CdiObj.VarsMap_items(self)
    def __contains__(self, *args): return _CdiObj.VarsMap___contains__(self, *args)
    def key_iterator(self): return _CdiObj.VarsMap_key_iterator(self)
    def value_iterator(self): return _CdiObj.VarsMap_value_iterator(self)
    def __setitem__(self, *args): return _CdiObj.VarsMap___setitem__(self, *args)
    def asdict(self): return _CdiObj.VarsMap_asdict(self)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(self): return _CdiObj.VarsMap_empty(self)
    def size(self): return _CdiObj.VarsMap_size(self)
    def clear(self): return _CdiObj.VarsMap_clear(self)
    def swap(self, *args): return _CdiObj.VarsMap_swap(self, *args)
    def get_allocator(self): return _CdiObj.VarsMap_get_allocator(self)
    def begin(self): return _CdiObj.VarsMap_begin(self)
    def end(self): return _CdiObj.VarsMap_end(self)
    def rbegin(self): return _CdiObj.VarsMap_rbegin(self)
    def rend(self): return _CdiObj.VarsMap_rend(self)
    def count(self, *args): return _CdiObj.VarsMap_count(self, *args)
    def erase(self, *args): return _CdiObj.VarsMap_erase(self, *args)
    def find(self, *args): return _CdiObj.VarsMap_find(self, *args)
    def lower_bound(self, *args): return _CdiObj.VarsMap_lower_bound(self, *args)
    def upper_bound(self, *args): return _CdiObj.VarsMap_upper_bound(self, *args)
    __swig_destroy__ = _CdiObj.delete_VarsMap
    __del__ = lambda self : None;
VarsMap_swigregister = _CdiObj.VarsMap_swigregister
VarsMap_swigregister(VarsMap)

class VarsByCode(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VarsByCode, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VarsByCode, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.VarsByCode_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.VarsByCode___nonzero__(self)
    def __bool__(self): return _CdiObj.VarsByCode___bool__(self)
    def __len__(self): return _CdiObj.VarsByCode___len__(self)
    def __iter__(self): return self.key_iterator()
    def iterkeys(self): return self.key_iterator()
    def itervalues(self): return self.value_iterator()
    def iteritems(self): return self.iterator()
    def __getitem__(self, *args): return _CdiObj.VarsByCode___getitem__(self, *args)
    def __delitem__(self, *args): return _CdiObj.VarsByCode___delitem__(self, *args)
    def has_key(self, *args): return _CdiObj.VarsByCode_has_key(self, *args)
    def keys(self): return _CdiObj.VarsByCode_keys(self)
    def values(self): return _CdiObj.VarsByCode_values(self)
    def items(self): return _CdiObj.VarsByCode_items(self)
    def __contains__(self, *args): return _CdiObj.VarsByCode___contains__(self, *args)
    def key_iterator(self): return _CdiObj.VarsByCode_key_iterator(self)
    def value_iterator(self): return _CdiObj.VarsByCode_value_iterator(self)
    def __setitem__(self, *args): return _CdiObj.VarsByCode___setitem__(self, *args)
    def asdict(self): return _CdiObj.VarsByCode_asdict(self)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsByCode(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(self): return _CdiObj.VarsByCode_empty(self)
    def size(self): return _CdiObj.VarsByCode_size(self)
    def clear(self): return _CdiObj.VarsByCode_clear(self)
    def swap(self, *args): return _CdiObj.VarsByCode_swap(self, *args)
    def get_allocator(self): return _CdiObj.VarsByCode_get_allocator(self)
    def begin(self): return _CdiObj.VarsByCode_begin(self)
    def end(self): return _CdiObj.VarsByCode_end(self)
    def rbegin(self): return _CdiObj.VarsByCode_rbegin(self)
    def rend(self): return _CdiObj.VarsByCode_rend(self)
    def count(self, *args): return _CdiObj.VarsByCode_count(self, *args)
    def erase(self, *args): return _CdiObj.VarsByCode_erase(self, *args)
    def find(self, *args): return _CdiObj.VarsByCode_find(self, *args)
    def lower_bound(self, *args): return _CdiObj.VarsByCode_lower_bound(self, *args)
    def upper_bound(self, *args): return _CdiObj.VarsByCode_upper_bound(self, *args)
    __swig_destroy__ = _CdiObj.delete_VarsByCode
    __del__ = lambda self : None;
VarsByCode_swigregister = _CdiObj.VarsByCode_swigregister
VarsByCode_swigregister(VarsByCode)

class TaxesMap(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TaxesMap, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TaxesMap, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.TaxesMap_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.TaxesMap___nonzero__(self)
    def __bool__(self): return _CdiObj.TaxesMap___bool__(self)
    def __len__(self): return _CdiObj.TaxesMap___len__(self)
    def __iter__(self): return self.key_iterator()
    def iterkeys(self): return self.key_iterator()
    def itervalues(self): return self.value_iterator()
    def iteritems(self): return self.iterator()
    def __getitem__(self, *args): return _CdiObj.TaxesMap___getitem__(self, *args)
    def __delitem__(self, *args): return _CdiObj.TaxesMap___delitem__(self, *args)
    def has_key(self, *args): return _CdiObj.TaxesMap_has_key(self, *args)
    def keys(self): return _CdiObj.TaxesMap_keys(self)
    def values(self): return _CdiObj.TaxesMap_values(self)
    def items(self): return _CdiObj.TaxesMap_items(self)
    def __contains__(self, *args): return _CdiObj.TaxesMap___contains__(self, *args)
    def key_iterator(self): return _CdiObj.TaxesMap_key_iterator(self)
    def value_iterator(self): return _CdiObj.TaxesMap_value_iterator(self)
    def __setitem__(self, *args): return _CdiObj.TaxesMap___setitem__(self, *args)
    def asdict(self): return _CdiObj.TaxesMap_asdict(self)
    def __init__(self, *args): 
        this = _CdiObj.new_TaxesMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(self): return _CdiObj.TaxesMap_empty(self)
    def size(self): return _CdiObj.TaxesMap_size(self)
    def clear(self): return _CdiObj.TaxesMap_clear(self)
    def swap(self, *args): return _CdiObj.TaxesMap_swap(self, *args)
    def get_allocator(self): return _CdiObj.TaxesMap_get_allocator(self)
    def begin(self): return _CdiObj.TaxesMap_begin(self)
    def end(self): return _CdiObj.TaxesMap_end(self)
    def rbegin(self): return _CdiObj.TaxesMap_rbegin(self)
    def rend(self): return _CdiObj.TaxesMap_rend(self)
    def count(self, *args): return _CdiObj.TaxesMap_count(self, *args)
    def erase(self, *args): return _CdiObj.TaxesMap_erase(self, *args)
    def find(self, *args): return _CdiObj.TaxesMap_find(self, *args)
    def lower_bound(self, *args): return _CdiObj.TaxesMap_lower_bound(self, *args)
    def upper_bound(self, *args): return _CdiObj.TaxesMap_upper_bound(self, *args)
    __swig_destroy__ = _CdiObj.delete_TaxesMap
    __del__ = lambda self : None;
TaxesMap_swigregister = _CdiObj.TaxesMap_swigregister
TaxesMap_swigregister(TaxesMap)

class ZaxesMap(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ZaxesMap, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ZaxesMap, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.ZaxesMap_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.ZaxesMap___nonzero__(self)
    def __bool__(self): return _CdiObj.ZaxesMap___bool__(self)
    def __len__(self): return _CdiObj.ZaxesMap___len__(self)
    def __iter__(self): return self.key_iterator()
    def iterkeys(self): return self.key_iterator()
    def itervalues(self): return self.value_iterator()
    def iteritems(self): return self.iterator()
    def __getitem__(self, *args): return _CdiObj.ZaxesMap___getitem__(self, *args)
    def __delitem__(self, *args): return _CdiObj.ZaxesMap___delitem__(self, *args)
    def has_key(self, *args): return _CdiObj.ZaxesMap_has_key(self, *args)
    def keys(self): return _CdiObj.ZaxesMap_keys(self)
    def values(self): return _CdiObj.ZaxesMap_values(self)
    def items(self): return _CdiObj.ZaxesMap_items(self)
    def __contains__(self, *args): return _CdiObj.ZaxesMap___contains__(self, *args)
    def key_iterator(self): return _CdiObj.ZaxesMap_key_iterator(self)
    def value_iterator(self): return _CdiObj.ZaxesMap_value_iterator(self)
    def __setitem__(self, *args): return _CdiObj.ZaxesMap___setitem__(self, *args)
    def asdict(self): return _CdiObj.ZaxesMap_asdict(self)
    def __init__(self, *args): 
        this = _CdiObj.new_ZaxesMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(self): return _CdiObj.ZaxesMap_empty(self)
    def size(self): return _CdiObj.ZaxesMap_size(self)
    def clear(self): return _CdiObj.ZaxesMap_clear(self)
    def swap(self, *args): return _CdiObj.ZaxesMap_swap(self, *args)
    def get_allocator(self): return _CdiObj.ZaxesMap_get_allocator(self)
    def begin(self): return _CdiObj.ZaxesMap_begin(self)
    def end(self): return _CdiObj.ZaxesMap_end(self)
    def rbegin(self): return _CdiObj.ZaxesMap_rbegin(self)
    def rend(self): return _CdiObj.ZaxesMap_rend(self)
    def count(self, *args): return _CdiObj.ZaxesMap_count(self, *args)
    def erase(self, *args): return _CdiObj.ZaxesMap_erase(self, *args)
    def find(self, *args): return _CdiObj.ZaxesMap_find(self, *args)
    def lower_bound(self, *args): return _CdiObj.ZaxesMap_lower_bound(self, *args)
    def upper_bound(self, *args): return _CdiObj.ZaxesMap_upper_bound(self, *args)
    __swig_destroy__ = _CdiObj.delete_ZaxesMap
    __del__ = lambda self : None;
ZaxesMap_swigregister = _CdiObj.ZaxesMap_swigregister
ZaxesMap_swigregister(ZaxesMap)

class GridsMap(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GridsMap, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GridsMap, name)
    __repr__ = _swig_repr
    def iterator(self): return _CdiObj.GridsMap_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _CdiObj.GridsMap___nonzero__(self)
    def __bool__(self): return _CdiObj.GridsMap___bool__(self)
    def __len__(self): return _CdiObj.GridsMap___len__(self)
    def __iter__(self): return self.key_iterator()
    def iterkeys(self): return self.key_iterator()
    def itervalues(self): return self.value_iterator()
    def iteritems(self): return self.iterator()
    def __getitem__(self, *args): return _CdiObj.GridsMap___getitem__(self, *args)
    def __delitem__(self, *args): return _CdiObj.GridsMap___delitem__(self, *args)
    def has_key(self, *args): return _CdiObj.GridsMap_has_key(self, *args)
    def keys(self): return _CdiObj.GridsMap_keys(self)
    def values(self): return _CdiObj.GridsMap_values(self)
    def items(self): return _CdiObj.GridsMap_items(self)
    def __contains__(self, *args): return _CdiObj.GridsMap___contains__(self, *args)
    def key_iterator(self): return _CdiObj.GridsMap_key_iterator(self)
    def value_iterator(self): return _CdiObj.GridsMap_value_iterator(self)
    def __setitem__(self, *args): return _CdiObj.GridsMap___setitem__(self, *args)
    def asdict(self): return _CdiObj.GridsMap_asdict(self)
    def __init__(self, *args): 
        this = _CdiObj.new_GridsMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(self): return _CdiObj.GridsMap_empty(self)
    def size(self): return _CdiObj.GridsMap_size(self)
    def clear(self): return _CdiObj.GridsMap_clear(self)
    def swap(self, *args): return _CdiObj.GridsMap_swap(self, *args)
    def get_allocator(self): return _CdiObj.GridsMap_get_allocator(self)
    def begin(self): return _CdiObj.GridsMap_begin(self)
    def end(self): return _CdiObj.GridsMap_end(self)
    def rbegin(self): return _CdiObj.GridsMap_rbegin(self)
    def rend(self): return _CdiObj.GridsMap_rend(self)
    def count(self, *args): return _CdiObj.GridsMap_count(self, *args)
    def erase(self, *args): return _CdiObj.GridsMap_erase(self, *args)
    def find(self, *args): return _CdiObj.GridsMap_find(self, *args)
    def lower_bound(self, *args): return _CdiObj.GridsMap_lower_bound(self, *args)
    def upper_bound(self, *args): return _CdiObj.GridsMap_upper_bound(self, *args)
    __swig_destroy__ = _CdiObj.delete_GridsMap
    __del__ = lambda self : None;
GridsMap_swigregister = _CdiObj.GridsMap_swigregister
GridsMap_swigregister(GridsMap)

CHARSIZE = _CdiObj.CHARSIZE
class CdiGrid(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CdiGrid, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CdiGrid, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _CdiObj.new_CdiGrid(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _CdiObj.delete_CdiGrid
    __del__ = lambda self : None;
    __swig_setmethods__["gridID"] = _CdiObj.CdiGrid_gridID_set
    __swig_getmethods__["gridID"] = _CdiObj.CdiGrid_gridID_get
    if _newclass:gridID = _swig_property(_CdiObj.CdiGrid_gridID_get, _CdiObj.CdiGrid_gridID_set)
    __swig_setmethods__["type"] = _CdiObj.CdiGrid_type_set
    __swig_getmethods__["type"] = _CdiObj.CdiGrid_type_get
    if _newclass:type = _swig_property(_CdiObj.CdiGrid_type_get, _CdiObj.CdiGrid_type_set)
    __swig_setmethods__["size"] = _CdiObj.CdiGrid_size_set
    __swig_getmethods__["size"] = _CdiObj.CdiGrid_size_get
    if _newclass:size = _swig_property(_CdiObj.CdiGrid_size_get, _CdiObj.CdiGrid_size_set)
    __swig_setmethods__["xsize"] = _CdiObj.CdiGrid_xsize_set
    __swig_getmethods__["xsize"] = _CdiObj.CdiGrid_xsize_get
    if _newclass:xsize = _swig_property(_CdiObj.CdiGrid_xsize_get, _CdiObj.CdiGrid_xsize_set)
    __swig_setmethods__["ysize"] = _CdiObj.CdiGrid_ysize_set
    __swig_getmethods__["ysize"] = _CdiObj.CdiGrid_ysize_get
    if _newclass:ysize = _swig_property(_CdiObj.CdiGrid_ysize_get, _CdiObj.CdiGrid_ysize_set)
    __swig_setmethods__["prec"] = _CdiObj.CdiGrid_prec_set
    __swig_getmethods__["prec"] = _CdiObj.CdiGrid_prec_get
    if _newclass:prec = _swig_property(_CdiObj.CdiGrid_prec_get, _CdiObj.CdiGrid_prec_set)
    __swig_setmethods__["ncorner"] = _CdiObj.CdiGrid_ncorner_set
    __swig_getmethods__["ncorner"] = _CdiObj.CdiGrid_ncorner_get
    if _newclass:ncorner = _swig_property(_CdiObj.CdiGrid_ncorner_get, _CdiObj.CdiGrid_ncorner_set)
    __swig_setmethods__["hasXValues"] = _CdiObj.CdiGrid_hasXValues_set
    __swig_getmethods__["hasXValues"] = _CdiObj.CdiGrid_hasXValues_get
    if _newclass:hasXValues = _swig_property(_CdiObj.CdiGrid_hasXValues_get, _CdiObj.CdiGrid_hasXValues_set)
    __swig_setmethods__["hasYValues"] = _CdiObj.CdiGrid_hasYValues_set
    __swig_getmethods__["hasYValues"] = _CdiObj.CdiGrid_hasYValues_get
    if _newclass:hasYValues = _swig_property(_CdiObj.CdiGrid_hasYValues_get, _CdiObj.CdiGrid_hasYValues_set)
    __swig_setmethods__["hasBounds"] = _CdiObj.CdiGrid_hasBounds_set
    __swig_getmethods__["hasBounds"] = _CdiObj.CdiGrid_hasBounds_get
    if _newclass:hasBounds = _swig_property(_CdiObj.CdiGrid_hasBounds_get, _CdiObj.CdiGrid_hasBounds_set)
    __swig_setmethods__["xvalues"] = _CdiObj.CdiGrid_xvalues_set
    __swig_getmethods__["xvalues"] = _CdiObj.CdiGrid_xvalues_get
    if _newclass:xvalues = _swig_property(_CdiObj.CdiGrid_xvalues_get, _CdiObj.CdiGrid_xvalues_set)
    __swig_setmethods__["yvalues"] = _CdiObj.CdiGrid_yvalues_set
    __swig_getmethods__["yvalues"] = _CdiObj.CdiGrid_yvalues_get
    if _newclass:yvalues = _swig_property(_CdiObj.CdiGrid_yvalues_get, _CdiObj.CdiGrid_yvalues_set)
    __swig_setmethods__["xbounds"] = _CdiObj.CdiGrid_xbounds_set
    __swig_getmethods__["xbounds"] = _CdiObj.CdiGrid_xbounds_get
    if _newclass:xbounds = _swig_property(_CdiObj.CdiGrid_xbounds_get, _CdiObj.CdiGrid_xbounds_set)
    __swig_setmethods__["ybounds"] = _CdiObj.CdiGrid_ybounds_set
    __swig_getmethods__["ybounds"] = _CdiObj.CdiGrid_ybounds_get
    if _newclass:ybounds = _swig_property(_CdiObj.CdiGrid_ybounds_get, _CdiObj.CdiGrid_ybounds_set)
    __swig_setmethods__["xname"] = _CdiObj.CdiGrid_xname_set
    __swig_getmethods__["xname"] = _CdiObj.CdiGrid_xname_get
    if _newclass:xname = _swig_property(_CdiObj.CdiGrid_xname_get, _CdiObj.CdiGrid_xname_set)
    __swig_setmethods__["xlongname"] = _CdiObj.CdiGrid_xlongname_set
    __swig_getmethods__["xlongname"] = _CdiObj.CdiGrid_xlongname_get
    if _newclass:xlongname = _swig_property(_CdiObj.CdiGrid_xlongname_get, _CdiObj.CdiGrid_xlongname_set)
    __swig_setmethods__["xstdname"] = _CdiObj.CdiGrid_xstdname_set
    __swig_getmethods__["xstdname"] = _CdiObj.CdiGrid_xstdname_get
    if _newclass:xstdname = _swig_property(_CdiObj.CdiGrid_xstdname_get, _CdiObj.CdiGrid_xstdname_set)
    __swig_setmethods__["xunits"] = _CdiObj.CdiGrid_xunits_set
    __swig_getmethods__["xunits"] = _CdiObj.CdiGrid_xunits_get
    if _newclass:xunits = _swig_property(_CdiObj.CdiGrid_xunits_get, _CdiObj.CdiGrid_xunits_set)
    __swig_setmethods__["yname"] = _CdiObj.CdiGrid_yname_set
    __swig_getmethods__["yname"] = _CdiObj.CdiGrid_yname_get
    if _newclass:yname = _swig_property(_CdiObj.CdiGrid_yname_get, _CdiObj.CdiGrid_yname_set)
    __swig_setmethods__["ylongname"] = _CdiObj.CdiGrid_ylongname_set
    __swig_getmethods__["ylongname"] = _CdiObj.CdiGrid_ylongname_get
    if _newclass:ylongname = _swig_property(_CdiObj.CdiGrid_ylongname_get, _CdiObj.CdiGrid_ylongname_set)
    __swig_setmethods__["ystdname"] = _CdiObj.CdiGrid_ystdname_set
    __swig_getmethods__["ystdname"] = _CdiObj.CdiGrid_ystdname_get
    if _newclass:ystdname = _swig_property(_CdiObj.CdiGrid_ystdname_get, _CdiObj.CdiGrid_ystdname_set)
    __swig_setmethods__["yunits"] = _CdiObj.CdiGrid_yunits_set
    __swig_getmethods__["yunits"] = _CdiObj.CdiGrid_yunits_get
    if _newclass:yunits = _swig_property(_CdiObj.CdiGrid_yunits_get, _CdiObj.CdiGrid_yunits_set)
    __swig_setmethods__["name"] = _CdiObj.CdiGrid_name_set
    __swig_getmethods__["name"] = _CdiObj.CdiGrid_name_get
    if _newclass:name = _swig_property(_CdiObj.CdiGrid_name_get, _CdiObj.CdiGrid_name_set)
    def getValues(self): return _CdiObj.CdiGrid_getValues(self)
    def getBounds(self): return _CdiObj.CdiGrid_getBounds(self)
    def getValuesAsPointer(self, *args): return _CdiObj.CdiGrid_getValuesAsPointer(self, *args)
    def getBoundsAsPointer(self, *args): return _CdiObj.CdiGrid_getBoundsAsPointer(self, *args)
    def getFloatVals(self, *args): return _CdiObj.CdiGrid_getFloatVals(self, *args)
    def getFloatBounds(self, *args): return _CdiObj.CdiGrid_getFloatBounds(self, *args)
CdiGrid_swigregister = _CdiObj.CdiGrid_swigregister
CdiGrid_swigregister(CdiGrid)

class CdiTaxis(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CdiTaxis, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CdiTaxis, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _CdiObj.new_CdiTaxis(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _CdiObj.delete_CdiTaxis
    __del__ = lambda self : None;
    __swig_setmethods__["taxisID"] = _CdiObj.CdiTaxis_taxisID_set
    __swig_getmethods__["taxisID"] = _CdiObj.CdiTaxis_taxisID_get
    if _newclass:taxisID = _swig_property(_CdiObj.CdiTaxis_taxisID_get, _CdiObj.CdiTaxis_taxisID_set)
    __swig_setmethods__["ntsteps"] = _CdiObj.CdiTaxis_ntsteps_set
    __swig_getmethods__["ntsteps"] = _CdiObj.CdiTaxis_ntsteps_get
    if _newclass:ntsteps = _swig_property(_CdiObj.CdiTaxis_ntsteps_get, _CdiObj.CdiTaxis_ntsteps_set)
    __swig_setmethods__["unit"] = _CdiObj.CdiTaxis_unit_set
    __swig_getmethods__["unit"] = _CdiObj.CdiTaxis_unit_get
    if _newclass:unit = _swig_property(_CdiObj.CdiTaxis_unit_get, _CdiObj.CdiTaxis_unit_set)
    __swig_setmethods__["rdate"] = _CdiObj.CdiTaxis_rdate_set
    __swig_getmethods__["rdate"] = _CdiObj.CdiTaxis_rdate_get
    if _newclass:rdate = _swig_property(_CdiObj.CdiTaxis_rdate_get, _CdiObj.CdiTaxis_rdate_set)
    __swig_setmethods__["rtime"] = _CdiObj.CdiTaxis_rtime_set
    __swig_getmethods__["rtime"] = _CdiObj.CdiTaxis_rtime_get
    if _newclass:rtime = _swig_property(_CdiObj.CdiTaxis_rtime_get, _CdiObj.CdiTaxis_rtime_set)
    __swig_setmethods__["vdate"] = _CdiObj.CdiTaxis_vdate_set
    __swig_getmethods__["vdate"] = _CdiObj.CdiTaxis_vdate_get
    if _newclass:vdate = _swig_property(_CdiObj.CdiTaxis_vdate_get, _CdiObj.CdiTaxis_vdate_set)
    __swig_setmethods__["vtime"] = _CdiObj.CdiTaxis_vtime_set
    __swig_getmethods__["vtime"] = _CdiObj.CdiTaxis_vtime_get
    if _newclass:vtime = _swig_property(_CdiObj.CdiTaxis_vtime_get, _CdiObj.CdiTaxis_vtime_set)
    __swig_setmethods__["type"] = _CdiObj.CdiTaxis_type_set
    __swig_getmethods__["type"] = _CdiObj.CdiTaxis_type_get
    if _newclass:type = _swig_property(_CdiObj.CdiTaxis_type_get, _CdiObj.CdiTaxis_type_set)
    __swig_setmethods__["calendar"] = _CdiObj.CdiTaxis_calendar_set
    __swig_getmethods__["calendar"] = _CdiObj.CdiTaxis_calendar_get
    if _newclass:calendar = _swig_property(_CdiObj.CdiTaxis_calendar_get, _CdiObj.CdiTaxis_calendar_set)
    __swig_setmethods__["hasBounds"] = _CdiObj.CdiTaxis_hasBounds_set
    __swig_getmethods__["hasBounds"] = _CdiObj.CdiTaxis_hasBounds_get
    if _newclass:hasBounds = _swig_property(_CdiObj.CdiTaxis_hasBounds_get, _CdiObj.CdiTaxis_hasBounds_set)
    __swig_setmethods__["name"] = _CdiObj.CdiTaxis_name_set
    __swig_getmethods__["name"] = _CdiObj.CdiTaxis_name_get
    if _newclass:name = _swig_property(_CdiObj.CdiTaxis_name_get, _CdiObj.CdiTaxis_name_set)
    __swig_setmethods__["unitname"] = _CdiObj.CdiTaxis_unitname_set
    __swig_getmethods__["unitname"] = _CdiObj.CdiTaxis_unitname_get
    if _newclass:unitname = _swig_property(_CdiObj.CdiTaxis_unitname_get, _CdiObj.CdiTaxis_unitname_set)
CdiTaxis_swigregister = _CdiObj.CdiTaxis_swigregister
CdiTaxis_swigregister(CdiTaxis)

class CdiZaxis(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CdiZaxis, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CdiZaxis, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _CdiObj.new_CdiZaxis(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _CdiObj.delete_CdiZaxis
    __del__ = lambda self : None;
    __swig_setmethods__["zaxisID"] = _CdiObj.CdiZaxis_zaxisID_set
    __swig_getmethods__["zaxisID"] = _CdiObj.CdiZaxis_zaxisID_get
    if _newclass:zaxisID = _swig_property(_CdiObj.CdiZaxis_zaxisID_get, _CdiObj.CdiZaxis_zaxisID_set)
    __swig_setmethods__["type"] = _CdiObj.CdiZaxis_type_set
    __swig_getmethods__["type"] = _CdiObj.CdiZaxis_type_get
    if _newclass:type = _swig_property(_CdiObj.CdiZaxis_type_get, _CdiObj.CdiZaxis_type_set)
    __swig_setmethods__["ltype"] = _CdiObj.CdiZaxis_ltype_set
    __swig_getmethods__["ltype"] = _CdiObj.CdiZaxis_ltype_get
    if _newclass:ltype = _swig_property(_CdiObj.CdiZaxis_ltype_get, _CdiObj.CdiZaxis_ltype_set)
    __swig_setmethods__["size"] = _CdiObj.CdiZaxis_size_set
    __swig_getmethods__["size"] = _CdiObj.CdiZaxis_size_get
    if _newclass:size = _swig_property(_CdiObj.CdiZaxis_size_get, _CdiObj.CdiZaxis_size_set)
    __swig_setmethods__["prec"] = _CdiObj.CdiZaxis_prec_set
    __swig_getmethods__["prec"] = _CdiObj.CdiZaxis_prec_get
    if _newclass:prec = _swig_property(_CdiObj.CdiZaxis_prec_get, _CdiObj.CdiZaxis_prec_set)
    __swig_setmethods__["plevels"] = _CdiObj.CdiZaxis_plevels_set
    __swig_getmethods__["plevels"] = _CdiObj.CdiZaxis_plevels_get
    if _newclass:plevels = _swig_property(_CdiObj.CdiZaxis_plevels_get, _CdiObj.CdiZaxis_plevels_set)
    __swig_setmethods__["plbounds"] = _CdiObj.CdiZaxis_plbounds_set
    __swig_getmethods__["plbounds"] = _CdiObj.CdiZaxis_plbounds_get
    if _newclass:plbounds = _swig_property(_CdiObj.CdiZaxis_plbounds_get, _CdiObj.CdiZaxis_plbounds_set)
    __swig_setmethods__["pubounds"] = _CdiObj.CdiZaxis_pubounds_set
    __swig_getmethods__["pubounds"] = _CdiObj.CdiZaxis_pubounds_get
    if _newclass:pubounds = _swig_property(_CdiObj.CdiZaxis_pubounds_get, _CdiObj.CdiZaxis_pubounds_set)
    __swig_setmethods__["pweights"] = _CdiObj.CdiZaxis_pweights_set
    __swig_getmethods__["pweights"] = _CdiObj.CdiZaxis_pweights_get
    if _newclass:pweights = _swig_property(_CdiObj.CdiZaxis_pweights_get, _CdiObj.CdiZaxis_pweights_set)
    __swig_setmethods__["levels"] = _CdiObj.CdiZaxis_levels_set
    __swig_getmethods__["levels"] = _CdiObj.CdiZaxis_levels_get
    if _newclass:levels = _swig_property(_CdiObj.CdiZaxis_levels_get, _CdiObj.CdiZaxis_levels_set)
    __swig_setmethods__["lbounds"] = _CdiObj.CdiZaxis_lbounds_set
    __swig_getmethods__["lbounds"] = _CdiObj.CdiZaxis_lbounds_get
    if _newclass:lbounds = _swig_property(_CdiObj.CdiZaxis_lbounds_get, _CdiObj.CdiZaxis_lbounds_set)
    __swig_setmethods__["ubounds"] = _CdiObj.CdiZaxis_ubounds_set
    __swig_getmethods__["ubounds"] = _CdiObj.CdiZaxis_ubounds_get
    if _newclass:ubounds = _swig_property(_CdiObj.CdiZaxis_ubounds_get, _CdiObj.CdiZaxis_ubounds_set)
    __swig_setmethods__["weights"] = _CdiObj.CdiZaxis_weights_set
    __swig_getmethods__["weights"] = _CdiObj.CdiZaxis_weights_get
    if _newclass:weights = _swig_property(_CdiObj.CdiZaxis_weights_get, _CdiObj.CdiZaxis_weights_set)
    __swig_setmethods__["name"] = _CdiObj.CdiZaxis_name_set
    __swig_getmethods__["name"] = _CdiObj.CdiZaxis_name_get
    if _newclass:name = _swig_property(_CdiObj.CdiZaxis_name_get, _CdiObj.CdiZaxis_name_set)
    __swig_setmethods__["longname"] = _CdiObj.CdiZaxis_longname_set
    __swig_getmethods__["longname"] = _CdiObj.CdiZaxis_longname_get
    if _newclass:longname = _swig_property(_CdiObj.CdiZaxis_longname_get, _CdiObj.CdiZaxis_longname_set)
    __swig_setmethods__["units"] = _CdiObj.CdiZaxis_units_set
    __swig_getmethods__["units"] = _CdiObj.CdiZaxis_units_get
    if _newclass:units = _swig_property(_CdiObj.CdiZaxis_units_get, _CdiObj.CdiZaxis_units_set)
CdiZaxis_swigregister = _CdiObj.CdiZaxis_swigregister
CdiZaxis_swigregister(CdiZaxis)

class CdiVariable(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CdiVariable, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CdiVariable, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _CdiObj.new_CdiVariable(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _CdiObj.delete_CdiVariable
    __del__ = lambda self : None;
    __swig_setmethods__["varID"] = _CdiObj.CdiVariable_varID_set
    __swig_getmethods__["varID"] = _CdiObj.CdiVariable_varID_get
    if _newclass:varID = _swig_property(_CdiObj.CdiVariable_varID_get, _CdiObj.CdiVariable_varID_set)
    __swig_setmethods__["zaxisID"] = _CdiObj.CdiVariable_zaxisID_set
    __swig_getmethods__["zaxisID"] = _CdiObj.CdiVariable_zaxisID_get
    if _newclass:zaxisID = _swig_property(_CdiObj.CdiVariable_zaxisID_get, _CdiObj.CdiVariable_zaxisID_set)
    __swig_setmethods__["gridID"] = _CdiObj.CdiVariable_gridID_set
    __swig_getmethods__["gridID"] = _CdiObj.CdiVariable_gridID_get
    if _newclass:gridID = _swig_property(_CdiObj.CdiVariable_gridID_get, _CdiObj.CdiVariable_gridID_set)
    __swig_setmethods__["taxisID"] = _CdiObj.CdiVariable_taxisID_set
    __swig_getmethods__["taxisID"] = _CdiObj.CdiVariable_taxisID_get
    if _newclass:taxisID = _swig_property(_CdiObj.CdiVariable_taxisID_get, _CdiObj.CdiVariable_taxisID_set)
    __swig_setmethods__["timeID"] = _CdiObj.CdiVariable_timeID_set
    __swig_getmethods__["timeID"] = _CdiObj.CdiVariable_timeID_get
    if _newclass:timeID = _swig_property(_CdiObj.CdiVariable_timeID_get, _CdiObj.CdiVariable_timeID_set)
    __swig_setmethods__["vlistID"] = _CdiObj.CdiVariable_vlistID_set
    __swig_getmethods__["vlistID"] = _CdiObj.CdiVariable_vlistID_get
    if _newclass:vlistID = _swig_property(_CdiObj.CdiVariable_vlistID_get, _CdiObj.CdiVariable_vlistID_set)
    __swig_setmethods__["size"] = _CdiObj.CdiVariable_size_set
    __swig_getmethods__["size"] = _CdiObj.CdiVariable_size_get
    if _newclass:size = _swig_property(_CdiObj.CdiVariable_size_get, _CdiObj.CdiVariable_size_set)
    __swig_setmethods__["code"] = _CdiObj.CdiVariable_code_set
    __swig_getmethods__["code"] = _CdiObj.CdiVariable_code_get
    if _newclass:code = _swig_property(_CdiObj.CdiVariable_code_get, _CdiObj.CdiVariable_code_set)
    __swig_setmethods__["datatype"] = _CdiObj.CdiVariable_datatype_set
    __swig_getmethods__["datatype"] = _CdiObj.CdiVariable_datatype_get
    if _newclass:datatype = _swig_property(_CdiObj.CdiVariable_datatype_get, _CdiObj.CdiVariable_datatype_set)
    __swig_setmethods__["streamID"] = _CdiObj.CdiVariable_streamID_set
    __swig_getmethods__["streamID"] = _CdiObj.CdiVariable_streamID_get
    if _newclass:streamID = _swig_property(_CdiObj.CdiVariable_streamID_get, _CdiObj.CdiVariable_streamID_set)
    __swig_setmethods__["name"] = _CdiObj.CdiVariable_name_set
    __swig_getmethods__["name"] = _CdiObj.CdiVariable_name_get
    if _newclass:name = _swig_property(_CdiObj.CdiVariable_name_get, _CdiObj.CdiVariable_name_set)
    __swig_setmethods__["longname"] = _CdiObj.CdiVariable_longname_set
    __swig_getmethods__["longname"] = _CdiObj.CdiVariable_longname_get
    if _newclass:longname = _swig_property(_CdiObj.CdiVariable_longname_get, _CdiObj.CdiVariable_longname_set)
    __swig_setmethods__["units"] = _CdiObj.CdiVariable_units_set
    __swig_getmethods__["units"] = _CdiObj.CdiVariable_units_get
    if _newclass:units = _swig_property(_CdiObj.CdiVariable_units_get, _CdiObj.CdiVariable_units_set)
    __swig_setmethods__["stdname"] = _CdiObj.CdiVariable_stdname_set
    __swig_getmethods__["stdname"] = _CdiObj.CdiVariable_stdname_get
    if _newclass:stdname = _swig_property(_CdiObj.CdiVariable_stdname_get, _CdiObj.CdiVariable_stdname_set)
    __swig_setmethods__["missval"] = _CdiObj.CdiVariable_missval_set
    __swig_getmethods__["missval"] = _CdiObj.CdiVariable_missval_get
    if _newclass:missval = _swig_property(_CdiObj.CdiVariable_missval_get, _CdiObj.CdiVariable_missval_set)
    __swig_setmethods__["values"] = _CdiObj.CdiVariable_values_set
    __swig_getmethods__["values"] = _CdiObj.CdiVariable_values_get
    if _newclass:values = _swig_property(_CdiObj.CdiVariable_values_get, _CdiObj.CdiVariable_values_set)
    __swig_setmethods__["valuesWithLevel"] = _CdiObj.CdiVariable_valuesWithLevel_set
    __swig_getmethods__["valuesWithLevel"] = _CdiObj.CdiVariable_valuesWithLevel_get
    if _newclass:valuesWithLevel = _swig_property(_CdiObj.CdiVariable_valuesWithLevel_get, _CdiObj.CdiVariable_valuesWithLevel_set)
    __swig_setmethods__["grid"] = _CdiObj.CdiVariable_grid_set
    __swig_getmethods__["grid"] = _CdiObj.CdiVariable_grid_get
    if _newclass:grid = _swig_property(_CdiObj.CdiVariable_grid_get, _CdiObj.CdiVariable_grid_set)
    __swig_setmethods__["zaxis"] = _CdiObj.CdiVariable_zaxis_set
    __swig_getmethods__["zaxis"] = _CdiObj.CdiVariable_zaxis_get
    if _newclass:zaxis = _swig_property(_CdiObj.CdiVariable_zaxis_get, _CdiObj.CdiVariable_zaxis_set)
    __swig_setmethods__["taxis"] = _CdiObj.CdiVariable_taxis_set
    __swig_getmethods__["taxis"] = _CdiObj.CdiVariable_taxis_get
    if _newclass:taxis = _swig_property(_CdiObj.CdiVariable_taxis_get, _CdiObj.CdiVariable_taxis_set)
    def sinfo(self): return _CdiObj.CdiVariable_sinfo(self)
    def getValues(self): return _CdiObj.CdiVariable_getValues(self)
    def getValuesWithLevel(self, tsID = 0): return _CdiObj.CdiVariable_getValuesWithLevel(self, tsID)
    def getFValues(self): return _CdiObj.CdiVariable_getFValues(self)
    def getFValuesWithLevel(self, tsID = 0): return _CdiObj.CdiVariable_getFValuesWithLevel(self, tsID)
    def getValuesAsPointer(self): return _CdiObj.CdiVariable_getValuesAsPointer(self)
    def getValuesWithLevelAsPointer(self, tsID = 0): return _CdiObj.CdiVariable_getValuesWithLevelAsPointer(self, tsID)
CdiVariable_swigregister = _CdiObj.CdiVariable_swigregister
CdiVariable_swigregister(CdiVariable)

class Cdi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Cdi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Cdi, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _CdiObj.new_Cdi(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _CdiObj.delete_Cdi
    __del__ = lambda self : None;
    __swig_setmethods__["streamID"] = _CdiObj.Cdi_streamID_set
    __swig_getmethods__["streamID"] = _CdiObj.Cdi_streamID_get
    if _newclass:streamID = _swig_property(_CdiObj.Cdi_streamID_get, _CdiObj.Cdi_streamID_set)
    __swig_setmethods__["vlistID"] = _CdiObj.Cdi_vlistID_set
    __swig_getmethods__["vlistID"] = _CdiObj.Cdi_vlistID_get
    if _newclass:vlistID = _swig_property(_CdiObj.Cdi_vlistID_get, _CdiObj.Cdi_vlistID_set)
    __swig_setmethods__["nvars"] = _CdiObj.Cdi_nvars_set
    __swig_getmethods__["nvars"] = _CdiObj.Cdi_nvars_get
    if _newclass:nvars = _swig_property(_CdiObj.Cdi_nvars_get, _CdiObj.Cdi_nvars_set)
    __swig_setmethods__["nzaxes"] = _CdiObj.Cdi_nzaxes_set
    __swig_getmethods__["nzaxes"] = _CdiObj.Cdi_nzaxes_get
    if _newclass:nzaxes = _swig_property(_CdiObj.Cdi_nzaxes_get, _CdiObj.Cdi_nzaxes_set)
    __swig_setmethods__["ngrids"] = _CdiObj.Cdi_ngrids_set
    __swig_getmethods__["ngrids"] = _CdiObj.Cdi_ngrids_get
    if _newclass:ngrids = _swig_property(_CdiObj.Cdi_ngrids_get, _CdiObj.Cdi_ngrids_set)
    __swig_setmethods__["ntaxes"] = _CdiObj.Cdi_ntaxes_set
    __swig_getmethods__["ntaxes"] = _CdiObj.Cdi_ntaxes_get
    if _newclass:ntaxes = _swig_property(_CdiObj.Cdi_ntaxes_get, _CdiObj.Cdi_ntaxes_set)
    __swig_setmethods__["taxisID"] = _CdiObj.Cdi_taxisID_set
    __swig_getmethods__["taxisID"] = _CdiObj.Cdi_taxisID_get
    if _newclass:taxisID = _swig_property(_CdiObj.Cdi_taxisID_get, _CdiObj.Cdi_taxisID_set)
    __swig_setmethods__["varnames"] = _CdiObj.Cdi_varnames_set
    __swig_getmethods__["varnames"] = _CdiObj.Cdi_varnames_get
    if _newclass:varnames = _swig_property(_CdiObj.Cdi_varnames_get, _CdiObj.Cdi_varnames_set)
    __swig_setmethods__["codes"] = _CdiObj.Cdi_codes_set
    __swig_getmethods__["codes"] = _CdiObj.Cdi_codes_get
    if _newclass:codes = _swig_property(_CdiObj.Cdi_codes_get, _CdiObj.Cdi_codes_set)
    __swig_setmethods__["variables"] = _CdiObj.Cdi_variables_set
    __swig_getmethods__["variables"] = _CdiObj.Cdi_variables_get
    if _newclass:variables = _swig_property(_CdiObj.Cdi_variables_get, _CdiObj.Cdi_variables_set)
    __swig_setmethods__["var"] = _CdiObj.Cdi_var_set
    __swig_getmethods__["var"] = _CdiObj.Cdi_var_get
    if _newclass:var = _swig_property(_CdiObj.Cdi_var_get, _CdiObj.Cdi_var_set)
    __swig_setmethods__["varByCode"] = _CdiObj.Cdi_varByCode_set
    __swig_getmethods__["varByCode"] = _CdiObj.Cdi_varByCode_get
    if _newclass:varByCode = _swig_property(_CdiObj.Cdi_varByCode_get, _CdiObj.Cdi_varByCode_set)
    __swig_setmethods__["taxes"] = _CdiObj.Cdi_taxes_set
    __swig_getmethods__["taxes"] = _CdiObj.Cdi_taxes_get
    if _newclass:taxes = _swig_property(_CdiObj.Cdi_taxes_get, _CdiObj.Cdi_taxes_set)
    __swig_setmethods__["zaxes"] = _CdiObj.Cdi_zaxes_set
    __swig_getmethods__["zaxes"] = _CdiObj.Cdi_zaxes_get
    if _newclass:zaxes = _swig_property(_CdiObj.Cdi_zaxes_get, _CdiObj.Cdi_zaxes_set)
    __swig_setmethods__["grids"] = _CdiObj.Cdi_grids_set
    __swig_getmethods__["grids"] = _CdiObj.Cdi_grids_get
    if _newclass:grids = _swig_property(_CdiObj.Cdi_grids_get, _CdiObj.Cdi_grids_set)
    def griddes(self): return _CdiObj.Cdi_griddes(self)
Cdi_swigregister = _CdiObj.Cdi_swigregister
Cdi_swigregister(Cdi)

# This file is compatible with both classic and new-style classes.


