# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.1.1
#
# 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
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _medstructelement
else:
    import _medstructelement

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator_medstructelement_module(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _medstructelement.delete_SwigPyIterator_medstructelement_module

    def value(self):
        return _medstructelement.SwigPyIterator_medstructelement_module_value(self)

    def incr(self, n=1):
        return _medstructelement.SwigPyIterator_medstructelement_module_incr(self, n)

    def decr(self, n=1):
        return _medstructelement.SwigPyIterator_medstructelement_module_decr(self, n)

    def distance(self, x):
        return _medstructelement.SwigPyIterator_medstructelement_module_distance(self, x)

    def equal(self, x):
        return _medstructelement.SwigPyIterator_medstructelement_module_equal(self, x)

    def copy(self):
        return _medstructelement.SwigPyIterator_medstructelement_module_copy(self)

    def next(self):
        return _medstructelement.SwigPyIterator_medstructelement_module_next(self)

    def __next__(self):
        return _medstructelement.SwigPyIterator_medstructelement_module___next__(self)

    def previous(self):
        return _medstructelement.SwigPyIterator_medstructelement_module_previous(self)

    def advance(self, n):
        return _medstructelement.SwigPyIterator_medstructelement_module_advance(self, n)

    def __eq__(self, x):
        return _medstructelement.SwigPyIterator_medstructelement_module___eq__(self, x)

    def __ne__(self, x):
        return _medstructelement.SwigPyIterator_medstructelement_module___ne__(self, x)

    def __iadd__(self, n):
        return _medstructelement.SwigPyIterator_medstructelement_module___iadd__(self, n)

    def __isub__(self, n):
        return _medstructelement.SwigPyIterator_medstructelement_module___isub__(self, n)

    def __add__(self, n):
        return _medstructelement.SwigPyIterator_medstructelement_module___add__(self, n)

    def __sub__(self, *args):
        return _medstructelement.SwigPyIterator_medstructelement_module___sub__(self, *args)
    def __iter__(self): return self
    def __iter__(self):
        return self

# Register SwigPyIterator_medstructelement_module in _medstructelement:
_medstructelement.SwigPyIterator_medstructelement_module_swigregister(SwigPyIterator_medstructelement_module)
HAVE_CC_C99 = _medstructelement.HAVE_CC_C99
HAVE_CUSERID = _medstructelement.HAVE_CUSERID
HAVE_DLFCN_H = _medstructelement.HAVE_DLFCN_H
HAVE_FTIME = _medstructelement.HAVE_FTIME
HAVE_GETEUID = _medstructelement.HAVE_GETEUID
HAVE_GETPWUID = _medstructelement.HAVE_GETPWUID
HAVE_GETTIMEOFDAY = _medstructelement.HAVE_GETTIMEOFDAY
HAVE_H5PUBLIC_H = _medstructelement.HAVE_H5PUBLIC_H
HAVE_INT64 = _medstructelement.HAVE_INT64
HAVE_INTTYPES_H = _medstructelement.HAVE_INTTYPES_H
HAVE_MALLOC_H = _medstructelement.HAVE_MALLOC_H
HAVE_PWD_H = _medstructelement.HAVE_PWD_H
HAVE_STDBOOL_H = _medstructelement.HAVE_STDBOOL_H
HAVE_STDINT_H = _medstructelement.HAVE_STDINT_H
HAVE_STDIO_H = _medstructelement.HAVE_STDIO_H
HAVE_STDLIB_H = _medstructelement.HAVE_STDLIB_H
HAVE_STRINGS_H = _medstructelement.HAVE_STRINGS_H
HAVE_STRING_H = _medstructelement.HAVE_STRING_H
HAVE_SYS_STAT_H = _medstructelement.HAVE_SYS_STAT_H
HAVE_SYS_TIMEB_H = _medstructelement.HAVE_SYS_TIMEB_H
HAVE_SYS_TIME_H = _medstructelement.HAVE_SYS_TIME_H
HAVE_SYS_TYPES_H = _medstructelement.HAVE_SYS_TYPES_H
HAVE_UNISTD_H = _medstructelement.HAVE_UNISTD_H
HAVE__BOOL = _medstructelement.HAVE__BOOL
MED_CHECK_23FORMAT = _medstructelement.MED_CHECK_23FORMAT
MED_HAVE_FORTRAN = _medstructelement.MED_HAVE_FORTRAN
MESGERR = _medstructelement.MESGERR
PACKAGE = _medstructelement.PACKAGE
PACKAGE_BUGREPORT = _medstructelement.PACKAGE_BUGREPORT
PACKAGE_NAME = _medstructelement.PACKAGE_NAME
PACKAGE_STRING = _medstructelement.PACKAGE_STRING
PACKAGE_URL = _medstructelement.PACKAGE_URL
PACKAGE_VERSION = _medstructelement.PACKAGE_VERSION
SIZEOF_FORTRAN_INTEGER = _medstructelement.SIZEOF_FORTRAN_INTEGER
SIZEOF_INT = _medstructelement.SIZEOF_INT
SIZEOF_LONG = _medstructelement.SIZEOF_LONG
STDC_HEADERS = _medstructelement.STDC_HEADERS
VERSION = _medstructelement.VERSION
HDF_VERSION_REF = _medstructelement.HDF_VERSION_REF
HDF_VERSION_MAJOR_REF = _medstructelement.HDF_VERSION_MAJOR_REF
HDF_VERSION_MINOR_REF = _medstructelement.HDF_VERSION_MINOR_REF
HDF_VERSION_RELEASE_REF = _medstructelement.HDF_VERSION_RELEASE_REF
HDF_VERSION_NUM_REF = _medstructelement.HDF_VERSION_NUM_REF
H5F_LIBVER_18 = _medstructelement.H5F_LIBVER_18
MED_MAJOR_NUM = _medstructelement.MED_MAJOR_NUM
MED_MINOR_NUM = _medstructelement.MED_MINOR_NUM
MED_RELEASE_NUM = _medstructelement.MED_RELEASE_NUM
MED_3_LATEST_MINOR = _medstructelement.MED_3_LATEST_MINOR
MED_4_LATEST_MINOR = _medstructelement.MED_4_LATEST_MINOR
MED_40_LATEST_RELEASE = _medstructelement.MED_40_LATEST_RELEASE
MED_NUM_MAJEUR = _medstructelement.MED_NUM_MAJEUR
MED_NUM_MINEUR = _medstructelement.MED_NUM_MINEUR
MED_NUM_RELEASE = _medstructelement.MED_NUM_RELEASE
MED_VERSION_STR = _medstructelement.MED_VERSION_STR
MED_MAX_PARA = _medstructelement.MED_MAX_PARA
MED_COMMENT_SIZE = _medstructelement.MED_COMMENT_SIZE
MED_IDENT_SIZE = _medstructelement.MED_IDENT_SIZE
MED_NAME_SIZE = _medstructelement.MED_NAME_SIZE
MED_SNAME_SIZE = _medstructelement.MED_SNAME_SIZE
MED_LNAME_SIZE = _medstructelement.MED_LNAME_SIZE
MED_SNAME_BLANK = _medstructelement.MED_SNAME_BLANK
MED_NAME_BLANK = _medstructelement.MED_NAME_BLANK
MED_PATHNAME_SIZE = _medstructelement.MED_PATHNAME_SIZE
MED_MAX_CHFID_PATH = _medstructelement.MED_MAX_CHFID_PATH
MED_FULL_INTERLACE = _medstructelement.MED_FULL_INTERLACE
MED_NO_INTERLACE = _medstructelement.MED_NO_INTERLACE
MED_UNDEF_INTERLACE = _medstructelement.MED_UNDEF_INTERLACE
MED_UNDEF_STMODE = _medstructelement.MED_UNDEF_STMODE
MED_GLOBAL_STMODE = _medstructelement.MED_GLOBAL_STMODE
MED_COMPACT_STMODE = _medstructelement.MED_COMPACT_STMODE
MED_GLOBAL_PFLMODE = _medstructelement.MED_GLOBAL_PFLMODE
MED_COMPACT_PFLMODE = _medstructelement.MED_COMPACT_PFLMODE
MED_UNDEF_PFLMODE = _medstructelement.MED_UNDEF_PFLMODE
MED_ACC_RDONLY = _medstructelement.MED_ACC_RDONLY
MED_ACC_RDWR = _medstructelement.MED_ACC_RDWR
MED_ACC_RDEXT = _medstructelement.MED_ACC_RDEXT
MED_ACC_CREAT = _medstructelement.MED_ACC_CREAT
MED_ACC_UNDEF = _medstructelement.MED_ACC_UNDEF
MED_UNSTRUCTURED_MESH = _medstructelement.MED_UNSTRUCTURED_MESH
MED_STRUCTURED_MESH = _medstructelement.MED_STRUCTURED_MESH
MED_UNDEF_MESH_TYPE = _medstructelement.MED_UNDEF_MESH_TYPE
MED_CARTESIAN_GRID = _medstructelement.MED_CARTESIAN_GRID
MED_POLAR_GRID = _medstructelement.MED_POLAR_GRID
MED_CURVILINEAR_GRID = _medstructelement.MED_CURVILINEAR_GRID
MED_UNDEF_GRID_TYPE = _medstructelement.MED_UNDEF_GRID_TYPE
MED_CELL = _medstructelement.MED_CELL
MED_DESCENDING_FACE = _medstructelement.MED_DESCENDING_FACE
MED_DESCENDING_EDGE = _medstructelement.MED_DESCENDING_EDGE
MED_NODE = _medstructelement.MED_NODE
MED_NODE_ELEMENT = _medstructelement.MED_NODE_ELEMENT
MED_STRUCT_ELEMENT = _medstructelement.MED_STRUCT_ELEMENT
MED_ALL_ENTITY_TYPE = _medstructelement.MED_ALL_ENTITY_TYPE
MED_UNDEF_ENTITY_TYPE = _medstructelement.MED_UNDEF_ENTITY_TYPE
MED_N_ENTITY_TYPES = _medstructelement.MED_N_ENTITY_TYPES
MED_COORDINATE = _medstructelement.MED_COORDINATE
MED_CONNECTIVITY = _medstructelement.MED_CONNECTIVITY
MED_NAME = _medstructelement.MED_NAME
MED_NUMBER = _medstructelement.MED_NUMBER
MED_FAMILY_NUMBER = _medstructelement.MED_FAMILY_NUMBER
MED_COORDINATE_AXIS1 = _medstructelement.MED_COORDINATE_AXIS1
MED_COORDINATE_AXIS2 = _medstructelement.MED_COORDINATE_AXIS2
MED_COORDINATE_AXIS3 = _medstructelement.MED_COORDINATE_AXIS3
MED_INDEX_FACE = _medstructelement.MED_INDEX_FACE
MED_INDEX_NODE = _medstructelement.MED_INDEX_NODE
MED_GLOBAL_NUMBER = _medstructelement.MED_GLOBAL_NUMBER
MED_VARIABLE_ATTRIBUTE = _medstructelement.MED_VARIABLE_ATTRIBUTE
MED_COORDINATE_TRSF = _medstructelement.MED_COORDINATE_TRSF
MED_UNDEF_DATATYPE = _medstructelement.MED_UNDEF_DATATYPE
MED_INTERNAL_FLOAT32 = _medstructelement.MED_INTERNAL_FLOAT32
MED_INTERNAL_FLOAT64 = _medstructelement.MED_INTERNAL_FLOAT64
MED_INTERNAL_INT8 = _medstructelement.MED_INTERNAL_INT8
MED_INTERNAL_INT32 = _medstructelement.MED_INTERNAL_INT32
MED_INTERNAL_INT64 = _medstructelement.MED_INTERNAL_INT64
MED_INTERNAL_INT = _medstructelement.MED_INTERNAL_INT
MED_INTERNAL_NAME = _medstructelement.MED_INTERNAL_NAME
MED_INTERNAL_SNAME = _medstructelement.MED_INTERNAL_SNAME
MED_INTERNAL_LNAME = _medstructelement.MED_INTERNAL_LNAME
MED_INTERNAL_IDENT = _medstructelement.MED_INTERNAL_IDENT
MED_INTERNAL_CHAR = _medstructelement.MED_INTERNAL_CHAR
MED_INTERNAL_UNDEF = _medstructelement.MED_INTERNAL_UNDEF
MED_DOUBLE = _medstructelement.MED_DOUBLE
MED_FLOAT64 = _medstructelement.MED_FLOAT64
MED_FLOAT32 = _medstructelement.MED_FLOAT32
MED_INT32 = _medstructelement.MED_INT32
MED_INT64 = _medstructelement.MED_INT64
MED_INT = _medstructelement.MED_INT
MED_ATT_FLOAT64 = _medstructelement.MED_ATT_FLOAT64
MED_ATT_INT = _medstructelement.MED_ATT_INT
MED_ATT_NAME = _medstructelement.MED_ATT_NAME
MED_ATT_UNDEF = _medstructelement.MED_ATT_UNDEF
MED_MESH = _medstructelement.MED_MESH
MED_FIELD = _medstructelement.MED_FIELD
MED_LIBRARY = _medstructelement.MED_LIBRARY
MED_FILE = _medstructelement.MED_FILE
MED_MESH_SUPPORT = _medstructelement.MED_MESH_SUPPORT
MED_ELSTRUCT = _medstructelement.MED_ELSTRUCT
MED_FAMILY = _medstructelement.MED_FAMILY
MED_EQUIVALENCE = _medstructelement.MED_EQUIVALENCE
MED_GROUP = _medstructelement.MED_GROUP
MED_JOINT = _medstructelement.MED_JOINT
MED_LOCALIZATION = _medstructelement.MED_LOCALIZATION
MED_PROFILE = _medstructelement.MED_PROFILE
MED_FILTER = _medstructelement.MED_FILTER
MED_INTERPOLATION = _medstructelement.MED_INTERPOLATION
MED_NUMERICAL_DATA = _medstructelement.MED_NUMERICAL_DATA
MED_LINK = _medstructelement.MED_LINK
MED_CLASS_UNDEF = _medstructelement.MED_CLASS_UNDEF
MED_CLASS_ALL = _medstructelement.MED_CLASS_ALL
MED_POINT1 = _medstructelement.MED_POINT1
MED_SEG2 = _medstructelement.MED_SEG2
MED_SEG3 = _medstructelement.MED_SEG3
MED_SEG4 = _medstructelement.MED_SEG4
MED_TRIA3 = _medstructelement.MED_TRIA3
MED_QUAD4 = _medstructelement.MED_QUAD4
MED_TRIA6 = _medstructelement.MED_TRIA6
MED_TRIA7 = _medstructelement.MED_TRIA7
MED_QUAD8 = _medstructelement.MED_QUAD8
MED_QUAD9 = _medstructelement.MED_QUAD9
MED_TETRA4 = _medstructelement.MED_TETRA4
MED_PYRA5 = _medstructelement.MED_PYRA5
MED_PENTA6 = _medstructelement.MED_PENTA6
MED_HEXA8 = _medstructelement.MED_HEXA8
MED_TETRA10 = _medstructelement.MED_TETRA10
MED_OCTA12 = _medstructelement.MED_OCTA12
MED_PYRA13 = _medstructelement.MED_PYRA13
MED_PENTA15 = _medstructelement.MED_PENTA15
MED_PENTA18 = _medstructelement.MED_PENTA18
MED_HEXA20 = _medstructelement.MED_HEXA20
MED_HEXA27 = _medstructelement.MED_HEXA27
MED_POLYGON = _medstructelement.MED_POLYGON
MED_POLYGON2 = _medstructelement.MED_POLYGON2
MED_POLYHEDRON = _medstructelement.MED_POLYHEDRON
MED_STRUCT_GEO_INTERNAL = _medstructelement.MED_STRUCT_GEO_INTERNAL
MED_STRUCT_GEO_SUP_INTERNAL = _medstructelement.MED_STRUCT_GEO_SUP_INTERNAL
MED_NONE = _medstructelement.MED_NONE
MED_NO_GEOTYPE = _medstructelement.MED_NO_GEOTYPE
MED_UNDEF_GEOTYPE = _medstructelement.MED_UNDEF_GEOTYPE
MED_UNDEF_GEOMETRY_TYPE = _medstructelement.MED_UNDEF_GEOMETRY_TYPE
MED_ALL_GEOTYPE = _medstructelement.MED_ALL_GEOTYPE
MED_GEO_ALL = _medstructelement.MED_GEO_ALL
MED_N_CELL_GEO = _medstructelement.MED_N_CELL_GEO
MED_N_CELL_FIXED_GEO = _medstructelement.MED_N_CELL_FIXED_GEO
MED_N_CELL_GEO_FIXED_CON = _medstructelement.MED_N_CELL_GEO_FIXED_CON
MED_N_FACE_GEO = _medstructelement.MED_N_FACE_GEO
MED_N_FACE_FIXED_GEO = _medstructelement.MED_N_FACE_FIXED_GEO
MED_N_FACE_GEO_FIXED_CON = _medstructelement.MED_N_FACE_GEO_FIXED_CON
MED_N_EDGE_TYPES = _medstructelement.MED_N_EDGE_TYPES
MED_N_EDGE_FIXED_GEO = _medstructelement.MED_N_EDGE_FIXED_GEO
MED_N_EDGE_GEO_FIXED_CON = _medstructelement.MED_N_EDGE_GEO_FIXED_CON
MED_N_NODE_GEO = _medstructelement.MED_N_NODE_GEO
MED_N_NODE_FIXED_GEO = _medstructelement.MED_N_NODE_FIXED_GEO
MED_N_NODE_GEO_FIXED_CON = _medstructelement.MED_N_NODE_GEO_FIXED_CON
MED_NODAL = _medstructelement.MED_NODAL
MED_DESCENDING = _medstructelement.MED_DESCENDING
MED_UNDEF_CONNECTIVITY_MODE = _medstructelement.MED_UNDEF_CONNECTIVITY_MODE
MED_NO_CMODE = _medstructelement.MED_NO_CMODE
MED_CARTESIAN = _medstructelement.MED_CARTESIAN
MED_CYLINDRICAL = _medstructelement.MED_CYLINDRICAL
MED_SPHERICAL = _medstructelement.MED_SPHERICAL
MED_UNDEF_AXIS_TYPE = _medstructelement.MED_UNDEF_AXIS_TYPE
MED_FALSE = _medstructelement.MED_FALSE
MED_TRUE = _medstructelement.MED_TRUE
MED_GAUSS_ELNO = _medstructelement.MED_GAUSS_ELNO
MED_IPOINT_ELNO = _medstructelement.MED_IPOINT_ELNO
MED_NO_NAME = _medstructelement.MED_NO_NAME
MED_NO_MESHNAME = _medstructelement.MED_NO_MESHNAME
MED_NO_MESH = _medstructelement.MED_NO_MESH
MED_NO_MESH_SUPPORT = _medstructelement.MED_NO_MESH_SUPPORT
MED_NO_LOCALIZATION = _medstructelement.MED_NO_LOCALIZATION
MED_NO_INTERPOLATION = _medstructelement.MED_NO_INTERPOLATION
MED_NO_IPOINT_INTERNAL = _medstructelement.MED_NO_IPOINT_INTERNAL
MED_NO_PROFILE = _medstructelement.MED_NO_PROFILE
MED_NO_GROUP = _medstructelement.MED_NO_GROUP
MED_ALLENTITIES_PROFILE = _medstructelement.MED_ALLENTITIES_PROFILE
MED_NO_PROFILE_INTERNAL = _medstructelement.MED_NO_PROFILE_INTERNAL
MED_SAME_PROFILE_INTERNAL = _medstructelement.MED_SAME_PROFILE_INTERNAL
MED_ALL_CONSTITUENT = _medstructelement.MED_ALL_CONSTITUENT
MED_UNDEF_SIZE = _medstructelement.MED_UNDEF_SIZE
MED_NO_PROFILE_SIZE = _medstructelement.MED_NO_PROFILE_SIZE
MED_SORT_DTIT = _medstructelement.MED_SORT_DTIT
MED_SORT_ITDT = _medstructelement.MED_SORT_ITDT
MED_SORT_UNDEF = _medstructelement.MED_SORT_UNDEF
MED_ALL_DT = _medstructelement.MED_ALL_DT
MED_ALL_IT = _medstructelement.MED_ALL_IT
MED_NO_DT = _medstructelement.MED_NO_DT
MED_NO_IT = _medstructelement.MED_NO_IT
MED_UNDEF_DT = _medstructelement.MED_UNDEF_DT
MED_ATT_NOT_FILLED = _medstructelement.MED_ATT_NOT_FILLED
MED_MAX_FILTER_SPACES = _medstructelement.MED_MAX_FILTER_SPACES
class med_filter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    nspaces = property(_medstructelement.med_filter_nspaces_get, _medstructelement.med_filter_nspaces_set)
    memspace = property(_medstructelement.med_filter_memspace_get, _medstructelement.med_filter_memspace_set)
    diskspace = property(_medstructelement.med_filter_diskspace_get, _medstructelement.med_filter_diskspace_set)
    nentity = property(_medstructelement.med_filter_nentity_get, _medstructelement.med_filter_nentity_set)
    nvaluesperentity = property(_medstructelement.med_filter_nvaluesperentity_get, _medstructelement.med_filter_nvaluesperentity_set)
    nconstituentpervalue = property(_medstructelement.med_filter_nconstituentpervalue_get, _medstructelement.med_filter_nconstituentpervalue_set)
    constituentselect = property(_medstructelement.med_filter_constituentselect_get, _medstructelement.med_filter_constituentselect_set)
    switchmode = property(_medstructelement.med_filter_switchmode_get, _medstructelement.med_filter_switchmode_set)
    filterarraysize = property(_medstructelement.med_filter_filterarraysize_get, _medstructelement.med_filter_filterarraysize_set)
    filterarray23v30 = property(_medstructelement.med_filter_filterarray23v30_get, _medstructelement.med_filter_filterarray23v30_set)
    profilearraysize = property(_medstructelement.med_filter_profilearraysize_get, _medstructelement.med_filter_profilearraysize_set)
    storagemode = property(_medstructelement.med_filter_storagemode_get, _medstructelement.med_filter_storagemode_set)
    profilename = property(_medstructelement.med_filter_profilename_get, _medstructelement.med_filter_profilename_set)

    def __init__(self):
        r"""__init__(self) -> med_filter"""
        _medstructelement.med_filter_swiginit(self, _medstructelement.new_med_filter())
    __swig_destroy__ = _medstructelement.delete_med_filter

# Register med_filter in _medstructelement:
_medstructelement.med_filter_swigregister(med_filter)
MED_NO_FILTER_SIZE = _medstructelement.MED_NO_FILTER_SIZE
MED_NO_PROFILE_F = _medstructelement.MED_NO_PROFILE_F
class med_file_version(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    majeur = property(_medstructelement.med_file_version_majeur_get, _medstructelement.med_file_version_majeur_set)
    mineur = property(_medstructelement.med_file_version_mineur_get, _medstructelement.med_file_version_mineur_set)
    release = property(_medstructelement.med_file_version_release_get, _medstructelement.med_file_version_release_set)

    def __init__(self):
        r"""__init__(self) -> med_file_version"""
        _medstructelement.med_file_version_swiginit(self, _medstructelement.new_med_file_version())
    __swig_destroy__ = _medstructelement.delete_med_file_version

# Register med_file_version in _medstructelement:
_medstructelement.med_file_version_swigregister(med_file_version)
class med_memfile(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    app_image_ptr = property(_medstructelement.med_memfile_app_image_ptr_get, _medstructelement.med_memfile_app_image_ptr_set)
    app_image_size = property(_medstructelement.med_memfile_app_image_size_get, _medstructelement.med_memfile_app_image_size_set)
    ref_count = property(_medstructelement.med_memfile_ref_count_get, _medstructelement.med_memfile_ref_count_set)
    fapl_image_ptr = property(_medstructelement.med_memfile_fapl_image_ptr_get, _medstructelement.med_memfile_fapl_image_ptr_set)
    fapl_image_size = property(_medstructelement.med_memfile_fapl_image_size_get, _medstructelement.med_memfile_fapl_image_size_set)
    fapl_ref_count = property(_medstructelement.med_memfile_fapl_ref_count_get, _medstructelement.med_memfile_fapl_ref_count_set)
    vfd_image_ptr = property(_medstructelement.med_memfile_vfd_image_ptr_get, _medstructelement.med_memfile_vfd_image_ptr_set)
    vfd_image_size = property(_medstructelement.med_memfile_vfd_image_size_get, _medstructelement.med_memfile_vfd_image_size_set)
    vfd_ref_count = property(_medstructelement.med_memfile_vfd_ref_count_get, _medstructelement.med_memfile_vfd_ref_count_set)
    flags = property(_medstructelement.med_memfile_flags_get, _medstructelement.med_memfile_flags_set)

    def __init__(self):
        r"""__init__(self) -> med_memfile"""
        _medstructelement.med_memfile_swiginit(self, _medstructelement.new_med_memfile())
    __swig_destroy__ = _medstructelement.delete_med_memfile

# Register med_memfile in _medstructelement:
_medstructelement.med_memfile_swigregister(med_memfile)

def MEDgetEntityTypeIt(entitytype):
    return _medstructelement.MEDgetEntityTypeIt(entitytype)

def MEDgetCellGeometryTypeIt(geotype):
    return _medstructelement.MEDgetCellGeometryTypeIt(geotype)

def MEDgetFaceGeometryTypeIt(geotype):
    return _medstructelement.MEDgetFaceGeometryTypeIt(geotype)

def MEDgetEdgeGeometryTypeIt(geotype):
    return _medstructelement.MEDgetEdgeGeometryTypeIt(geotype)

def MEDgetNodeGeometryTypeIt(geotype):
    return _medstructelement.MEDgetNodeGeometryTypeIt(geotype)

def MEDgetEntityGeometryTypeIt(entitytype, geotype):
    return _medstructelement.MEDgetEntityGeometryTypeIt(entitytype, geotype)

def MEDgetGeometryTypeName(geotype):
    return _medstructelement.MEDgetGeometryTypeName(geotype)

def MEDgetEntityTypeName(entitytype):
    return _medstructelement.MEDgetEntityTypeName(entitytype)
MED_PARTICLE_NAME = _medstructelement.MED_PARTICLE_NAME
MED_BALL_NAME = _medstructelement.MED_BALL_NAME
MED_BEAM_NAME = _medstructelement.MED_BEAM_NAME
MED_PARTICLE_LABEL = _medstructelement.MED_PARTICLE_LABEL
MED_BALL_DIAMETER = _medstructelement.MED_BALL_DIAMETER
MED_BEAM_THICKNESS = _medstructelement.MED_BEAM_THICKNESS
import med.medenum
class MEDBOOL(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _medstructelement.MEDBOOL_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _medstructelement.MEDBOOL___nonzero__(self)

    def __bool__(self):
        return _medstructelement.MEDBOOL___bool__(self)

    def __len__(self):
        return _medstructelement.MEDBOOL___len__(self)

    def __getslice__(self, i, j):
        return _medstructelement.MEDBOOL___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _medstructelement.MEDBOOL___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _medstructelement.MEDBOOL___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _medstructelement.MEDBOOL___delitem__(self, *args)

    def __getitem__(self, *args):
        return _medstructelement.MEDBOOL___getitem__(self, *args)

    def __setitem__(self, *args):
        return _medstructelement.MEDBOOL___setitem__(self, *args)

    def pop(self):
        return _medstructelement.MEDBOOL_pop(self)

    def append(self, x):
        return _medstructelement.MEDBOOL_append(self, x)

    def empty(self):
        return _medstructelement.MEDBOOL_empty(self)

    def size(self):
        return _medstructelement.MEDBOOL_size(self)

    def swap(self, v):
        return _medstructelement.MEDBOOL_swap(self, v)

    def begin(self):
        return _medstructelement.MEDBOOL_begin(self)

    def end(self):
        return _medstructelement.MEDBOOL_end(self)

    def rbegin(self):
        return _medstructelement.MEDBOOL_rbegin(self)

    def rend(self):
        return _medstructelement.MEDBOOL_rend(self)

    def clear(self):
        return _medstructelement.MEDBOOL_clear(self)

    def get_allocator(self):
        return _medstructelement.MEDBOOL_get_allocator(self)

    def pop_back(self):
        return _medstructelement.MEDBOOL_pop_back(self)

    def erase(self, *args):
        return _medstructelement.MEDBOOL_erase(self, *args)

    def __init__(self, *args):
        _medstructelement.MEDBOOL_swiginit(self, _medstructelement.new_MEDBOOL(*args))

    def push_back(self, x):
        return _medstructelement.MEDBOOL_push_back(self, x)

    def front(self):
        return _medstructelement.MEDBOOL_front(self)

    def back(self):
        return _medstructelement.MEDBOOL_back(self)

    def assign(self, n, x):
        return _medstructelement.MEDBOOL_assign(self, n, x)

    def resize(self, *args):
        return _medstructelement.MEDBOOL_resize(self, *args)

    def insert(self, *args):
        return _medstructelement.MEDBOOL_insert(self, *args)

    def reserve(self, n):
        return _medstructelement.MEDBOOL_reserve(self, n)

    def capacity(self):
        return _medstructelement.MEDBOOL_capacity(self)
    __swig_destroy__ = _medstructelement.delete_MEDBOOL

# Register MEDBOOL in _medstructelement:
_medstructelement.MEDBOOL_swigregister(MEDBOOL)
cvar = _medstructelement.cvar
MED_GET_ENTITY_TYPENAME = cvar.MED_GET_ENTITY_TYPENAME
MED_GET_CELL_GEOMETRY_TYPENAME = cvar.MED_GET_CELL_GEOMETRY_TYPENAME
MED_GET_FACE_GEOMETRY_TYPENAME = cvar.MED_GET_FACE_GEOMETRY_TYPENAME
MED_GET_CELL_GEOMETRY_TYPE_FROM_ENTITY_TYPE = cvar.MED_GET_CELL_GEOMETRY_TYPE_FROM_ENTITY_TYPE
MED_GET_N_FIXED_GEO_FOR_ENTITY_TYPE_IT = cvar.MED_GET_N_FIXED_GEO_FOR_ENTITY_TYPE_IT


MEDBOOL.__str__= lambda self: str([x for x in self])
MEDBOOL.__repr__= lambda self: "MEDBOOL("+str([x for x in self])+")"

class MEDFLOAT(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _medstructelement.MEDFLOAT_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _medstructelement.MEDFLOAT___nonzero__(self)

    def __bool__(self):
        return _medstructelement.MEDFLOAT___bool__(self)

    def __len__(self):
        return _medstructelement.MEDFLOAT___len__(self)

    def __getslice__(self, i, j):
        return _medstructelement.MEDFLOAT___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _medstructelement.MEDFLOAT___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _medstructelement.MEDFLOAT___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _medstructelement.MEDFLOAT___delitem__(self, *args)

    def __getitem__(self, *args):
        return _medstructelement.MEDFLOAT___getitem__(self, *args)

    def __setitem__(self, *args):
        return _medstructelement.MEDFLOAT___setitem__(self, *args)

    def pop(self):
        return _medstructelement.MEDFLOAT_pop(self)

    def append(self, x):
        return _medstructelement.MEDFLOAT_append(self, x)

    def empty(self):
        return _medstructelement.MEDFLOAT_empty(self)

    def size(self):
        return _medstructelement.MEDFLOAT_size(self)

    def swap(self, v):
        return _medstructelement.MEDFLOAT_swap(self, v)

    def begin(self):
        return _medstructelement.MEDFLOAT_begin(self)

    def end(self):
        return _medstructelement.MEDFLOAT_end(self)

    def rbegin(self):
        return _medstructelement.MEDFLOAT_rbegin(self)

    def rend(self):
        return _medstructelement.MEDFLOAT_rend(self)

    def clear(self):
        return _medstructelement.MEDFLOAT_clear(self)

    def get_allocator(self):
        return _medstructelement.MEDFLOAT_get_allocator(self)

    def pop_back(self):
        return _medstructelement.MEDFLOAT_pop_back(self)

    def erase(self, *args):
        return _medstructelement.MEDFLOAT_erase(self, *args)

    def __init__(self, *args):
        _medstructelement.MEDFLOAT_swiginit(self, _medstructelement.new_MEDFLOAT(*args))

    def push_back(self, x):
        return _medstructelement.MEDFLOAT_push_back(self, x)

    def front(self):
        return _medstructelement.MEDFLOAT_front(self)

    def back(self):
        return _medstructelement.MEDFLOAT_back(self)

    def assign(self, n, x):
        return _medstructelement.MEDFLOAT_assign(self, n, x)

    def resize(self, *args):
        return _medstructelement.MEDFLOAT_resize(self, *args)

    def insert(self, *args):
        return _medstructelement.MEDFLOAT_insert(self, *args)

    def reserve(self, n):
        return _medstructelement.MEDFLOAT_reserve(self, n)

    def capacity(self):
        return _medstructelement.MEDFLOAT_capacity(self)

    def __iadd__(self, value):
        return _medstructelement.MEDFLOAT___iadd__(self, value)

    def __add__(self, value):
        return _medstructelement.MEDFLOAT___add__(self, value)

    def __isub__(self, value):
        return _medstructelement.MEDFLOAT___isub__(self, value)

    def __sub__(self, value):
        return _medstructelement.MEDFLOAT___sub__(self, value)

    def __imul__(self, value):
        return _medstructelement.MEDFLOAT___imul__(self, value)

    def __mul__(self, value):
        return _medstructelement.MEDFLOAT___mul__(self, value)

    def __itruediv__(self, *args):
        return _medstructelement.MEDFLOAT___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _medstructelement.MEDFLOAT___truediv__(self, *args)
    __div__ = __truediv__



    def __le__(self, value):
        return _medstructelement.MEDFLOAT___le__(self, value)

    def __lt__(self, value):
        return _medstructelement.MEDFLOAT___lt__(self, value)

    def __gt__(self, value):
        return _medstructelement.MEDFLOAT___gt__(self, value)

    def __ge__(self, value):
        return _medstructelement.MEDFLOAT___ge__(self, value)

    def __eq__(self, value):
        return _medstructelement.MEDFLOAT___eq__(self, value)

    def __ne__(self, value):
        return _medstructelement.MEDFLOAT___ne__(self, value)
    __swig_destroy__ = _medstructelement.delete_MEDFLOAT

# Register MEDFLOAT in _medstructelement:
_medstructelement.MEDFLOAT_swigregister(MEDFLOAT)

MEDFLOAT.__str__= lambda self: str([x for x in self])
MEDFLOAT.__repr__= lambda self:"MEDFLOAT" +"("+str([x for x in self])+")"


MEDFLOAT64=MEDFLOAT
MEDDOUBLE=MEDFLOAT

class MEDFLOAT32(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _medstructelement.MEDFLOAT32_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _medstructelement.MEDFLOAT32___nonzero__(self)

    def __bool__(self):
        return _medstructelement.MEDFLOAT32___bool__(self)

    def __len__(self):
        return _medstructelement.MEDFLOAT32___len__(self)

    def __getslice__(self, i, j):
        return _medstructelement.MEDFLOAT32___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _medstructelement.MEDFLOAT32___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _medstructelement.MEDFLOAT32___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _medstructelement.MEDFLOAT32___delitem__(self, *args)

    def __getitem__(self, *args):
        return _medstructelement.MEDFLOAT32___getitem__(self, *args)

    def __setitem__(self, *args):
        return _medstructelement.MEDFLOAT32___setitem__(self, *args)

    def pop(self):
        return _medstructelement.MEDFLOAT32_pop(self)

    def append(self, x):
        return _medstructelement.MEDFLOAT32_append(self, x)

    def empty(self):
        return _medstructelement.MEDFLOAT32_empty(self)

    def size(self):
        return _medstructelement.MEDFLOAT32_size(self)

    def swap(self, v):
        return _medstructelement.MEDFLOAT32_swap(self, v)

    def begin(self):
        return _medstructelement.MEDFLOAT32_begin(self)

    def end(self):
        return _medstructelement.MEDFLOAT32_end(self)

    def rbegin(self):
        return _medstructelement.MEDFLOAT32_rbegin(self)

    def rend(self):
        return _medstructelement.MEDFLOAT32_rend(self)

    def clear(self):
        return _medstructelement.MEDFLOAT32_clear(self)

    def get_allocator(self):
        return _medstructelement.MEDFLOAT32_get_allocator(self)

    def pop_back(self):
        return _medstructelement.MEDFLOAT32_pop_back(self)

    def erase(self, *args):
        return _medstructelement.MEDFLOAT32_erase(self, *args)

    def __init__(self, *args):
        _medstructelement.MEDFLOAT32_swiginit(self, _medstructelement.new_MEDFLOAT32(*args))

    def push_back(self, x):
        return _medstructelement.MEDFLOAT32_push_back(self, x)

    def front(self):
        return _medstructelement.MEDFLOAT32_front(self)

    def back(self):
        return _medstructelement.MEDFLOAT32_back(self)

    def assign(self, n, x):
        return _medstructelement.MEDFLOAT32_assign(self, n, x)

    def resize(self, *args):
        return _medstructelement.MEDFLOAT32_resize(self, *args)

    def insert(self, *args):
        return _medstructelement.MEDFLOAT32_insert(self, *args)

    def reserve(self, n):
        return _medstructelement.MEDFLOAT32_reserve(self, n)

    def capacity(self):
        return _medstructelement.MEDFLOAT32_capacity(self)

    def __iadd__(self, value):
        return _medstructelement.MEDFLOAT32___iadd__(self, value)

    def __add__(self, value):
        return _medstructelement.MEDFLOAT32___add__(self, value)

    def __isub__(self, value):
        return _medstructelement.MEDFLOAT32___isub__(self, value)

    def __sub__(self, value):
        return _medstructelement.MEDFLOAT32___sub__(self, value)

    def __imul__(self, value):
        return _medstructelement.MEDFLOAT32___imul__(self, value)

    def __mul__(self, value):
        return _medstructelement.MEDFLOAT32___mul__(self, value)

    def __itruediv__(self, *args):
        return _medstructelement.MEDFLOAT32___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _medstructelement.MEDFLOAT32___truediv__(self, *args)
    __div__ = __truediv__



    def __le__(self, value):
        return _medstructelement.MEDFLOAT32___le__(self, value)

    def __lt__(self, value):
        return _medstructelement.MEDFLOAT32___lt__(self, value)

    def __gt__(self, value):
        return _medstructelement.MEDFLOAT32___gt__(self, value)

    def __ge__(self, value):
        return _medstructelement.MEDFLOAT32___ge__(self, value)

    def __eq__(self, value):
        return _medstructelement.MEDFLOAT32___eq__(self, value)

    def __ne__(self, value):
        return _medstructelement.MEDFLOAT32___ne__(self, value)
    __swig_destroy__ = _medstructelement.delete_MEDFLOAT32

# Register MEDFLOAT32 in _medstructelement:
_medstructelement.MEDFLOAT32_swigregister(MEDFLOAT32)

MEDFLOAT32.__str__= lambda self: str([x for x in self])
MEDFLOAT32.__repr__= lambda self:"MEDFLOAT32" +"("+str([x for x in self])+")"

class MEDINT(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _medstructelement.MEDINT_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _medstructelement.MEDINT___nonzero__(self)

    def __bool__(self):
        return _medstructelement.MEDINT___bool__(self)

    def __len__(self):
        return _medstructelement.MEDINT___len__(self)

    def __getslice__(self, i, j):
        return _medstructelement.MEDINT___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _medstructelement.MEDINT___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _medstructelement.MEDINT___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _medstructelement.MEDINT___delitem__(self, *args)

    def __getitem__(self, *args):
        return _medstructelement.MEDINT___getitem__(self, *args)

    def __setitem__(self, *args):
        return _medstructelement.MEDINT___setitem__(self, *args)

    def pop(self):
        return _medstructelement.MEDINT_pop(self)

    def append(self, x):
        return _medstructelement.MEDINT_append(self, x)

    def empty(self):
        return _medstructelement.MEDINT_empty(self)

    def size(self):
        return _medstructelement.MEDINT_size(self)

    def swap(self, v):
        return _medstructelement.MEDINT_swap(self, v)

    def begin(self):
        return _medstructelement.MEDINT_begin(self)

    def end(self):
        return _medstructelement.MEDINT_end(self)

    def rbegin(self):
        return _medstructelement.MEDINT_rbegin(self)

    def rend(self):
        return _medstructelement.MEDINT_rend(self)

    def clear(self):
        return _medstructelement.MEDINT_clear(self)

    def get_allocator(self):
        return _medstructelement.MEDINT_get_allocator(self)

    def pop_back(self):
        return _medstructelement.MEDINT_pop_back(self)

    def erase(self, *args):
        return _medstructelement.MEDINT_erase(self, *args)

    def __init__(self, *args):
        _medstructelement.MEDINT_swiginit(self, _medstructelement.new_MEDINT(*args))

    def push_back(self, x):
        return _medstructelement.MEDINT_push_back(self, x)

    def front(self):
        return _medstructelement.MEDINT_front(self)

    def back(self):
        return _medstructelement.MEDINT_back(self)

    def assign(self, n, x):
        return _medstructelement.MEDINT_assign(self, n, x)

    def resize(self, *args):
        return _medstructelement.MEDINT_resize(self, *args)

    def insert(self, *args):
        return _medstructelement.MEDINT_insert(self, *args)

    def reserve(self, n):
        return _medstructelement.MEDINT_reserve(self, n)

    def capacity(self):
        return _medstructelement.MEDINT_capacity(self)

    def __iadd__(self, value):
        return _medstructelement.MEDINT___iadd__(self, value)

    def __add__(self, value):
        return _medstructelement.MEDINT___add__(self, value)

    def __isub__(self, value):
        return _medstructelement.MEDINT___isub__(self, value)

    def __sub__(self, value):
        return _medstructelement.MEDINT___sub__(self, value)

    def __imul__(self, value):
        return _medstructelement.MEDINT___imul__(self, value)

    def __mul__(self, value):
        return _medstructelement.MEDINT___mul__(self, value)

    def __itruediv__(self, *args):
        return _medstructelement.MEDINT___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _medstructelement.MEDINT___truediv__(self, *args)
    __div__ = __truediv__



    def __le__(self, value):
        return _medstructelement.MEDINT___le__(self, value)

    def __lt__(self, value):
        return _medstructelement.MEDINT___lt__(self, value)

    def __gt__(self, value):
        return _medstructelement.MEDINT___gt__(self, value)

    def __ge__(self, value):
        return _medstructelement.MEDINT___ge__(self, value)

    def __eq__(self, value):
        return _medstructelement.MEDINT___eq__(self, value)

    def __ne__(self, value):
        return _medstructelement.MEDINT___ne__(self, value)
    __swig_destroy__ = _medstructelement.delete_MEDINT

# Register MEDINT in _medstructelement:
_medstructelement.MEDINT_swigregister(MEDINT)

MEDINT.__str__= lambda self: str([x for x in self])
MEDINT.__repr__= lambda self:"MEDINT" +"("+str([x for x in self])+")"


MEDINT32=MEDINT


MEDINT64=None

class MEDCHAR(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _medstructelement.MEDCHAR_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _medstructelement.MEDCHAR___nonzero__(self)

    def __bool__(self):
        return _medstructelement.MEDCHAR___bool__(self)

    def __len__(self):
        return _medstructelement.MEDCHAR___len__(self)

    def __getslice__(self, i, j):
        return _medstructelement.MEDCHAR___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _medstructelement.MEDCHAR___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _medstructelement.MEDCHAR___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _medstructelement.MEDCHAR___delitem__(self, *args)

    def __getitem__(self, *args):
        return _medstructelement.MEDCHAR___getitem__(self, *args)

    def __setitem__(self, *args):
        return _medstructelement.MEDCHAR___setitem__(self, *args)

    def pop(self):
        return _medstructelement.MEDCHAR_pop(self)

    def append(self, x):
        return _medstructelement.MEDCHAR_append(self, x)

    def empty(self):
        return _medstructelement.MEDCHAR_empty(self)

    def size(self):
        return _medstructelement.MEDCHAR_size(self)

    def swap(self, v):
        return _medstructelement.MEDCHAR_swap(self, v)

    def begin(self):
        return _medstructelement.MEDCHAR_begin(self)

    def end(self):
        return _medstructelement.MEDCHAR_end(self)

    def rbegin(self):
        return _medstructelement.MEDCHAR_rbegin(self)

    def rend(self):
        return _medstructelement.MEDCHAR_rend(self)

    def clear(self):
        return _medstructelement.MEDCHAR_clear(self)

    def get_allocator(self):
        return _medstructelement.MEDCHAR_get_allocator(self)

    def pop_back(self):
        return _medstructelement.MEDCHAR_pop_back(self)

    def erase(self, *args):
        return _medstructelement.MEDCHAR_erase(self, *args)

    def __init__(self, *args):
        _medstructelement.MEDCHAR_swiginit(self, _medstructelement.new_MEDCHAR(*args))

    def push_back(self, x):
        return _medstructelement.MEDCHAR_push_back(self, x)

    def front(self):
        return _medstructelement.MEDCHAR_front(self)

    def back(self):
        return _medstructelement.MEDCHAR_back(self)

    def assign(self, n, x):
        return _medstructelement.MEDCHAR_assign(self, n, x)

    def resize(self, *args):
        return _medstructelement.MEDCHAR_resize(self, *args)

    def insert(self, *args):
        return _medstructelement.MEDCHAR_insert(self, *args)

    def reserve(self, n):
        return _medstructelement.MEDCHAR_reserve(self, n)

    def capacity(self):
        return _medstructelement.MEDCHAR_capacity(self)

    def __iadd__(self, value):
        return _medstructelement.MEDCHAR___iadd__(self, value)

    def __add__(self, value):
        return _medstructelement.MEDCHAR___add__(self, value)

    def __isub__(self, value):
        return _medstructelement.MEDCHAR___isub__(self, value)

    def __sub__(self, value):
        return _medstructelement.MEDCHAR___sub__(self, value)

    def __imul__(self, value):
        return _medstructelement.MEDCHAR___imul__(self, value)

    def __mul__(self, value):
        return _medstructelement.MEDCHAR___mul__(self, value)

    def __itruediv__(self, *args):
        return _medstructelement.MEDCHAR___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _medstructelement.MEDCHAR___truediv__(self, *args)
    __div__ = __truediv__



    def __le__(self, value):
        return _medstructelement.MEDCHAR___le__(self, value)

    def __lt__(self, value):
        return _medstructelement.MEDCHAR___lt__(self, value)

    def __gt__(self, value):
        return _medstructelement.MEDCHAR___gt__(self, value)

    def __ge__(self, value):
        return _medstructelement.MEDCHAR___ge__(self, value)

    def __eq__(self, value):
        return _medstructelement.MEDCHAR___eq__(self, value)

    def __ne__(self, value):
        return _medstructelement.MEDCHAR___ne__(self, value)
    __swig_destroy__ = _medstructelement.delete_MEDCHAR

# Register MEDCHAR in _medstructelement:
_medstructelement.MEDCHAR_swigregister(MEDCHAR)

MEDCHAR.__str__= lambda self: str([x for x in self])
MEDCHAR.__repr__= lambda self:"MEDCHAR" +"("+str([x for x in self])+")"


MEDCHAR.__str__= lambda self: str([x for x in self])
MEDCHAR.__repr__= lambda self:"MEDCHAR" +"("+str([x for x in self])+")"


MEDCHAR.__str__= lambda self: str([x for x in self])
MEDCHAR.__repr__= lambda self:"MEDCHAR" +"("+str([x for x in self])+")"


def MEDstructElementCr(fid, modelname, modeldim, supportmeshname, sentitytype, sgeotype):
    r"""
    MEDstructElementCr(fid, modelname, modeldim, supportmeshname, sentitytype, sgeotype) -> med_geometry_type

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    modeldim: med_int const
    supportmeshname: char const *const
    sentitytype: enum med_entity_type const
    sgeotype: med_geometry_type const

    """
    return _medstructelement.MEDstructElementCr(fid, modelname, modeldim, supportmeshname, sentitytype, sgeotype)

def MEDnStructElement(fid):
    r"""
    MEDnStructElement(fid) -> med_int

    Parameters
    ----------
    fid: med_idt const

    """
    return _medstructelement.MEDnStructElement(fid)

def MEDstructElementConstAttWithProfileWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, profilename, value):
    r"""
    MEDstructElementConstAttWithProfileWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, profilename, value) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    constattname: char const *const
    constatttype: enum med_attribute_type const
    ncomponent: med_int const
    sentitytype: enum med_entity_type const
    profilename: char const *const
    value: void const *const

    """
    return _medstructelement.MEDstructElementConstAttWithProfileWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, profilename, value)

def MEDstructElementConstAttWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, value):
    r"""
    MEDstructElementConstAttWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, value) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    constattname: char const *const
    constatttype: enum med_attribute_type const
    ncomponent: med_int const
    sentitytype: enum med_entity_type const
    value: void const *const

    """
    return _medstructelement.MEDstructElementConstAttWr(fid, modelname, constattname, constatttype, ncomponent, sentitytype, value)

def MEDstructElementInfoByName(fid, modelname, mgeotype, supportmeshname, sgeotype, nconstantatribute):
    r"""
    MEDstructElementInfoByName(fid, modelname, mgeotype, supportmeshname, sgeotype, nconstantatribute) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    mgeotype: med_geometry_type *const
    supportmeshname: char *const
    sgeotype: med_geometry_type *const
    nconstantatribute: med_int *const

    """
    return _medstructelement.MEDstructElementInfoByName(fid, modelname, mgeotype, supportmeshname, sgeotype, nconstantatribute)

def MEDstructElementInfo(fid, mit, modelname, mgeotype, supportmeshname, sgeotype):
    r"""
    MEDstructElementInfo(fid, mit, modelname, mgeotype, supportmeshname, sgeotype) -> med_err

    Parameters
    ----------
    fid: med_idt const
    mit: int const
    modelname: char *const
    mgeotype: med_geometry_type *const
    supportmeshname: char *const
    sgeotype: med_geometry_type *const

    """
    return _medstructelement.MEDstructElementInfo(fid, mit, modelname, mgeotype, supportmeshname, sgeotype)

def MEDstructElementConstAttInfoByName(fid, modelname, constattname, profilename):
    r"""
    MEDstructElementConstAttInfoByName(fid, modelname, constattname, profilename) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    constattname: char const *const
    profilename: char *const

    """
    return _medstructelement.MEDstructElementConstAttInfoByName(fid, modelname, constattname, profilename)

def MEDstructElementConstAttInfo(fid, modelname, attit, constattname, profilename):
    r"""
    MEDstructElementConstAttInfo(fid, modelname, attit, constattname, profilename) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    attit: int const
    constattname: char *const
    profilename: char *const

    """
    return _medstructelement.MEDstructElementConstAttInfo(fid, modelname, attit, constattname, profilename)

def MEDstructElementConstAttRd(fid, modelname, constattname, value):
    r"""
    MEDstructElementConstAttRd(fid, modelname, constattname, value) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    constattname: char const *const
    value: void *const

    """
    return _medstructelement.MEDstructElementConstAttRd(fid, modelname, constattname, value)

def MEDstructElementAttSizeof(atttype):
    r"""
    MEDstructElementAttSizeof(atttype) -> int

    Parameters
    ----------
    atttype: enum med_attribute_type const

    """
    return _medstructelement.MEDstructElementAttSizeof(atttype)

def MEDstructElementVarAttCr(fid, modelname, varattname, varatttype, ncomponent):
    r"""
    MEDstructElementVarAttCr(fid, modelname, varattname, varatttype, ncomponent) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    varattname: char const *const
    varatttype: enum med_attribute_type const
    ncomponent: med_int const

    """
    return _medstructelement.MEDstructElementVarAttCr(fid, modelname, varattname, varatttype, ncomponent)

def MEDstructElementVarAttInfoByName(fid, modelname, varattname):
    r"""
    MEDstructElementVarAttInfoByName(fid, modelname, varattname) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    varattname: char const *const

    """
    return _medstructelement.MEDstructElementVarAttInfoByName(fid, modelname, varattname)

def MEDstructElementVarAttInfo(fid, modelname, attit, varattname):
    r"""
    MEDstructElementVarAttInfo(fid, modelname, attit, varattname) -> med_err

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const
    attit: int const
    varattname: char *const

    """
    return _medstructelement.MEDstructElementVarAttInfo(fid, modelname, attit, varattname)

def MEDmeshStructElementVarAttWr(fid, meshname, numdt, numit, mgeotype, varattname, nentity, value):
    r"""
    MEDmeshStructElementVarAttWr(fid, meshname, numdt, numit, mgeotype, varattname, nentity, value) -> med_err

    Parameters
    ----------
    fid: med_idt const
    meshname: char const *const
    numdt: med_int const
    numit: med_int const
    mgeotype: med_geometry_type const
    varattname: char const *const
    nentity: med_int const
    value: void const *const

    """
    return _medstructelement.MEDmeshStructElementVarAttWr(fid, meshname, numdt, numit, mgeotype, varattname, nentity, value)

def MEDmeshStructElementVarAttRd(fid, meshname, numdt, numit, mgeotype, varattname, value):
    r"""
    MEDmeshStructElementVarAttRd(fid, meshname, numdt, numit, mgeotype, varattname, value) -> med_err

    Parameters
    ----------
    fid: med_idt const
    meshname: char const *const
    numdt: med_int const
    numit: med_int const
    mgeotype: med_geometry_type const
    varattname: char const *const
    value: void *const

    """
    return _medstructelement.MEDmeshStructElementVarAttRd(fid, meshname, numdt, numit, mgeotype, varattname, value)

def MEDstructElementName(fid, mgeotype, modelname):
    r"""
    MEDstructElementName(fid, mgeotype, modelname) -> med_err

    Parameters
    ----------
    fid: med_idt const
    mgeotype: med_geometry_type const
    modelname: char *const

    """
    return _medstructelement.MEDstructElementName(fid, mgeotype, modelname)

def MEDstructElementGeotype(fid, modelname):
    r"""
    MEDstructElementGeotype(fid, modelname) -> med_geometry_type

    Parameters
    ----------
    fid: med_idt const
    modelname: char const *const

    """
    return _medstructelement.MEDstructElementGeotype(fid, modelname)

