
// pybind 11 related includes
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;


// Standard Handle
#include <Standard_Handle.hxx>

// user-defined inclusion per module before includes

// includes to resolve forward declarations
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <XmlMDF_ADriverTable.hxx>
#include <Message_Messenger.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <TDF_Attribute.hxx>
#include <XmlObjMgt_Persistent.hxx>

// module includes
#include <XmlMDataStd.hxx>
#include <XmlMDataStd_AsciiStringDriver.hxx>
#include <XmlMDataStd_BooleanArrayDriver.hxx>
#include <XmlMDataStd_BooleanListDriver.hxx>
#include <XmlMDataStd_ByteArrayDriver.hxx>
#include <XmlMDataStd_ExpressionDriver.hxx>
#include <XmlMDataStd_ExtStringArrayDriver.hxx>
#include <XmlMDataStd_ExtStringListDriver.hxx>
#include <XmlMDataStd_GenericEmptyDriver.hxx>
#include <XmlMDataStd_GenericExtStringDriver.hxx>
#include <XmlMDataStd_IntegerArrayDriver.hxx>
#include <XmlMDataStd_IntegerDriver.hxx>
#include <XmlMDataStd_IntegerListDriver.hxx>
#include <XmlMDataStd_IntPackedMapDriver.hxx>
#include <XmlMDataStd_NamedDataDriver.hxx>
#include <XmlMDataStd_RealArrayDriver.hxx>
#include <XmlMDataStd_RealDriver.hxx>
#include <XmlMDataStd_RealListDriver.hxx>
#include <XmlMDataStd_ReferenceArrayDriver.hxx>
#include <XmlMDataStd_ReferenceListDriver.hxx>
#include <XmlMDataStd_TreeNodeDriver.hxx>
#include <XmlMDataStd_UAttributeDriver.hxx>
#include <XmlMDataStd_VariableDriver.hxx>

// template related includes


// user-defined pre
#include "OCP_specific.inc"

// user-defined inclusion per module

// Module definiiton
void register_XmlMDataStd_enums(py::module &main_module) {


py::module m = main_module.def_submodule("XmlMDataStd", R"#()#");

// add namespaces as submodules

// user-defined inclusion per module in the body

// enums

//Python trampoline classes

// pre-register typdefs+classes (topologically sorted)
    py::class_<XmlMDataStd , shared_ptr<XmlMDataStd>  >(m,"XmlMDataStd",R"#(Storage and Retrieval drivers for modelling attributes. Transient attributes are defined in package TDataStd.)#");
    py::class_<XmlMDataStd_AsciiStringDriver ,opencascade::handle<XmlMDataStd_AsciiStringDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_AsciiStringDriver",R"#(TDataStd_AsciiString attribute Driver.TDataStd_AsciiString attribute Driver.TDataStd_AsciiString attribute Driver.)#");
    py::class_<XmlMDataStd_BooleanArrayDriver ,opencascade::handle<XmlMDataStd_BooleanArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_BooleanArrayDriver",R"#()#");
    py::class_<XmlMDataStd_BooleanListDriver ,opencascade::handle<XmlMDataStd_BooleanListDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_BooleanListDriver",R"#()#");
    py::class_<XmlMDataStd_ByteArrayDriver ,opencascade::handle<XmlMDataStd_ByteArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ByteArrayDriver",R"#()#");
    py::class_<XmlMDataStd_ExpressionDriver ,opencascade::handle<XmlMDataStd_ExpressionDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ExpressionDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_ExtStringArrayDriver ,opencascade::handle<XmlMDataStd_ExtStringArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ExtStringArrayDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_ExtStringListDriver ,opencascade::handle<XmlMDataStd_ExtStringListDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ExtStringListDriver",R"#()#");
    py::class_<XmlMDataStd_GenericEmptyDriver ,opencascade::handle<XmlMDataStd_GenericEmptyDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_GenericEmptyDriver",R"#()#");
    py::class_<XmlMDataStd_GenericExtStringDriver ,opencascade::handle<XmlMDataStd_GenericExtStringDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_GenericExtStringDriver",R"#(Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_IntPackedMapDriver ,opencascade::handle<XmlMDataStd_IntPackedMapDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_IntPackedMapDriver",R"#(TDataStd_IntPackedMap attribute Driver.TDataStd_IntPackedMap attribute Driver.TDataStd_IntPackedMap attribute Driver.)#");
    py::class_<XmlMDataStd_IntegerArrayDriver ,opencascade::handle<XmlMDataStd_IntegerArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_IntegerArrayDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_IntegerDriver ,opencascade::handle<XmlMDataStd_IntegerDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_IntegerDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_IntegerListDriver ,opencascade::handle<XmlMDataStd_IntegerListDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_IntegerListDriver",R"#()#");
    py::class_<XmlMDataStd_NamedDataDriver ,opencascade::handle<XmlMDataStd_NamedDataDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_NamedDataDriver",R"#()#");
    py::class_<XmlMDataStd_RealArrayDriver ,opencascade::handle<XmlMDataStd_RealArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_RealArrayDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_RealDriver ,opencascade::handle<XmlMDataStd_RealDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_RealDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_RealListDriver ,opencascade::handle<XmlMDataStd_RealListDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_RealListDriver",R"#()#");
    py::class_<XmlMDataStd_ReferenceArrayDriver ,opencascade::handle<XmlMDataStd_ReferenceArrayDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ReferenceArrayDriver",R"#()#");
    py::class_<XmlMDataStd_ReferenceListDriver ,opencascade::handle<XmlMDataStd_ReferenceListDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_ReferenceListDriver",R"#()#");
    py::class_<XmlMDataStd_TreeNodeDriver ,opencascade::handle<XmlMDataStd_TreeNodeDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_TreeNodeDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_UAttributeDriver ,opencascade::handle<XmlMDataStd_UAttributeDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_UAttributeDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");
    py::class_<XmlMDataStd_VariableDriver ,opencascade::handle<XmlMDataStd_VariableDriver>  , XmlMDF_ADriver >(m,"XmlMDataStd_VariableDriver",R"#(Attribute Driver.Attribute Driver.Attribute Driver.)#");

};

// user-defined post-inclusion per module

// user-defined post
