# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# 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 as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_codac')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_codac')
    _codac = swig_import_helper()
    del swig_import_helper
elif _swig_python_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('_codac', [dirname(__file__)])
        except ImportError:
            import _codac
            return _codac
        try:
            _mod = imp.load_module('_codac', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _codac = swig_import_helper()
    del swig_import_helper
else:
    import _codac
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            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("'%s' object has no attribute '%s'" % (class_type.__name__, name))


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

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0


CodacError = _codac.CodacError


def version():
    return _codac.version()
version = _codac.version

def match_filefilter(filefilter, num_filepaths, py_callback):
    return _codac.match_filefilter(filefilter, num_filepaths, py_callback)
match_filefilter = _codac.match_filefilter
class Cursor(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Cursor, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Cursor, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _codac.new_Cursor()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _codac.delete_Cursor
    __del__ = lambda self: None

    def __deepcopy__(self,memo):
        return _codac.Cursor___deepcopy__(self)



    def __copy__(self):
        return _codac.Cursor___deepcopy__(self)

Cursor_swigregister = _codac.Cursor_swigregister
Cursor_swigregister(Cursor)


def cursor_read_int8_array(cursor):
    return _codac.cursor_read_int8_array(cursor)
cursor_read_int8_array = _codac.cursor_read_int8_array

def cursor_read_uint8_array(cursor):
    return _codac.cursor_read_uint8_array(cursor)
cursor_read_uint8_array = _codac.cursor_read_uint8_array

def cursor_read_int16_array(cursor):
    return _codac.cursor_read_int16_array(cursor)
cursor_read_int16_array = _codac.cursor_read_int16_array

def cursor_read_uint16_array(cursor):
    return _codac.cursor_read_uint16_array(cursor)
cursor_read_uint16_array = _codac.cursor_read_uint16_array

def cursor_read_int32_array(cursor):
    return _codac.cursor_read_int32_array(cursor)
cursor_read_int32_array = _codac.cursor_read_int32_array

def cursor_read_uint32_array(cursor):
    return _codac.cursor_read_uint32_array(cursor)
cursor_read_uint32_array = _codac.cursor_read_uint32_array

def cursor_read_int64_array(cursor):
    return _codac.cursor_read_int64_array(cursor)
cursor_read_int64_array = _codac.cursor_read_int64_array

def cursor_read_uint64_array(cursor):
    return _codac.cursor_read_uint64_array(cursor)
cursor_read_uint64_array = _codac.cursor_read_uint64_array

def cursor_read_float_array(cursor):
    return _codac.cursor_read_float_array(cursor)
cursor_read_float_array = _codac.cursor_read_float_array

def cursor_read_double_array(cursor):
    return _codac.cursor_read_double_array(cursor)
cursor_read_double_array = _codac.cursor_read_double_array

def cursor_read_char_array(cursor):
    return _codac.cursor_read_char_array(cursor)
cursor_read_char_array = _codac.cursor_read_char_array

def cursor_read_int8_partial_array(cursor, offset, length):
    return _codac.cursor_read_int8_partial_array(cursor, offset, length)
cursor_read_int8_partial_array = _codac.cursor_read_int8_partial_array

def cursor_read_uint8_partial_array(cursor, offset, length):
    return _codac.cursor_read_uint8_partial_array(cursor, offset, length)
cursor_read_uint8_partial_array = _codac.cursor_read_uint8_partial_array

def cursor_read_int16_partial_array(cursor, offset, length):
    return _codac.cursor_read_int16_partial_array(cursor, offset, length)
cursor_read_int16_partial_array = _codac.cursor_read_int16_partial_array

def cursor_read_uint16_partial_array(cursor, offset, length):
    return _codac.cursor_read_uint16_partial_array(cursor, offset, length)
cursor_read_uint16_partial_array = _codac.cursor_read_uint16_partial_array

def cursor_read_int32_partial_array(cursor, offset, length):
    return _codac.cursor_read_int32_partial_array(cursor, offset, length)
cursor_read_int32_partial_array = _codac.cursor_read_int32_partial_array

def cursor_read_uint32_partial_array(cursor, offset, length):
    return _codac.cursor_read_uint32_partial_array(cursor, offset, length)
cursor_read_uint32_partial_array = _codac.cursor_read_uint32_partial_array

def cursor_read_int64_partial_array(cursor, offset, length):
    return _codac.cursor_read_int64_partial_array(cursor, offset, length)
cursor_read_int64_partial_array = _codac.cursor_read_int64_partial_array

def cursor_read_uint64_partial_array(cursor, offset, length):
    return _codac.cursor_read_uint64_partial_array(cursor, offset, length)
cursor_read_uint64_partial_array = _codac.cursor_read_uint64_partial_array

def cursor_read_float_partial_array(cursor, offset, length):
    return _codac.cursor_read_float_partial_array(cursor, offset, length)
cursor_read_float_partial_array = _codac.cursor_read_float_partial_array

def cursor_read_double_partial_array(cursor, offset, length):
    return _codac.cursor_read_double_partial_array(cursor, offset, length)
cursor_read_double_partial_array = _codac.cursor_read_double_partial_array

def cursor_read_char_partial_array(cursor, offset, length):
    return _codac.cursor_read_char_partial_array(cursor, offset, length)
cursor_read_char_partial_array = _codac.cursor_read_char_partial_array

def cursor_read_complex_double_pair(cursor):
    return _codac.cursor_read_complex_double_pair(cursor)
cursor_read_complex_double_pair = _codac.cursor_read_complex_double_pair

def cursor_read_complex_double_split_array(cursor):
    return _codac.cursor_read_complex_double_split_array(cursor)
cursor_read_complex_double_split_array = _codac.cursor_read_complex_double_split_array

def cursor_read_complex_double_pairs_array(cursor):
    return _codac.cursor_read_complex_double_pairs_array(cursor)
cursor_read_complex_double_pairs_array = _codac.cursor_read_complex_double_pairs_array

def cursor_read_complex(cursor):
    return _codac.cursor_read_complex(cursor)
cursor_read_complex = _codac.cursor_read_complex

def cursor_read_complex_array(cursor):
    return _codac.cursor_read_complex_array(cursor)
cursor_read_complex_array = _codac.cursor_read_complex_array

def cursor_read_bits(cursor, bit_offset, bit_length):
    return _codac.cursor_read_bits(cursor, bit_offset, bit_length)
cursor_read_bits = _codac.cursor_read_bits

def cursor_read_bytes(cursor, offset, length):
    return _codac.cursor_read_bytes(cursor, offset, length)
cursor_read_bytes = _codac.cursor_read_bytes

def done():
    return _codac.done()
done = _codac.done

def NaN():
    return _codac.NaN()
NaN = _codac.NaN

def PlusInf():
    return _codac.PlusInf()
PlusInf = _codac.PlusInf

def MinInf():
    return _codac.MinInf()
MinInf = _codac.MinInf

def type_get_format_name(format):
    return _codac.type_get_format_name(format)
type_get_format_name = _codac.type_get_format_name

def type_get_class_name(type_class):
    return _codac.type_get_class_name(type_class)
type_get_class_name = _codac.type_get_class_name

def type_get_native_type_name(native_type):
    return _codac.type_get_native_type_name(native_type)
type_get_native_type_name = _codac.type_get_native_type_name

def type_get_special_type_name(special_type):
    return _codac.type_get_special_type_name(special_type)
type_get_special_type_name = _codac.type_get_special_type_name

def c_index_to_fortran_index(num_dims, index):
    return _codac.c_index_to_fortran_index(num_dims, index)
c_index_to_fortran_index = _codac.c_index_to_fortran_index

def expression_get_type_name(type):
    return _codac.expression_get_type_name(type)
expression_get_type_name = _codac.expression_get_type_name

def expression_delete(expr):
    return _codac.expression_delete(expr)
expression_delete = _codac.expression_delete

def get_option_bypass_special_types():
    return _codac.get_option_bypass_special_types()
get_option_bypass_special_types = _codac.get_option_bypass_special_types

def get_option_perform_boundary_checks():
    return _codac.get_option_perform_boundary_checks()
get_option_perform_boundary_checks = _codac.get_option_perform_boundary_checks

def get_option_perform_conversions():
    return _codac.get_option_perform_conversions()
get_option_perform_conversions = _codac.get_option_perform_conversions

def get_option_use_fast_size_expressions():
    return _codac.get_option_use_fast_size_expressions()
get_option_use_fast_size_expressions = _codac.get_option_use_fast_size_expressions

def get_option_use_mmap():
    return _codac.get_option_use_mmap()
get_option_use_mmap = _codac.get_option_use_mmap

def isNaN(x):
    return _codac.isNaN(x)
isNaN = _codac.isNaN

def isInf(x):
    return _codac.isInf(x)
isInf = _codac.isInf

def isPlusInf(x):
    return _codac.isPlusInf(x)
isPlusInf = _codac.isPlusInf

def isMinInf(x):
    return _codac.isMinInf(x)
isMinInf = _codac.isMinInf

def expression_is_constant(expr):
    return _codac.expression_is_constant(expr)
expression_is_constant = _codac.expression_is_constant

def expression_is_equal(expr1, expr2):
    return _codac.expression_is_equal(expr1, expr2)
expression_is_equal = _codac.expression_is_equal
CODA_MAX_NUM_DIMS = _codac.CODA_MAX_NUM_DIMS
coda_array_ordering_c = _codac.coda_array_ordering_c
coda_array_ordering_fortran = _codac.coda_array_ordering_fortran
coda_ffs_error = _codac.coda_ffs_error
coda_ffs_could_not_open_file = _codac.coda_ffs_could_not_open_file
coda_ffs_could_not_access_directory = _codac.coda_ffs_could_not_access_directory
coda_ffs_unsupported_file = _codac.coda_ffs_unsupported_file
coda_ffs_match = _codac.coda_ffs_match
coda_ffs_no_match = _codac.coda_ffs_no_match
coda_format_ascii = _codac.coda_format_ascii
coda_format_binary = _codac.coda_format_binary
coda_format_xml = _codac.coda_format_xml
coda_format_hdf4 = _codac.coda_format_hdf4
coda_format_hdf5 = _codac.coda_format_hdf5
coda_format_cdf = _codac.coda_format_cdf
coda_format_netcdf = _codac.coda_format_netcdf
coda_format_grib = _codac.coda_format_grib
coda_format_rinex = _codac.coda_format_rinex
coda_format_sp3 = _codac.coda_format_sp3
coda_record_class = _codac.coda_record_class
coda_array_class = _codac.coda_array_class
coda_integer_class = _codac.coda_integer_class
coda_real_class = _codac.coda_real_class
coda_text_class = _codac.coda_text_class
coda_raw_class = _codac.coda_raw_class
coda_special_class = _codac.coda_special_class
coda_special_no_data = _codac.coda_special_no_data
coda_special_vsf_integer = _codac.coda_special_vsf_integer
coda_special_time = _codac.coda_special_time
coda_special_complex = _codac.coda_special_complex
coda_native_type_not_available = _codac.coda_native_type_not_available
coda_native_type_int8 = _codac.coda_native_type_int8
coda_native_type_uint8 = _codac.coda_native_type_uint8
coda_native_type_int16 = _codac.coda_native_type_int16
coda_native_type_uint16 = _codac.coda_native_type_uint16
coda_native_type_int32 = _codac.coda_native_type_int32
coda_native_type_uint32 = _codac.coda_native_type_uint32
coda_native_type_int64 = _codac.coda_native_type_int64
coda_native_type_uint64 = _codac.coda_native_type_uint64
coda_native_type_float = _codac.coda_native_type_float
coda_native_type_double = _codac.coda_native_type_double
coda_native_type_char = _codac.coda_native_type_char
coda_native_type_string = _codac.coda_native_type_string
coda_native_type_bytes = _codac.coda_native_type_bytes
coda_expression_boolean = _codac.coda_expression_boolean
coda_expression_integer = _codac.coda_expression_integer
coda_expression_float = _codac.coda_expression_float
coda_expression_string = _codac.coda_expression_string
coda_expression_node = _codac.coda_expression_node
coda_expression_void = _codac.coda_expression_void

def init():
    return _codac.init()
init = _codac.init

def coda_set_definition_path_conditional(file, searchpath, relative_location):
    return _codac.coda_set_definition_path_conditional(file, searchpath, relative_location)
coda_set_definition_path_conditional = _codac.coda_set_definition_path_conditional

def set_option_bypass_special_types(enable):
    return _codac.set_option_bypass_special_types(enable)
set_option_bypass_special_types = _codac.set_option_bypass_special_types

def set_option_perform_boundary_checks(enable):
    return _codac.set_option_perform_boundary_checks(enable)
set_option_perform_boundary_checks = _codac.set_option_perform_boundary_checks

def set_option_perform_conversions(enable):
    return _codac.set_option_perform_conversions(enable)
set_option_perform_conversions = _codac.set_option_perform_conversions

def set_option_use_fast_size_expressions(enable):
    return _codac.set_option_use_fast_size_expressions(enable)
set_option_use_fast_size_expressions = _codac.set_option_use_fast_size_expressions

def set_option_use_mmap(enable):
    return _codac.set_option_use_mmap(enable)
set_option_use_mmap = _codac.set_option_use_mmap

def time_double_to_parts(datetime):
    return _codac.time_double_to_parts(datetime)
time_double_to_parts = _codac.time_double_to_parts

def time_double_to_parts_utc(datetime):
    return _codac.time_double_to_parts_utc(datetime)
time_double_to_parts_utc = _codac.time_double_to_parts_utc

def time_parts_to_double(year, month, day, hour, minute, second, musec):
    return _codac.time_parts_to_double(year, month, day, hour, minute, second, musec)
time_parts_to_double = _codac.time_parts_to_double

def time_parts_to_double_utc(year, month, day, hour, minute, second, musec):
    return _codac.time_parts_to_double_utc(year, month, day, hour, minute, second, musec)
time_parts_to_double_utc = _codac.time_parts_to_double_utc

def time_parts_to_string(year, month, day, hour, minute, second, musec, format):
    return _codac.time_parts_to_string(year, month, day, hour, minute, second, musec, format)
time_parts_to_string = _codac.time_parts_to_string

def time_string_to_parts(format, str):
    return _codac.time_string_to_parts(format, str)
time_string_to_parts = _codac.time_string_to_parts

def time_double_to_string(datetime, format):
    return _codac.time_double_to_string(datetime, format)
time_double_to_string = _codac.time_double_to_string

def time_double_to_string_utc(datetime, format):
    return _codac.time_double_to_string_utc(datetime, format)
time_double_to_string_utc = _codac.time_double_to_string_utc

def time_string_to_double(format, str):
    return _codac.time_string_to_double(format, str)
time_string_to_double = _codac.time_string_to_double

def time_string_to_double_utc(format, str):
    return _codac.time_string_to_double_utc(format, str)
time_string_to_double_utc = _codac.time_string_to_double_utc

def recognize_file(filename):
    return _codac.recognize_file(filename)
recognize_file = _codac.recognize_file

def open(filename):
    return _codac.open(filename)
open = _codac.open

def open_as(filename, product_class, product_type, version):
    return _codac.open_as(filename, product_class, product_type, version)
open_as = _codac.open_as

def close(product):
    return _codac.close(product)
close = _codac.close

def get_product_filename(product):
    return _codac.get_product_filename(product)
get_product_filename = _codac.get_product_filename

def get_product_file_size(product):
    return _codac.get_product_file_size(product)
get_product_file_size = _codac.get_product_file_size

def get_product_format(product):
    return _codac.get_product_format(product)
get_product_format = _codac.get_product_format

def get_product_class(product):
    return _codac.get_product_class(product)
get_product_class = _codac.get_product_class

def get_product_type(product):
    return _codac.get_product_type(product)
get_product_type = _codac.get_product_type

def get_product_version(product):
    return _codac.get_product_version(product)
get_product_version = _codac.get_product_version

def get_product_definition_file(product):
    return _codac.get_product_definition_file(product)
get_product_definition_file = _codac.get_product_definition_file

def get_product_root_type(product):
    return _codac.get_product_root_type(product)
get_product_root_type = _codac.get_product_root_type

def get_product_variable_value(product, variable, index):
    return _codac.get_product_variable_value(product, variable, index)
get_product_variable_value = _codac.get_product_variable_value

def type_has_attributes(type):
    return _codac.type_has_attributes(type)
type_has_attributes = _codac.type_has_attributes

def type_get_format(type):
    return _codac.type_get_format(type)
type_get_format = _codac.type_get_format

def type_get_class(type):
    return _codac.type_get_class(type)
type_get_class = _codac.type_get_class

def type_get_read_type(type):
    return _codac.type_get_read_type(type)
type_get_read_type = _codac.type_get_read_type

def type_get_string_length(type):
    return _codac.type_get_string_length(type)
type_get_string_length = _codac.type_get_string_length

def type_get_bit_size(type):
    return _codac.type_get_bit_size(type)
type_get_bit_size = _codac.type_get_bit_size

def type_get_name(type):
    return _codac.type_get_name(type)
type_get_name = _codac.type_get_name

def type_get_description(type):
    return _codac.type_get_description(type)
type_get_description = _codac.type_get_description

def type_get_unit(type):
    return _codac.type_get_unit(type)
type_get_unit = _codac.type_get_unit

def type_get_fixed_value(type):
    return _codac.type_get_fixed_value(type)
type_get_fixed_value = _codac.type_get_fixed_value

def type_get_attributes(type):
    return _codac.type_get_attributes(type)
type_get_attributes = _codac.type_get_attributes

def type_get_num_record_fields(type):
    return _codac.type_get_num_record_fields(type)
type_get_num_record_fields = _codac.type_get_num_record_fields

def type_get_record_field_index_from_name(type, name):
    return _codac.type_get_record_field_index_from_name(type, name)
type_get_record_field_index_from_name = _codac.type_get_record_field_index_from_name

def type_get_record_field_index_from_real_name(type, real_name):
    return _codac.type_get_record_field_index_from_real_name(type, real_name)
type_get_record_field_index_from_real_name = _codac.type_get_record_field_index_from_real_name

def type_get_record_field_type(type, index):
    return _codac.type_get_record_field_type(type, index)
type_get_record_field_type = _codac.type_get_record_field_type

def type_get_record_field_name(type, index):
    return _codac.type_get_record_field_name(type, index)
type_get_record_field_name = _codac.type_get_record_field_name

def type_get_record_field_real_name(type, index):
    return _codac.type_get_record_field_real_name(type, index)
type_get_record_field_real_name = _codac.type_get_record_field_real_name

def type_get_record_field_hidden_status(type, index):
    return _codac.type_get_record_field_hidden_status(type, index)
type_get_record_field_hidden_status = _codac.type_get_record_field_hidden_status

def type_get_record_field_available_status(type, index):
    return _codac.type_get_record_field_available_status(type, index)
type_get_record_field_available_status = _codac.type_get_record_field_available_status

def type_get_record_union_status(type):
    return _codac.type_get_record_union_status(type)
type_get_record_union_status = _codac.type_get_record_union_status

def type_get_array_num_dims(type):
    return _codac.type_get_array_num_dims(type)
type_get_array_num_dims = _codac.type_get_array_num_dims

def type_get_array_dim(type):
    return _codac.type_get_array_dim(type)
type_get_array_dim = _codac.type_get_array_dim

def type_get_array_base_type(type):
    return _codac.type_get_array_base_type(type)
type_get_array_base_type = _codac.type_get_array_base_type

def type_get_special_type(type):
    return _codac.type_get_special_type(type)
type_get_special_type = _codac.type_get_special_type

def type_get_special_base_type(type):
    return _codac.type_get_special_base_type(type)
type_get_special_base_type = _codac.type_get_special_base_type

def cursor_set_product(cursor, product):
    return _codac.cursor_set_product(cursor, product)
cursor_set_product = _codac.cursor_set_product

def cursor_goto(cursor, path):
    return _codac.cursor_goto(cursor, path)
cursor_goto = _codac.cursor_goto

def cursor_goto_first_record_field(cursor):
    return _codac.cursor_goto_first_record_field(cursor)
cursor_goto_first_record_field = _codac.cursor_goto_first_record_field

def cursor_goto_next_record_field(cursor):
    return _codac.cursor_goto_next_record_field(cursor)
cursor_goto_next_record_field = _codac.cursor_goto_next_record_field

def cursor_goto_record_field_by_index(cursor, index):
    return _codac.cursor_goto_record_field_by_index(cursor, index)
cursor_goto_record_field_by_index = _codac.cursor_goto_record_field_by_index

def cursor_goto_record_field_by_name(cursor, name):
    return _codac.cursor_goto_record_field_by_name(cursor, name)
cursor_goto_record_field_by_name = _codac.cursor_goto_record_field_by_name

def cursor_goto_available_union_field(cursor):
    return _codac.cursor_goto_available_union_field(cursor)
cursor_goto_available_union_field = _codac.cursor_goto_available_union_field

def cursor_goto_first_array_element(cursor):
    return _codac.cursor_goto_first_array_element(cursor)
cursor_goto_first_array_element = _codac.cursor_goto_first_array_element

def cursor_goto_next_array_element(cursor):
    return _codac.cursor_goto_next_array_element(cursor)
cursor_goto_next_array_element = _codac.cursor_goto_next_array_element

def cursor_goto_array_element(cursor, num_subs):
    return _codac.cursor_goto_array_element(cursor, num_subs)
cursor_goto_array_element = _codac.cursor_goto_array_element

def cursor_goto_array_element_by_index(cursor, index):
    return _codac.cursor_goto_array_element_by_index(cursor, index)
cursor_goto_array_element_by_index = _codac.cursor_goto_array_element_by_index

def cursor_goto_attributes(cursor):
    return _codac.cursor_goto_attributes(cursor)
cursor_goto_attributes = _codac.cursor_goto_attributes

def cursor_goto_root(cursor):
    return _codac.cursor_goto_root(cursor)
cursor_goto_root = _codac.cursor_goto_root

def cursor_goto_parent(cursor):
    return _codac.cursor_goto_parent(cursor)
cursor_goto_parent = _codac.cursor_goto_parent

def cursor_use_base_type_of_special_type(cursor):
    return _codac.cursor_use_base_type_of_special_type(cursor)
cursor_use_base_type_of_special_type = _codac.cursor_use_base_type_of_special_type

def cursor_has_ascii_content(cursor):
    return _codac.cursor_has_ascii_content(cursor)
cursor_has_ascii_content = _codac.cursor_has_ascii_content

def cursor_has_attributes(cursor):
    return _codac.cursor_has_attributes(cursor)
cursor_has_attributes = _codac.cursor_has_attributes

def cursor_get_string_length(cursor):
    return _codac.cursor_get_string_length(cursor)
cursor_get_string_length = _codac.cursor_get_string_length

def cursor_get_bit_size(cursor):
    return _codac.cursor_get_bit_size(cursor)
cursor_get_bit_size = _codac.cursor_get_bit_size

def cursor_get_byte_size(cursor):
    return _codac.cursor_get_byte_size(cursor)
cursor_get_byte_size = _codac.cursor_get_byte_size

def cursor_get_num_elements(cursor):
    return _codac.cursor_get_num_elements(cursor)
cursor_get_num_elements = _codac.cursor_get_num_elements

def cursor_get_product_file(cursor):
    return _codac.cursor_get_product_file(cursor)
cursor_get_product_file = _codac.cursor_get_product_file

def cursor_get_depth(cursor):
    return _codac.cursor_get_depth(cursor)
cursor_get_depth = _codac.cursor_get_depth

def cursor_get_index(cursor):
    return _codac.cursor_get_index(cursor)
cursor_get_index = _codac.cursor_get_index

def cursor_get_file_bit_offset(cursor):
    return _codac.cursor_get_file_bit_offset(cursor)
cursor_get_file_bit_offset = _codac.cursor_get_file_bit_offset

def cursor_get_file_byte_offset(cursor):
    return _codac.cursor_get_file_byte_offset(cursor)
cursor_get_file_byte_offset = _codac.cursor_get_file_byte_offset

def cursor_get_format(cursor):
    return _codac.cursor_get_format(cursor)
cursor_get_format = _codac.cursor_get_format

def cursor_get_type_class(cursor):
    return _codac.cursor_get_type_class(cursor)
cursor_get_type_class = _codac.cursor_get_type_class

def cursor_get_read_type(cursor):
    return _codac.cursor_get_read_type(cursor)
cursor_get_read_type = _codac.cursor_get_read_type

def cursor_get_special_type(cursor):
    return _codac.cursor_get_special_type(cursor)
cursor_get_special_type = _codac.cursor_get_special_type

def cursor_get_type(cursor):
    return _codac.cursor_get_type(cursor)
cursor_get_type = _codac.cursor_get_type

def cursor_get_record_field_index_from_name(cursor, name):
    return _codac.cursor_get_record_field_index_from_name(cursor, name)
cursor_get_record_field_index_from_name = _codac.cursor_get_record_field_index_from_name

def cursor_get_record_field_available_status(cursor, index):
    return _codac.cursor_get_record_field_available_status(cursor, index)
cursor_get_record_field_available_status = _codac.cursor_get_record_field_available_status

def cursor_get_available_union_field_index(cursor):
    return _codac.cursor_get_available_union_field_index(cursor)
cursor_get_available_union_field_index = _codac.cursor_get_available_union_field_index

def cursor_get_array_dim(cursor):
    return _codac.cursor_get_array_dim(cursor)
cursor_get_array_dim = _codac.cursor_get_array_dim

def cursor_read_int8(cursor):
    return _codac.cursor_read_int8(cursor)
cursor_read_int8 = _codac.cursor_read_int8

def cursor_read_uint8(cursor):
    return _codac.cursor_read_uint8(cursor)
cursor_read_uint8 = _codac.cursor_read_uint8

def cursor_read_int16(cursor):
    return _codac.cursor_read_int16(cursor)
cursor_read_int16 = _codac.cursor_read_int16

def cursor_read_uint16(cursor):
    return _codac.cursor_read_uint16(cursor)
cursor_read_uint16 = _codac.cursor_read_uint16

def cursor_read_int32(cursor):
    return _codac.cursor_read_int32(cursor)
cursor_read_int32 = _codac.cursor_read_int32

def cursor_read_uint32(cursor):
    return _codac.cursor_read_uint32(cursor)
cursor_read_uint32 = _codac.cursor_read_uint32

def cursor_read_int64(cursor):
    return _codac.cursor_read_int64(cursor)
cursor_read_int64 = _codac.cursor_read_int64

def cursor_read_uint64(cursor):
    return _codac.cursor_read_uint64(cursor)
cursor_read_uint64 = _codac.cursor_read_uint64

def cursor_read_float(cursor):
    return _codac.cursor_read_float(cursor)
cursor_read_float = _codac.cursor_read_float

def cursor_read_double(cursor):
    return _codac.cursor_read_double(cursor)
cursor_read_double = _codac.cursor_read_double

def cursor_read_char(cursor):
    return _codac.cursor_read_char(cursor)
cursor_read_char = _codac.cursor_read_char

def cursor_read_string(cursor):
    return _codac.cursor_read_string(cursor)
cursor_read_string = _codac.cursor_read_string

def cursor_read_complex_double_split(cursor):
    return _codac.cursor_read_complex_double_split(cursor)
cursor_read_complex_double_split = _codac.cursor_read_complex_double_split

def expression_from_string(exprstring):
    return _codac.expression_from_string(exprstring)
expression_from_string = _codac.expression_from_string

def expression_get_type(expr):
    return _codac.expression_get_type(expr)
expression_get_type = _codac.expression_get_type

def expression_eval_bool(expr, cursor):
    return _codac.expression_eval_bool(expr, cursor)
expression_eval_bool = _codac.expression_eval_bool

def expression_eval_integer(expr, cursor):
    return _codac.expression_eval_integer(expr, cursor)
expression_eval_integer = _codac.expression_eval_integer

def expression_eval_float(expr, cursor):
    return _codac.expression_eval_float(expr, cursor)
expression_eval_float = _codac.expression_eval_float

def expression_eval_string(expr, cursor):
    return _codac.expression_eval_string(expr, cursor)
expression_eval_string = _codac.expression_eval_string

def expression_eval_node(expr, cursor):
    return _codac.expression_eval_node(expr, cursor)
expression_eval_node = _codac.expression_eval_node


# wrap expression eval functions such that the cursor argument becomes optional
def expression_eval_bool(expr, cursor=None):
    return _codac.expression_eval_bool(expr, cursor)
def expression_eval_integer(expr, cursor=None):
    return _codac.expression_eval_integer(expr, cursor)
def expression_eval_double(expr, cursor=None):
    return _codac.expression_eval_double(expr, cursor)
def expression_eval_string(expr, cursor=None):
    return _codac.expression_eval_string(expr, cursor)

# wrap cursor_read_bytes() function such that the offset and length arguments become optional
def cursor_read_bytes(cursor, offset=None, length=None):
    if offset is None and length is None:
        offset = 0
        length = cursor_get_byte_size(cursor)
    return _codac.cursor_read_bytes(cursor, offset, length)

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


