# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.36
#
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.

import _CdiObj
import new
new_instancemethod = new.instancemethod
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__ == 'PySwigObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static) or hasattr(self,name):
        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,)

import types
try:
    _object = types.ObjectType
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0
del types


class PySwigIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, PySwigIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, PySwigIterator, name)
    def __init__(self, *args, **kwargs): raise AttributeError, "No constructor defined"
    __repr__ = _swig_repr
    __swig_destroy__ = _CdiObj.delete_PySwigIterator
    __del__ = lambda self : None;
    def value(*args): return _CdiObj.PySwigIterator_value(*args)
    def incr(*args): return _CdiObj.PySwigIterator_incr(*args)
    def decr(*args): return _CdiObj.PySwigIterator_decr(*args)
    def distance(*args): return _CdiObj.PySwigIterator_distance(*args)
    def equal(*args): return _CdiObj.PySwigIterator_equal(*args)
    def copy(*args): return _CdiObj.PySwigIterator_copy(*args)
    def next(*args): return _CdiObj.PySwigIterator_next(*args)
    def previous(*args): return _CdiObj.PySwigIterator_previous(*args)
    def advance(*args): return _CdiObj.PySwigIterator_advance(*args)
    def __eq__(*args): return _CdiObj.PySwigIterator___eq__(*args)
    def __ne__(*args): return _CdiObj.PySwigIterator___ne__(*args)
    def __iadd__(*args): return _CdiObj.PySwigIterator___iadd__(*args)
    def __isub__(*args): return _CdiObj.PySwigIterator___isub__(*args)
    def __add__(*args): return _CdiObj.PySwigIterator___add__(*args)
    def __sub__(*args): return _CdiObj.PySwigIterator___sub__(*args)
    def __iter__(self): return self
PySwigIterator_swigregister = _CdiObj.PySwigIterator_swigregister
PySwigIterator_swigregister(PySwigIterator)

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(*args): return _CdiObj.IntVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.IntVector___nonzero__(*args)
    def __len__(*args): return _CdiObj.IntVector___len__(*args)
    def pop(*args): return _CdiObj.IntVector_pop(*args)
    def __getslice__(*args): return _CdiObj.IntVector___getslice__(*args)
    def __setslice__(*args): return _CdiObj.IntVector___setslice__(*args)
    def __delslice__(*args): return _CdiObj.IntVector___delslice__(*args)
    def __delitem__(*args): return _CdiObj.IntVector___delitem__(*args)
    def __getitem__(*args): return _CdiObj.IntVector___getitem__(*args)
    def __setitem__(*args): return _CdiObj.IntVector___setitem__(*args)
    def append(*args): return _CdiObj.IntVector_append(*args)
    def empty(*args): return _CdiObj.IntVector_empty(*args)
    def size(*args): return _CdiObj.IntVector_size(*args)
    def clear(*args): return _CdiObj.IntVector_clear(*args)
    def swap(*args): return _CdiObj.IntVector_swap(*args)
    def get_allocator(*args): return _CdiObj.IntVector_get_allocator(*args)
    def begin(*args): return _CdiObj.IntVector_begin(*args)
    def end(*args): return _CdiObj.IntVector_end(*args)
    def rbegin(*args): return _CdiObj.IntVector_rbegin(*args)
    def rend(*args): return _CdiObj.IntVector_rend(*args)
    def pop_back(*args): return _CdiObj.IntVector_pop_back(*args)
    def erase(*args): return _CdiObj.IntVector_erase(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_IntVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _CdiObj.IntVector_push_back(*args)
    def front(*args): return _CdiObj.IntVector_front(*args)
    def back(*args): return _CdiObj.IntVector_back(*args)
    def assign(*args): return _CdiObj.IntVector_assign(*args)
    def resize(*args): return _CdiObj.IntVector_resize(*args)
    def insert(*args): return _CdiObj.IntVector_insert(*args)
    def reserve(*args): return _CdiObj.IntVector_reserve(*args)
    def capacity(*args): return _CdiObj.IntVector_capacity(*args)
    __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(*args): return _CdiObj.DoubleVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.DoubleVector___nonzero__(*args)
    def __len__(*args): return _CdiObj.DoubleVector___len__(*args)
    def pop(*args): return _CdiObj.DoubleVector_pop(*args)
    def __getslice__(*args): return _CdiObj.DoubleVector___getslice__(*args)
    def __setslice__(*args): return _CdiObj.DoubleVector___setslice__(*args)
    def __delslice__(*args): return _CdiObj.DoubleVector___delslice__(*args)
    def __delitem__(*args): return _CdiObj.DoubleVector___delitem__(*args)
    def __getitem__(*args): return _CdiObj.DoubleVector___getitem__(*args)
    def __setitem__(*args): return _CdiObj.DoubleVector___setitem__(*args)
    def append(*args): return _CdiObj.DoubleVector_append(*args)
    def empty(*args): return _CdiObj.DoubleVector_empty(*args)
    def size(*args): return _CdiObj.DoubleVector_size(*args)
    def clear(*args): return _CdiObj.DoubleVector_clear(*args)
    def swap(*args): return _CdiObj.DoubleVector_swap(*args)
    def get_allocator(*args): return _CdiObj.DoubleVector_get_allocator(*args)
    def begin(*args): return _CdiObj.DoubleVector_begin(*args)
    def end(*args): return _CdiObj.DoubleVector_end(*args)
    def rbegin(*args): return _CdiObj.DoubleVector_rbegin(*args)
    def rend(*args): return _CdiObj.DoubleVector_rend(*args)
    def pop_back(*args): return _CdiObj.DoubleVector_pop_back(*args)
    def erase(*args): return _CdiObj.DoubleVector_erase(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_DoubleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _CdiObj.DoubleVector_push_back(*args)
    def front(*args): return _CdiObj.DoubleVector_front(*args)
    def back(*args): return _CdiObj.DoubleVector_back(*args)
    def assign(*args): return _CdiObj.DoubleVector_assign(*args)
    def resize(*args): return _CdiObj.DoubleVector_resize(*args)
    def insert(*args): return _CdiObj.DoubleVector_insert(*args)
    def reserve(*args): return _CdiObj.DoubleVector_reserve(*args)
    def capacity(*args): return _CdiObj.DoubleVector_capacity(*args)
    __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(*args): return _CdiObj.DoubleDoubleVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.DoubleDoubleVector___nonzero__(*args)
    def __len__(*args): return _CdiObj.DoubleDoubleVector___len__(*args)
    def pop(*args): return _CdiObj.DoubleDoubleVector_pop(*args)
    def __getslice__(*args): return _CdiObj.DoubleDoubleVector___getslice__(*args)
    def __setslice__(*args): return _CdiObj.DoubleDoubleVector___setslice__(*args)
    def __delslice__(*args): return _CdiObj.DoubleDoubleVector___delslice__(*args)
    def __delitem__(*args): return _CdiObj.DoubleDoubleVector___delitem__(*args)
    def __getitem__(*args): return _CdiObj.DoubleDoubleVector___getitem__(*args)
    def __setitem__(*args): return _CdiObj.DoubleDoubleVector___setitem__(*args)
    def append(*args): return _CdiObj.DoubleDoubleVector_append(*args)
    def empty(*args): return _CdiObj.DoubleDoubleVector_empty(*args)
    def size(*args): return _CdiObj.DoubleDoubleVector_size(*args)
    def clear(*args): return _CdiObj.DoubleDoubleVector_clear(*args)
    def swap(*args): return _CdiObj.DoubleDoubleVector_swap(*args)
    def get_allocator(*args): return _CdiObj.DoubleDoubleVector_get_allocator(*args)
    def begin(*args): return _CdiObj.DoubleDoubleVector_begin(*args)
    def end(*args): return _CdiObj.DoubleDoubleVector_end(*args)
    def rbegin(*args): return _CdiObj.DoubleDoubleVector_rbegin(*args)
    def rend(*args): return _CdiObj.DoubleDoubleVector_rend(*args)
    def pop_back(*args): return _CdiObj.DoubleDoubleVector_pop_back(*args)
    def erase(*args): return _CdiObj.DoubleDoubleVector_erase(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_DoubleDoubleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _CdiObj.DoubleDoubleVector_push_back(*args)
    def front(*args): return _CdiObj.DoubleDoubleVector_front(*args)
    def back(*args): return _CdiObj.DoubleDoubleVector_back(*args)
    def assign(*args): return _CdiObj.DoubleDoubleVector_assign(*args)
    def resize(*args): return _CdiObj.DoubleDoubleVector_resize(*args)
    def insert(*args): return _CdiObj.DoubleDoubleVector_insert(*args)
    def reserve(*args): return _CdiObj.DoubleDoubleVector_reserve(*args)
    def capacity(*args): return _CdiObj.DoubleDoubleVector_capacity(*args)
    __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(*args): return _CdiObj.StringVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.StringVector___nonzero__(*args)
    def __len__(*args): return _CdiObj.StringVector___len__(*args)
    def pop(*args): return _CdiObj.StringVector_pop(*args)
    def __getslice__(*args): return _CdiObj.StringVector___getslice__(*args)
    def __setslice__(*args): return _CdiObj.StringVector___setslice__(*args)
    def __delslice__(*args): return _CdiObj.StringVector___delslice__(*args)
    def __delitem__(*args): return _CdiObj.StringVector___delitem__(*args)
    def __getitem__(*args): return _CdiObj.StringVector___getitem__(*args)
    def __setitem__(*args): return _CdiObj.StringVector___setitem__(*args)
    def append(*args): return _CdiObj.StringVector_append(*args)
    def empty(*args): return _CdiObj.StringVector_empty(*args)
    def size(*args): return _CdiObj.StringVector_size(*args)
    def clear(*args): return _CdiObj.StringVector_clear(*args)
    def swap(*args): return _CdiObj.StringVector_swap(*args)
    def get_allocator(*args): return _CdiObj.StringVector_get_allocator(*args)
    def begin(*args): return _CdiObj.StringVector_begin(*args)
    def end(*args): return _CdiObj.StringVector_end(*args)
    def rbegin(*args): return _CdiObj.StringVector_rbegin(*args)
    def rend(*args): return _CdiObj.StringVector_rend(*args)
    def pop_back(*args): return _CdiObj.StringVector_pop_back(*args)
    def erase(*args): return _CdiObj.StringVector_erase(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_StringVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _CdiObj.StringVector_push_back(*args)
    def front(*args): return _CdiObj.StringVector_front(*args)
    def back(*args): return _CdiObj.StringVector_back(*args)
    def assign(*args): return _CdiObj.StringVector_assign(*args)
    def resize(*args): return _CdiObj.StringVector_resize(*args)
    def insert(*args): return _CdiObj.StringVector_insert(*args)
    def reserve(*args): return _CdiObj.StringVector_reserve(*args)
    def capacity(*args): return _CdiObj.StringVector_capacity(*args)
    __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(*args): return _CdiObj.VarsVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.VarsVector___nonzero__(*args)
    def __len__(*args): return _CdiObj.VarsVector___len__(*args)
    def pop(*args): return _CdiObj.VarsVector_pop(*args)
    def __getslice__(*args): return _CdiObj.VarsVector___getslice__(*args)
    def __setslice__(*args): return _CdiObj.VarsVector___setslice__(*args)
    def __delslice__(*args): return _CdiObj.VarsVector___delslice__(*args)
    def __delitem__(*args): return _CdiObj.VarsVector___delitem__(*args)
    def __getitem__(*args): return _CdiObj.VarsVector___getitem__(*args)
    def __setitem__(*args): return _CdiObj.VarsVector___setitem__(*args)
    def append(*args): return _CdiObj.VarsVector_append(*args)
    def empty(*args): return _CdiObj.VarsVector_empty(*args)
    def size(*args): return _CdiObj.VarsVector_size(*args)
    def clear(*args): return _CdiObj.VarsVector_clear(*args)
    def swap(*args): return _CdiObj.VarsVector_swap(*args)
    def get_allocator(*args): return _CdiObj.VarsVector_get_allocator(*args)
    def begin(*args): return _CdiObj.VarsVector_begin(*args)
    def end(*args): return _CdiObj.VarsVector_end(*args)
    def rbegin(*args): return _CdiObj.VarsVector_rbegin(*args)
    def rend(*args): return _CdiObj.VarsVector_rend(*args)
    def pop_back(*args): return _CdiObj.VarsVector_pop_back(*args)
    def erase(*args): return _CdiObj.VarsVector_erase(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _CdiObj.VarsVector_push_back(*args)
    def front(*args): return _CdiObj.VarsVector_front(*args)
    def back(*args): return _CdiObj.VarsVector_back(*args)
    def assign(*args): return _CdiObj.VarsVector_assign(*args)
    def resize(*args): return _CdiObj.VarsVector_resize(*args)
    def insert(*args): return _CdiObj.VarsVector_insert(*args)
    def reserve(*args): return _CdiObj.VarsVector_reserve(*args)
    def capacity(*args): return _CdiObj.VarsVector_capacity(*args)
    __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(*args): return _CdiObj.VarsMap_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.VarsMap___nonzero__(*args)
    def __len__(*args): return _CdiObj.VarsMap___len__(*args)
    def __getitem__(*args): return _CdiObj.VarsMap___getitem__(*args)
    def __delitem__(*args): return _CdiObj.VarsMap___delitem__(*args)
    def has_key(*args): return _CdiObj.VarsMap_has_key(*args)
    def keys(*args): return _CdiObj.VarsMap_keys(*args)
    def values(*args): return _CdiObj.VarsMap_values(*args)
    def items(*args): return _CdiObj.VarsMap_items(*args)
    def __contains__(*args): return _CdiObj.VarsMap___contains__(*args)
    def key_iterator(*args): return _CdiObj.VarsMap_key_iterator(*args)
    def value_iterator(*args): return _CdiObj.VarsMap_value_iterator(*args)
    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 __setitem__(*args): return _CdiObj.VarsMap___setitem__(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(*args): return _CdiObj.VarsMap_empty(*args)
    def size(*args): return _CdiObj.VarsMap_size(*args)
    def clear(*args): return _CdiObj.VarsMap_clear(*args)
    def swap(*args): return _CdiObj.VarsMap_swap(*args)
    def get_allocator(*args): return _CdiObj.VarsMap_get_allocator(*args)
    def begin(*args): return _CdiObj.VarsMap_begin(*args)
    def end(*args): return _CdiObj.VarsMap_end(*args)
    def rbegin(*args): return _CdiObj.VarsMap_rbegin(*args)
    def rend(*args): return _CdiObj.VarsMap_rend(*args)
    def count(*args): return _CdiObj.VarsMap_count(*args)
    def erase(*args): return _CdiObj.VarsMap_erase(*args)
    def find(*args): return _CdiObj.VarsMap_find(*args)
    def lower_bound(*args): return _CdiObj.VarsMap_lower_bound(*args)
    def upper_bound(*args): return _CdiObj.VarsMap_upper_bound(*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(*args): return _CdiObj.VarsByCode_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.VarsByCode___nonzero__(*args)
    def __len__(*args): return _CdiObj.VarsByCode___len__(*args)
    def __getitem__(*args): return _CdiObj.VarsByCode___getitem__(*args)
    def __delitem__(*args): return _CdiObj.VarsByCode___delitem__(*args)
    def has_key(*args): return _CdiObj.VarsByCode_has_key(*args)
    def keys(*args): return _CdiObj.VarsByCode_keys(*args)
    def values(*args): return _CdiObj.VarsByCode_values(*args)
    def items(*args): return _CdiObj.VarsByCode_items(*args)
    def __contains__(*args): return _CdiObj.VarsByCode___contains__(*args)
    def key_iterator(*args): return _CdiObj.VarsByCode_key_iterator(*args)
    def value_iterator(*args): return _CdiObj.VarsByCode_value_iterator(*args)
    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 __setitem__(*args): return _CdiObj.VarsByCode___setitem__(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_VarsByCode(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(*args): return _CdiObj.VarsByCode_empty(*args)
    def size(*args): return _CdiObj.VarsByCode_size(*args)
    def clear(*args): return _CdiObj.VarsByCode_clear(*args)
    def swap(*args): return _CdiObj.VarsByCode_swap(*args)
    def get_allocator(*args): return _CdiObj.VarsByCode_get_allocator(*args)
    def begin(*args): return _CdiObj.VarsByCode_begin(*args)
    def end(*args): return _CdiObj.VarsByCode_end(*args)
    def rbegin(*args): return _CdiObj.VarsByCode_rbegin(*args)
    def rend(*args): return _CdiObj.VarsByCode_rend(*args)
    def count(*args): return _CdiObj.VarsByCode_count(*args)
    def erase(*args): return _CdiObj.VarsByCode_erase(*args)
    def find(*args): return _CdiObj.VarsByCode_find(*args)
    def lower_bound(*args): return _CdiObj.VarsByCode_lower_bound(*args)
    def upper_bound(*args): return _CdiObj.VarsByCode_upper_bound(*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(*args): return _CdiObj.TaxesMap_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.TaxesMap___nonzero__(*args)
    def __len__(*args): return _CdiObj.TaxesMap___len__(*args)
    def __getitem__(*args): return _CdiObj.TaxesMap___getitem__(*args)
    def __delitem__(*args): return _CdiObj.TaxesMap___delitem__(*args)
    def has_key(*args): return _CdiObj.TaxesMap_has_key(*args)
    def keys(*args): return _CdiObj.TaxesMap_keys(*args)
    def values(*args): return _CdiObj.TaxesMap_values(*args)
    def items(*args): return _CdiObj.TaxesMap_items(*args)
    def __contains__(*args): return _CdiObj.TaxesMap___contains__(*args)
    def key_iterator(*args): return _CdiObj.TaxesMap_key_iterator(*args)
    def value_iterator(*args): return _CdiObj.TaxesMap_value_iterator(*args)
    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 __setitem__(*args): return _CdiObj.TaxesMap___setitem__(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_TaxesMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(*args): return _CdiObj.TaxesMap_empty(*args)
    def size(*args): return _CdiObj.TaxesMap_size(*args)
    def clear(*args): return _CdiObj.TaxesMap_clear(*args)
    def swap(*args): return _CdiObj.TaxesMap_swap(*args)
    def get_allocator(*args): return _CdiObj.TaxesMap_get_allocator(*args)
    def begin(*args): return _CdiObj.TaxesMap_begin(*args)
    def end(*args): return _CdiObj.TaxesMap_end(*args)
    def rbegin(*args): return _CdiObj.TaxesMap_rbegin(*args)
    def rend(*args): return _CdiObj.TaxesMap_rend(*args)
    def count(*args): return _CdiObj.TaxesMap_count(*args)
    def erase(*args): return _CdiObj.TaxesMap_erase(*args)
    def find(*args): return _CdiObj.TaxesMap_find(*args)
    def lower_bound(*args): return _CdiObj.TaxesMap_lower_bound(*args)
    def upper_bound(*args): return _CdiObj.TaxesMap_upper_bound(*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(*args): return _CdiObj.ZaxesMap_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.ZaxesMap___nonzero__(*args)
    def __len__(*args): return _CdiObj.ZaxesMap___len__(*args)
    def __getitem__(*args): return _CdiObj.ZaxesMap___getitem__(*args)
    def __delitem__(*args): return _CdiObj.ZaxesMap___delitem__(*args)
    def has_key(*args): return _CdiObj.ZaxesMap_has_key(*args)
    def keys(*args): return _CdiObj.ZaxesMap_keys(*args)
    def values(*args): return _CdiObj.ZaxesMap_values(*args)
    def items(*args): return _CdiObj.ZaxesMap_items(*args)
    def __contains__(*args): return _CdiObj.ZaxesMap___contains__(*args)
    def key_iterator(*args): return _CdiObj.ZaxesMap_key_iterator(*args)
    def value_iterator(*args): return _CdiObj.ZaxesMap_value_iterator(*args)
    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 __setitem__(*args): return _CdiObj.ZaxesMap___setitem__(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_ZaxesMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(*args): return _CdiObj.ZaxesMap_empty(*args)
    def size(*args): return _CdiObj.ZaxesMap_size(*args)
    def clear(*args): return _CdiObj.ZaxesMap_clear(*args)
    def swap(*args): return _CdiObj.ZaxesMap_swap(*args)
    def get_allocator(*args): return _CdiObj.ZaxesMap_get_allocator(*args)
    def begin(*args): return _CdiObj.ZaxesMap_begin(*args)
    def end(*args): return _CdiObj.ZaxesMap_end(*args)
    def rbegin(*args): return _CdiObj.ZaxesMap_rbegin(*args)
    def rend(*args): return _CdiObj.ZaxesMap_rend(*args)
    def count(*args): return _CdiObj.ZaxesMap_count(*args)
    def erase(*args): return _CdiObj.ZaxesMap_erase(*args)
    def find(*args): return _CdiObj.ZaxesMap_find(*args)
    def lower_bound(*args): return _CdiObj.ZaxesMap_lower_bound(*args)
    def upper_bound(*args): return _CdiObj.ZaxesMap_upper_bound(*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(*args): return _CdiObj.GridsMap_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _CdiObj.GridsMap___nonzero__(*args)
    def __len__(*args): return _CdiObj.GridsMap___len__(*args)
    def __getitem__(*args): return _CdiObj.GridsMap___getitem__(*args)
    def __delitem__(*args): return _CdiObj.GridsMap___delitem__(*args)
    def has_key(*args): return _CdiObj.GridsMap_has_key(*args)
    def keys(*args): return _CdiObj.GridsMap_keys(*args)
    def values(*args): return _CdiObj.GridsMap_values(*args)
    def items(*args): return _CdiObj.GridsMap_items(*args)
    def __contains__(*args): return _CdiObj.GridsMap___contains__(*args)
    def key_iterator(*args): return _CdiObj.GridsMap_key_iterator(*args)
    def value_iterator(*args): return _CdiObj.GridsMap_value_iterator(*args)
    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 __setitem__(*args): return _CdiObj.GridsMap___setitem__(*args)
    def __init__(self, *args): 
        this = _CdiObj.new_GridsMap(*args)
        try: self.this.append(this)
        except: self.this = this
    def empty(*args): return _CdiObj.GridsMap_empty(*args)
    def size(*args): return _CdiObj.GridsMap_size(*args)
    def clear(*args): return _CdiObj.GridsMap_clear(*args)
    def swap(*args): return _CdiObj.GridsMap_swap(*args)
    def get_allocator(*args): return _CdiObj.GridsMap_get_allocator(*args)
    def begin(*args): return _CdiObj.GridsMap_begin(*args)
    def end(*args): return _CdiObj.GridsMap_end(*args)
    def rbegin(*args): return _CdiObj.GridsMap_rbegin(*args)
    def rend(*args): return _CdiObj.GridsMap_rend(*args)
    def count(*args): return _CdiObj.GridsMap_count(*args)
    def erase(*args): return _CdiObj.GridsMap_erase(*args)
    def find(*args): return _CdiObj.GridsMap_find(*args)
    def lower_bound(*args): return _CdiObj.GridsMap_lower_bound(*args)
    def upper_bound(*args): return _CdiObj.GridsMap_upper_bound(*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(*args): return _CdiObj.CdiGrid_getValues(*args)
    def getBounds(*args): return _CdiObj.CdiGrid_getBounds(*args)
    def getValuesAsPointer(*args): return _CdiObj.CdiGrid_getValuesAsPointer(*args)
    def getBoundsAsPointer(*args): return _CdiObj.CdiGrid_getBoundsAsPointer(*args)
    def getFloatVals(*args): return _CdiObj.CdiGrid_getFloatVals(*args)
    def getFloatBounds(*args): return _CdiObj.CdiGrid_getFloatBounds(*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(*args): return _CdiObj.CdiVariable_sinfo(*args)
    def getValues(*args): return _CdiObj.CdiVariable_getValues(*args)
    def getValuesWithLevel(*args): return _CdiObj.CdiVariable_getValuesWithLevel(*args)
    def getFValues(*args): return _CdiObj.CdiVariable_getFValues(*args)
    def getFValuesWithLevel(*args): return _CdiObj.CdiVariable_getFValuesWithLevel(*args)
    def getValuesAsPointer(*args): return _CdiObj.CdiVariable_getValuesAsPointer(*args)
    def getValuesWithLevelAsPointer(*args): return _CdiObj.CdiVariable_getValuesWithLevelAsPointer(*args)
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(*args): return _CdiObj.Cdi_griddes(*args)
Cdi_swigregister = _CdiObj.Cdi_swigregister
Cdi_swigregister(Cdi)



