//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <qtxmlpatterns_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <qtxmlpatterns_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqtxmlpatterns {

class x_QAbstractMessageHandler : public QAbstractMessageHandler, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractMessageHandler*>(this))) {
            const QMetaObject* xret = ((const x_QAbstractMessageHandler*)this)->QAbstractMessageHandler::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAbstractMessageHandler*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractMessageHandler*>(this))) {
            void* xret = this->QAbstractMessageHandler::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QAbstractMessageHandler::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QAbstractMessageHandler::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QAbstractMessageHandler::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QAbstractMessageHandler::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractMessageHandler*>(this))) {
            int xret = this->QAbstractMessageHandler::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QAbstractMessageHandler* QAbstractMessageHandler(QObject*)
        x_QAbstractMessageHandler* xret = new x_QAbstractMessageHandler((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractMessageHandler(QObject* x1) : QAbstractMessageHandler(x1) {}
    void x_9(Smoke::Stack x) {
        // void message(QtMsgType, const QString&, const QUrl&, const QSourceLocation&)
        this->QAbstractMessageHandler::message((QtMsgType)x[1].s_enum,*(const QString*)x[2].s_class,*(const QUrl*)x[3].s_class,*(const QSourceLocation*)x[4].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual void handleMessage(QtMsgType, const QString&, const QUrl&, const QSourceLocation&) = 0
        this->handleMessage((QtMsgType)x[1].s_enum,*(const QString*)x[2].s_class,*(const QUrl*)x[3].s_class,*(const QSourceLocation*)x[4].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAbstractMessageHandler::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAbstractMessageHandler::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // QAbstractMessageHandler* QAbstractMessageHandler()
        x_QAbstractMessageHandler* xret = new x_QAbstractMessageHandler((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // void message(QtMsgType, const QString&)
        this->QAbstractMessageHandler::message((QtMsgType)x[1].s_enum,*(const QString*)x[2].s_class,(const QUrl&)QUrl(),(const QSourceLocation&)QSourceLocation());
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void message(QtMsgType, const QString&, const QUrl&)
        this->QAbstractMessageHandler::message((QtMsgType)x[1].s_enum,*(const QString*)x[2].s_class,*(const QUrl*)x[3].s_class,(const QSourceLocation&)QSourceLocation());
        (void)x; // noop (for compiler warning)
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAbstractMessageHandler::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAbstractMessageHandler::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAbstractMessageHandler::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(7, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractMessageHandler::qt_metacall(x1, x2, x3);
    }
    virtual void handleMessage(QtMsgType x1, const QString& x2, const QUrl& x3, const QSourceLocation& x4) {
        Smoke::StackItem x[5];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        this->_binding->callMethod(10, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(119, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(120, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(121, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(122, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(123, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(124, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(125, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QAbstractMessageHandler() { this->_binding->deleted(1, (void*)this); }
};
void xcall_QAbstractMessageHandler(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractMessageHandler *xself = (x_QAbstractMessageHandler*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QAbstractMessageHandler::x_3(args);	break;
        case 4: x_QAbstractMessageHandler::x_4(args);	break;
        case 5: x_QAbstractMessageHandler::x_5(args);	break;
        case 6: x_QAbstractMessageHandler::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAbstractMessageHandler::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QAbstractMessageHandler::x_11(args);	break;
        case 12: x_QAbstractMessageHandler::x_12(args);	break;
        case 13: x_QAbstractMessageHandler::x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: x_QAbstractMessageHandler::x_16(args);	break;
        case 17: delete (QAbstractMessageHandler*)xself;	break;
    }
}
class x_QAbstractUriResolver : public QAbstractUriResolver, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractUriResolver*>(this))) {
            const QMetaObject* xret = ((const x_QAbstractUriResolver*)this)->QAbstractUriResolver::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAbstractUriResolver*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractUriResolver*>(this))) {
            void* xret = this->QAbstractUriResolver::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QAbstractUriResolver::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QAbstractUriResolver::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QAbstractUriResolver::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QAbstractUriResolver::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractUriResolver*>(this))) {
            int xret = this->QAbstractUriResolver::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QAbstractUriResolver* QAbstractUriResolver(QObject*)
        x_QAbstractUriResolver* xret = new x_QAbstractUriResolver((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractUriResolver(QObject* x1) : QAbstractUriResolver(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QUrl resolve(const QUrl&, const QUrl&) const = 0
        QUrl xret = ((const x_QAbstractUriResolver*)this)->resolve(*(const QUrl*)x[1].s_class,*(const QUrl*)x[2].s_class);
        x[0].s_class = (void*)new QUrl(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAbstractUriResolver::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAbstractUriResolver::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // QAbstractUriResolver* QAbstractUriResolver()
        x_QAbstractUriResolver* xret = new x_QAbstractUriResolver((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_13(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAbstractUriResolver::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(18, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAbstractUriResolver::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(19, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAbstractUriResolver::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(24, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractUriResolver::qt_metacall(x1, x2, x3);
    }
    virtual QUrl resolve(const QUrl& x1, const QUrl& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(26, (void*)this, x, true /*pure virtual*/);
        QUrl* xptr = (QUrl*)x[0].s_class;
        QUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(119, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(120, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(121, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(122, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(123, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(124, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(125, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QAbstractUriResolver() { this->_binding->deleted(2, (void*)this); }
};
void xcall_QAbstractUriResolver(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractUriResolver *xself = (x_QAbstractUriResolver*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QAbstractUriResolver::x_3(args);	break;
        case 4: x_QAbstractUriResolver::x_4(args);	break;
        case 5: x_QAbstractUriResolver::x_5(args);	break;
        case 6: x_QAbstractUriResolver::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAbstractUriResolver::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_QAbstractUriResolver::x_10(args);	break;
        case 11: x_QAbstractUriResolver::x_11(args);	break;
        case 12: x_QAbstractUriResolver::x_12(args);	break;
        case 13: x_QAbstractUriResolver::x_13(args);	break;
        case 14: delete (QAbstractUriResolver*)xself;	break;
    }
}
class x_QAbstractXmlNodeModel : public QAbstractXmlNodeModel, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAbstractXmlNodeModel* QAbstractXmlNodeModel()
        x_QAbstractXmlNodeModel* xret = new x_QAbstractXmlNodeModel();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractXmlNodeModel() : QAbstractXmlNodeModel() {}
    void x_2(Smoke::Stack x) {
        // virtual QUrl baseUri(const QXmlNodeModelIndex&) const = 0
        QUrl xret = ((const x_QAbstractXmlNodeModel*)this)->baseUri(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual QUrl documentUri(const QXmlNodeModelIndex&) const = 0
        QUrl xret = ((const x_QAbstractXmlNodeModel*)this)->documentUri(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex::NodeKind kind(const QXmlNodeModelIndex&) const = 0
        QXmlNodeModelIndex::NodeKind xret = ((const x_QAbstractXmlNodeModel*)this)->kind(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_enum = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex::DocumentOrder compareOrder(const QXmlNodeModelIndex&, const QXmlNodeModelIndex&) const = 0
        QXmlNodeModelIndex::DocumentOrder xret = ((const x_QAbstractXmlNodeModel*)this)->compareOrder(*(const QXmlNodeModelIndex*)x[1].s_class,*(const QXmlNodeModelIndex*)x[2].s_class);
        x[0].s_enum = xret;
    }
    void x_6(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex root(const QXmlNodeModelIndex&) const = 0
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->root(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual QXmlName name(const QXmlNodeModelIndex&) const = 0
        QXmlName xret = ((const x_QAbstractXmlNodeModel*)this)->name(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QXmlName(xret);
    }
    void x_8(Smoke::Stack x) {
        // virtual QString stringValue(const QXmlNodeModelIndex&) const = 0
        QString xret = ((const x_QAbstractXmlNodeModel*)this)->stringValue(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // virtual QVariant typedValue(const QXmlNodeModelIndex&) const = 0
        QVariant xret = ((const x_QAbstractXmlNodeModel*)this)->typedValue(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual short namespaceForPrefix(const QXmlNodeModelIndex&, const short) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlNodeModel*>(this))) {
            short xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::namespaceForPrefix(*(const QXmlNodeModelIndex*)x[1].s_class,(const short)x[2].s_short);
            x[0].s_short = xret;
        } else {
            short xret = ((const x_QAbstractXmlNodeModel*)this)->namespaceForPrefix(*(const QXmlNodeModelIndex*)x[1].s_class,(const short)x[2].s_short);
            x[0].s_short = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual bool isDeepEqual(const QXmlNodeModelIndex&, const QXmlNodeModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlNodeModel*>(this))) {
            bool xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::isDeepEqual(*(const QXmlNodeModelIndex*)x[1].s_class,*(const QXmlNodeModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractXmlNodeModel*)this)->isDeepEqual(*(const QXmlNodeModelIndex*)x[1].s_class,*(const QXmlNodeModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void sendNamespaces(const QXmlNodeModelIndex&, QAbstractXmlReceiver* const) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlNodeModel*>(this))) {
            ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::sendNamespaces(*(const QXmlNodeModelIndex*)x[1].s_class,(QAbstractXmlReceiver* const)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QAbstractXmlNodeModel*)this)->sendNamespaces(*(const QXmlNodeModelIndex*)x[1].s_class,(QAbstractXmlReceiver* const)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex&) const = 0
        QVector<QXmlName> xret = ((const x_QAbstractXmlNodeModel*)this)->namespaceBindings(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QVector<QXmlName>(xret);
    }
    void x_14(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex elementById(const QXmlName&) const = 0
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->elementById(*(const QXmlName*)x[1].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_15(Smoke::Stack x) {
        // virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName&) const = 0
        QVector<QXmlNodeModelIndex> xret = ((const x_QAbstractXmlNodeModel*)this)->nodesByIdref(*(const QXmlName*)x[1].s_class);
        x[0].s_class = (void*)new QVector<QXmlNodeModelIndex>(xret);
    }
    void x_16(Smoke::Stack x) {
        // virtual void copyNodeTo(const QXmlNodeModelIndex&, QAbstractXmlReceiver* const, const QFlags<QAbstractXmlNodeModel::NodeCopySetting>&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlNodeModel*>(this))) {
            ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::copyNodeTo(*(const QXmlNodeModelIndex*)x[1].s_class,(QAbstractXmlReceiver* const)x[2].s_class,*(const QFlags<QAbstractXmlNodeModel::NodeCopySetting>*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QAbstractXmlNodeModel*)this)->copyNodeTo(*(const QXmlNodeModelIndex*)x[1].s_class,(QAbstractXmlReceiver* const)x[2].s_class,*(const QFlags<QAbstractXmlNodeModel::NodeCopySetting>*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // QSourceLocation sourceLocation(const QXmlNodeModelIndex&) const
        QSourceLocation xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::sourceLocation(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QSourceLocation(xret);
    }
    void x_18(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex nextFromSimpleAxis(QAbstractXmlNodeModel::SimpleAxis, const QXmlNodeModelIndex&) const = 0
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->nextFromSimpleAxis((QAbstractXmlNodeModel::SimpleAxis)x[1].s_enum,*(const QXmlNodeModelIndex*)x[2].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_19(Smoke::Stack x) {
        // virtual QVector<QXmlNodeModelIndex> attributes(const QXmlNodeModelIndex&) const = 0
        QVector<QXmlNodeModelIndex> xret = ((const x_QAbstractXmlNodeModel*)this)->attributes(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new QVector<QXmlNodeModelIndex>(xret);
    }
    void x_20(Smoke::Stack x) {
        // QXmlNodeModelIndex createIndex(long long) const
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::createIndex(*(long long*)x[1].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_21(Smoke::Stack x) {
        // QXmlNodeModelIndex createIndex(void*, long long) const
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::createIndex((void*)x[1].s_class,*(long long*)x[2].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_22(Smoke::Stack x) {
        // QXmlNodeModelIndex createIndex(long long, long long) const
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::createIndex(*(long long*)x[1].s_class,*(long long*)x[2].s_class);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    void x_23(Smoke::Stack x) {
        // QXmlNodeModelIndex createIndex(void*) const
        QXmlNodeModelIndex xret = ((const x_QAbstractXmlNodeModel*)this)->QAbstractXmlNodeModel::createIndex((void*)x[1].s_class,(long long)0);
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::Parent;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::FirstChild;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::PreviousSibling;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::NextSibling;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::InheritNamespaces;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractXmlNodeModel::PreserveNamespaces;
    }
    virtual QUrl baseUri(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(33, (void*)this, x, true /*pure virtual*/);
        QUrl* xptr = (QUrl*)x[0].s_class;
        QUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QUrl documentUri(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(34, (void*)this, x, true /*pure virtual*/);
        QUrl* xptr = (QUrl*)x[0].s_class;
        QUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QXmlNodeModelIndex::NodeKind kind(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(35, (void*)this, x, true /*pure virtual*/);
        return (QXmlNodeModelIndex::NodeKind)x[0].s_enum;
    }
    virtual QXmlNodeModelIndex::DocumentOrder compareOrder(const QXmlNodeModelIndex& x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(36, (void*)this, x, true /*pure virtual*/);
        return (QXmlNodeModelIndex::DocumentOrder)x[0].s_enum;
    }
    virtual QXmlNodeModelIndex root(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(37, (void*)this, x, true /*pure virtual*/);
        QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
        QXmlNodeModelIndex xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QXmlName name(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(38, (void*)this, x, true /*pure virtual*/);
        QXmlName* xptr = (QXmlName*)x[0].s_class;
        QXmlName xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString stringValue(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(39, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant typedValue(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(40, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual short namespaceForPrefix(const QXmlNodeModelIndex& x1, const short x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_short = x2;
        if (this->_binding->callMethod(41, (void*)this, x)) return (short)x[0].s_short;
        return this->QAbstractXmlNodeModel::namespaceForPrefix(x1, x2);
    }
    virtual bool isDeepEqual(const QXmlNodeModelIndex& x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(42, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractXmlNodeModel::isDeepEqual(x1, x2);
    }
    virtual void sendNamespaces(const QXmlNodeModelIndex& x1, QAbstractXmlReceiver* const x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(43, (void*)this, x)) return;
        this->QAbstractXmlNodeModel::sendNamespaces(x1, x2);
    }
    virtual QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(44, (void*)this, x, true /*pure virtual*/);
        QVector<QXmlName>* xptr = (QVector<QXmlName>*)x[0].s_class;
        QVector<QXmlName> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QXmlNodeModelIndex elementById(const QXmlName& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(45, (void*)this, x, true /*pure virtual*/);
        QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
        QXmlNodeModelIndex xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(46, (void*)this, x, true /*pure virtual*/);
        QVector<QXmlNodeModelIndex>* xptr = (QVector<QXmlNodeModelIndex>*)x[0].s_class;
        QVector<QXmlNodeModelIndex> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void copyNodeTo(const QXmlNodeModelIndex& x1, QAbstractXmlReceiver* const x2, const QFlags<QAbstractXmlNodeModel::NodeCopySetting>& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(47, (void*)this, x)) return;
        this->QAbstractXmlNodeModel::copyNodeTo(x1, x2, x3);
    }
    virtual QXmlNodeModelIndex nextFromSimpleAxis(QAbstractXmlNodeModel::SimpleAxis x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(49, (void*)this, x, true /*pure virtual*/);
        QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
        QXmlNodeModelIndex xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVector<QXmlNodeModelIndex> attributes(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(50, (void*)this, x, true /*pure virtual*/);
        QVector<QXmlNodeModelIndex>* xptr = (QVector<QXmlNodeModelIndex>*)x[0].s_class;
        QVector<QXmlNodeModelIndex> xret(*xptr);
        delete xptr;
        return xret;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 7: //QAbstractXmlNodeModel::SimpleAxis
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractXmlNodeModel::SimpleAxis;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractXmlNodeModel::SimpleAxis*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractXmlNodeModel::SimpleAxis*)xdata = (QAbstractXmlNodeModel::SimpleAxis)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractXmlNodeModel::SimpleAxis*)xdata;
                    break;
            }
            break;
        case 6: //QAbstractXmlNodeModel::NodeCopySetting
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractXmlNodeModel::NodeCopySetting;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractXmlNodeModel::NodeCopySetting*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractXmlNodeModel::NodeCopySetting*)xdata = (QAbstractXmlNodeModel::NodeCopySetting)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractXmlNodeModel::NodeCopySetting*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QAbstractXmlNodeModel() { this->_binding->deleted(3, (void*)this); }
};
void xenum_QAbstractXmlNodeModel(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QAbstractXmlNodeModel::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QAbstractXmlNodeModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractXmlNodeModel *xself = (x_QAbstractXmlNodeModel*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractXmlNodeModel::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: x_QAbstractXmlNodeModel::x_24(args);	break;
        case 25: x_QAbstractXmlNodeModel::x_25(args);	break;
        case 26: x_QAbstractXmlNodeModel::x_26(args);	break;
        case 27: x_QAbstractXmlNodeModel::x_27(args);	break;
        case 28: x_QAbstractXmlNodeModel::x_28(args);	break;
        case 29: x_QAbstractXmlNodeModel::x_29(args);	break;
        case 30: delete (QAbstractXmlNodeModel*)xself;	break;
    }
}
class x_QAbstractXmlReceiver : public QAbstractXmlReceiver, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAbstractXmlReceiver* QAbstractXmlReceiver()
        x_QAbstractXmlReceiver* xret = new x_QAbstractXmlReceiver();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractXmlReceiver() : QAbstractXmlReceiver() {}
    void x_2(Smoke::Stack x) {
        // virtual void startElement(const QXmlName&) = 0
        this->startElement(*(const QXmlName*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual void endElement() = 0
        this->endElement();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void attribute(const QXmlName&, const QStringRef&) = 0
        this->attribute(*(const QXmlName*)x[1].s_class,*(const QStringRef*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // virtual void comment(const QString&) = 0
        this->comment(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // virtual void characters(const QStringRef&) = 0
        this->characters(*(const QStringRef*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // virtual void startDocument() = 0
        this->startDocument();
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void endDocument() = 0
        this->endDocument();
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // virtual void processingInstruction(const QXmlName&, const QString&) = 0
        this->processingInstruction(*(const QXmlName*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual void atomicValue(const QVariant&) = 0
        this->atomicValue(*(const QVariant*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual void namespaceBinding(const QXmlName&) = 0
        this->namespaceBinding(*(const QXmlName*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // virtual void startOfSequence() = 0
        this->startOfSequence();
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // virtual void endOfSequence() = 0
        this->endOfSequence();
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // virtual void whitespaceOnly(const QStringRef&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlReceiver*>(this))) {
            this->QAbstractXmlReceiver::whitespaceOnly(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->whitespaceOnly(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual void item(const QPatternist::Item&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractXmlReceiver*>(this))) {
            this->QAbstractXmlReceiver::item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void sendAsNode(const QPatternist::Item&)
        this->QAbstractXmlReceiver::sendAsNode(*(const QPatternist::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    virtual void startElement(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(63, (void*)this, x, true /*pure virtual*/);
    }
    virtual void endElement() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(64, (void*)this, x, true /*pure virtual*/);
    }
    virtual void attribute(const QXmlName& x1, const QStringRef& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(65, (void*)this, x, true /*pure virtual*/);
    }
    virtual void comment(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(66, (void*)this, x, true /*pure virtual*/);
    }
    virtual void characters(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(67, (void*)this, x, true /*pure virtual*/);
    }
    virtual void startDocument() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(68, (void*)this, x, true /*pure virtual*/);
    }
    virtual void endDocument() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(69, (void*)this, x, true /*pure virtual*/);
    }
    virtual void processingInstruction(const QXmlName& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(70, (void*)this, x, true /*pure virtual*/);
    }
    virtual void atomicValue(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(71, (void*)this, x, true /*pure virtual*/);
    }
    virtual void namespaceBinding(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(72, (void*)this, x, true /*pure virtual*/);
    }
    virtual void startOfSequence() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(73, (void*)this, x, true /*pure virtual*/);
    }
    virtual void endOfSequence() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(74, (void*)this, x, true /*pure virtual*/);
    }
    virtual void whitespaceOnly(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(75, (void*)this, x)) return;
        this->QAbstractXmlReceiver::whitespaceOnly(x1);
    }
    virtual void item(const QPatternist::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(76, (void*)this, x)) return;
        this->QAbstractXmlReceiver::item(x1);
    }
    ~x_QAbstractXmlReceiver() { this->_binding->deleted(4, (void*)this); }
};
void xcall_QAbstractXmlReceiver(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractXmlReceiver *xself = (x_QAbstractXmlReceiver*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractXmlReceiver::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: delete (QAbstractXmlReceiver*)xself;	break;
    }
}
class x_QSimpleXmlNodeModel : public QSimpleXmlNodeModel, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QSimpleXmlNodeModel* QSimpleXmlNodeModel(const QXmlNamePool&)
        x_QSimpleXmlNodeModel* xret = new x_QSimpleXmlNodeModel(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSimpleXmlNodeModel(const QXmlNamePool& x1) : QSimpleXmlNodeModel(x1) {}
    void x_2(Smoke::Stack x) {
        // virtual QUrl baseUri(const QXmlNodeModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSimpleXmlNodeModel*>(this))) {
            QUrl xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::baseUri(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QUrl(xret);
        } else {
            QUrl xret = ((const x_QSimpleXmlNodeModel*)this)->baseUri(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QUrl(xret);
        }
    }
    void x_3(Smoke::Stack x) {
        // QXmlNamePool& namePool() const
        QXmlNamePool& xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::namePool();
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSimpleXmlNodeModel*>(this))) {
            QVector<QXmlName> xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::namespaceBindings(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QVector<QXmlName>(xret);
        } else {
            QVector<QXmlName> xret = ((const x_QSimpleXmlNodeModel*)this)->namespaceBindings(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QVector<QXmlName>(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual QString stringValue(const QXmlNodeModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSimpleXmlNodeModel*>(this))) {
            QString xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::stringValue(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QSimpleXmlNodeModel*)this)->stringValue(*(const QXmlNodeModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual QXmlNodeModelIndex elementById(const QXmlName&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSimpleXmlNodeModel*>(this))) {
            QXmlNodeModelIndex xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::elementById(*(const QXmlName*)x[1].s_class);
            x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
        } else {
            QXmlNodeModelIndex xret = ((const x_QSimpleXmlNodeModel*)this)->elementById(*(const QXmlName*)x[1].s_class);
            x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSimpleXmlNodeModel*>(this))) {
            QVector<QXmlNodeModelIndex> xret = ((const x_QSimpleXmlNodeModel*)this)->QSimpleXmlNodeModel::nodesByIdref(*(const QXmlName*)x[1].s_class);
            x[0].s_class = (void*)new QVector<QXmlNodeModelIndex>(xret);
        } else {
            QVector<QXmlNodeModelIndex> xret = ((const x_QSimpleXmlNodeModel*)this)->nodesByIdref(*(const QXmlName*)x[1].s_class);
            x[0].s_class = (void*)new QVector<QXmlNodeModelIndex>(xret);
        }
    }
    virtual QUrl baseUri(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(127, (void*)this, x)) {
            QUrl* xptr = (QUrl*)x[0].s_class;
            QUrl xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSimpleXmlNodeModel::baseUri(x1);
    }
    virtual QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(129, (void*)this, x)) {
            QVector<QXmlName>* xptr = (QVector<QXmlName>*)x[0].s_class;
            QVector<QXmlName> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSimpleXmlNodeModel::namespaceBindings(x1);
    }
    virtual QString stringValue(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(130, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSimpleXmlNodeModel::stringValue(x1);
    }
    virtual QXmlNodeModelIndex elementById(const QXmlName& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(131, (void*)this, x)) {
            QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
            QXmlNodeModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSimpleXmlNodeModel::elementById(x1);
    }
    virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(132, (void*)this, x)) {
            QVector<QXmlNodeModelIndex>* xptr = (QVector<QXmlNodeModelIndex>*)x[0].s_class;
            QVector<QXmlNodeModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSimpleXmlNodeModel::nodesByIdref(x1);
    }
    virtual QUrl documentUri(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(34, (void*)this, x, true /*pure virtual*/);
        QUrl* xptr = (QUrl*)x[0].s_class;
        QUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QXmlNodeModelIndex::NodeKind kind(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(35, (void*)this, x, true /*pure virtual*/);
        return (QXmlNodeModelIndex::NodeKind)x[0].s_enum;
    }
    virtual QXmlNodeModelIndex::DocumentOrder compareOrder(const QXmlNodeModelIndex& x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(36, (void*)this, x, true /*pure virtual*/);
        return (QXmlNodeModelIndex::DocumentOrder)x[0].s_enum;
    }
    virtual QXmlNodeModelIndex root(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(37, (void*)this, x, true /*pure virtual*/);
        QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
        QXmlNodeModelIndex xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QXmlName name(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(38, (void*)this, x, true /*pure virtual*/);
        QXmlName* xptr = (QXmlName*)x[0].s_class;
        QXmlName xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant typedValue(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(40, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual short namespaceForPrefix(const QXmlNodeModelIndex& x1, const short x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_short = x2;
        if (this->_binding->callMethod(41, (void*)this, x)) return (short)x[0].s_short;
        return this->QAbstractXmlNodeModel::namespaceForPrefix(x1, x2);
    }
    virtual bool isDeepEqual(const QXmlNodeModelIndex& x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(42, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractXmlNodeModel::isDeepEqual(x1, x2);
    }
    virtual void sendNamespaces(const QXmlNodeModelIndex& x1, QAbstractXmlReceiver* const x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(43, (void*)this, x)) return;
        this->QAbstractXmlNodeModel::sendNamespaces(x1, x2);
    }
    virtual void copyNodeTo(const QXmlNodeModelIndex& x1, QAbstractXmlReceiver* const x2, const QFlags<QAbstractXmlNodeModel::NodeCopySetting>& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(47, (void*)this, x)) return;
        this->QAbstractXmlNodeModel::copyNodeTo(x1, x2, x3);
    }
    virtual QXmlNodeModelIndex nextFromSimpleAxis(QAbstractXmlNodeModel::SimpleAxis x1, const QXmlNodeModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(49, (void*)this, x, true /*pure virtual*/);
        QXmlNodeModelIndex* xptr = (QXmlNodeModelIndex*)x[0].s_class;
        QXmlNodeModelIndex xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVector<QXmlNodeModelIndex> attributes(const QXmlNodeModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(50, (void*)this, x, true /*pure virtual*/);
        QVector<QXmlNodeModelIndex>* xptr = (QVector<QXmlNodeModelIndex>*)x[0].s_class;
        QVector<QXmlNodeModelIndex> xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QSimpleXmlNodeModel() { this->_binding->deleted(24, (void*)this); }
};
void xcall_QSimpleXmlNodeModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSimpleXmlNodeModel *xself = (x_QSimpleXmlNodeModel*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSimpleXmlNodeModel::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: delete (QSimpleXmlNodeModel*)xself;	break;
    }
}
class x_QSourceLocation : public QSourceLocation {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QSourceLocation* QSourceLocation()
        x_QSourceLocation* xret = new x_QSourceLocation();
        x[0].s_class = (void*)xret;
    }
    explicit x_QSourceLocation() : QSourceLocation() {}
    static void x_2(Smoke::Stack x) {
        // QSourceLocation* QSourceLocation(const QSourceLocation&)
        x_QSourceLocation* xret = new x_QSourceLocation(*(const QSourceLocation*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSourceLocation(const QSourceLocation& x1) : QSourceLocation(x1) {}
    static void x_3(Smoke::Stack x) {
        // QSourceLocation* QSourceLocation(const QUrl&, int, int)
        x_QSourceLocation* xret = new x_QSourceLocation(*(const QUrl*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSourceLocation(const QUrl& x1, int x2, int x3) : QSourceLocation(x1, x2, x3) {}
    void x_4(Smoke::Stack x) {
        // QSourceLocation& operator=(const QSourceLocation&)
        QSourceLocation& xret = this->QSourceLocation::operator=(*(const QSourceLocation*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator==(const QSourceLocation&) const
        bool xret = ((const x_QSourceLocation*)this)->QSourceLocation::operator==(*(const QSourceLocation*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator!=(const QSourceLocation&) const
        bool xret = ((const x_QSourceLocation*)this)->QSourceLocation::operator!=(*(const QSourceLocation*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // long long column() const
        long long xret = ((const x_QSourceLocation*)this)->QSourceLocation::column();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_8(Smoke::Stack x) {
        // void setColumn(long long)
        this->QSourceLocation::setColumn(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // long long line() const
        long long xret = ((const x_QSourceLocation*)this)->QSourceLocation::line();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setLine(long long)
        this->QSourceLocation::setLine(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QUrl uri() const
        QUrl xret = ((const x_QSourceLocation*)this)->QSourceLocation::uri();
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setUri(const QUrl&)
        this->QSourceLocation::setUri(*(const QUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QSourceLocation*)this)->QSourceLocation::isNull();
        x[0].s_bool = xret;
    }
    static void x_14(Smoke::Stack x) {
        // QSourceLocation* QSourceLocation(const QUrl&)
        x_QSourceLocation* xret = new x_QSourceLocation(*(const QUrl*)x[1].s_class,(int)-1,(int)-1);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // QSourceLocation* QSourceLocation(const QUrl&, int)
        x_QSourceLocation* xret = new x_QSourceLocation(*(const QUrl*)x[1].s_class,(int)x[2].s_int,(int)-1);
        x[0].s_class = (void*)xret;
    }
    ~x_QSourceLocation() { this->_binding->deleted(25, (void*)this); }
};
void xcall_QSourceLocation(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSourceLocation *xself = (x_QSourceLocation*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSourceLocation::x_1(args);	break;
        case 2: x_QSourceLocation::x_2(args);	break;
        case 3: x_QSourceLocation::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: x_QSourceLocation::x_14(args);	break;
        case 15: x_QSourceLocation::x_15(args);	break;
        case 16: delete (QSourceLocation*)xself;	break;
    }
}
class x_QXmlFormatter : public QXmlFormatter, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlFormatter* QXmlFormatter(const QXmlQuery&, QIODevice*)
        x_QXmlFormatter* xret = new x_QXmlFormatter(*(const QXmlQuery*)x[1].s_class,(QIODevice*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlFormatter(const QXmlQuery& x1, QIODevice* x2) : QXmlFormatter(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // virtual void characters(const QStringRef&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::characters(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->characters(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void comment(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::comment(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->comment(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual void startElement(const QXmlName&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::startElement(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->startElement(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void endElement()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::endElement();
            (void)x; // noop (for compiler warning)
        } else {
            this->endElement();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void attribute(const QXmlName&, const QStringRef&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::attribute(*(const QXmlName*)x[1].s_class,*(const QStringRef*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->attribute(*(const QXmlName*)x[1].s_class,*(const QStringRef*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void processingInstruction(const QXmlName&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::processingInstruction(*(const QXmlName*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->processingInstruction(*(const QXmlName*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual void atomicValue(const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::atomicValue(*(const QVariant*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->atomicValue(*(const QVariant*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual void startDocument()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::startDocument();
            (void)x; // noop (for compiler warning)
        } else {
            this->startDocument();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void endDocument()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::endDocument();
            (void)x; // noop (for compiler warning)
        } else {
            this->endDocument();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void startOfSequence()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::startOfSequence();
            (void)x; // noop (for compiler warning)
        } else {
            this->startOfSequence();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void endOfSequence()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::endOfSequence();
            (void)x; // noop (for compiler warning)
        } else {
            this->endOfSequence();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // int indentationDepth() const
        int xret = ((const x_QXmlFormatter*)this)->QXmlFormatter::indentationDepth();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setIndentationDepth(int)
        this->QXmlFormatter::setIndentationDepth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // virtual void item(const QPatternist::Item&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlFormatter*>(this))) {
            this->QXmlFormatter::item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    virtual void characters(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(151, (void*)this, x)) return;
        this->QXmlFormatter::characters(x1);
    }
    virtual void comment(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(152, (void*)this, x)) return;
        this->QXmlFormatter::comment(x1);
    }
    virtual void startElement(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(153, (void*)this, x)) return;
        this->QXmlFormatter::startElement(x1);
    }
    virtual void endElement() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(154, (void*)this, x)) return;
        this->QXmlFormatter::endElement();
    }
    virtual void attribute(const QXmlName& x1, const QStringRef& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(155, (void*)this, x)) return;
        this->QXmlFormatter::attribute(x1, x2);
    }
    virtual void processingInstruction(const QXmlName& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(156, (void*)this, x)) return;
        this->QXmlFormatter::processingInstruction(x1, x2);
    }
    virtual void atomicValue(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(157, (void*)this, x)) return;
        this->QXmlFormatter::atomicValue(x1);
    }
    virtual void startDocument() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(158, (void*)this, x)) return;
        this->QXmlFormatter::startDocument();
    }
    virtual void endDocument() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(159, (void*)this, x)) return;
        this->QXmlFormatter::endDocument();
    }
    virtual void startOfSequence() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(160, (void*)this, x)) return;
        this->QXmlFormatter::startOfSequence();
    }
    virtual void endOfSequence() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(161, (void*)this, x)) return;
        this->QXmlFormatter::endOfSequence();
    }
    virtual void item(const QPatternist::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(164, (void*)this, x)) return;
        this->QXmlFormatter::item(x1);
    }
    virtual void namespaceBinding(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(318, (void*)this, x)) return;
        this->QXmlSerializer::namespaceBinding(x1);
    }
    virtual void whitespaceOnly(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(75, (void*)this, x)) return;
        this->QAbstractXmlReceiver::whitespaceOnly(x1);
    }
    ~x_QXmlFormatter() { this->_binding->deleted(35, (void*)this); }
};
void xcall_QXmlFormatter(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlFormatter *xself = (x_QXmlFormatter*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlFormatter::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: delete (QXmlFormatter*)xself;	break;
    }
}
class x_QXmlItem : public QXmlItem {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlItem* QXmlItem()
        x_QXmlItem* xret = new x_QXmlItem();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlItem() : QXmlItem() {}
    static void x_2(Smoke::Stack x) {
        // QXmlItem* QXmlItem(const QXmlItem&)
        x_QXmlItem* xret = new x_QXmlItem(*(const QXmlItem*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlItem(const QXmlItem& x1) : QXmlItem(x1) {}
    static void x_3(Smoke::Stack x) {
        // QXmlItem* QXmlItem(const QXmlNodeModelIndex&)
        x_QXmlItem* xret = new x_QXmlItem(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlItem(const QXmlNodeModelIndex& x1) : QXmlItem(x1) {}
    static void x_4(Smoke::Stack x) {
        // QXmlItem* QXmlItem(const QVariant&)
        x_QXmlItem* xret = new x_QXmlItem(*(const QVariant*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlItem(const QVariant& x1) : QXmlItem(x1) {}
    void x_5(Smoke::Stack x) {
        // QXmlItem& operator=(const QXmlItem&)
        QXmlItem& xret = this->QXmlItem::operator=(*(const QXmlItem*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QXmlItem*)this)->QXmlItem::isNull();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool isNode() const
        bool xret = ((const x_QXmlItem*)this)->QXmlItem::isNode();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool isAtomicValue() const
        bool xret = ((const x_QXmlItem*)this)->QXmlItem::isAtomicValue();
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // QVariant toAtomicValue() const
        QVariant xret = ((const x_QXmlItem*)this)->QXmlItem::toAtomicValue();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_10(Smoke::Stack x) {
        // QXmlNodeModelIndex toNodeModelIndex() const
        QXmlNodeModelIndex xret = ((const x_QXmlItem*)this)->QXmlItem::toNodeModelIndex();
        x[0].s_class = (void*)new QXmlNodeModelIndex(xret);
    }
    ~x_QXmlItem() { this->_binding->deleted(36, (void*)this); }
};
void xcall_QXmlItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlItem *xself = (x_QXmlItem*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlItem::x_1(args);	break;
        case 2: x_QXmlItem::x_2(args);	break;
        case 3: x_QXmlItem::x_3(args);	break;
        case 4: x_QXmlItem::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: delete (QXmlItem*)xself;	break;
    }
}
class x_QXmlName : public QXmlName {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlName* QXmlName()
        x_QXmlName* xret = new x_QXmlName();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlName() : QXmlName() {}
    static void x_2(Smoke::Stack x) {
        // QXmlName* QXmlName(QXmlNamePool&, const QString&, const QString&, const QString&)
        x_QXmlName* xret = new x_QXmlName(*(QXmlNamePool*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlName(QXmlNamePool& x1, const QString& x2, const QString& x3, const QString& x4) : QXmlName(x1, x2, x3, x4) {}
    void x_3(Smoke::Stack x) {
        // QString namespaceUri(const QXmlNamePool&) const
        QString xret = ((const x_QXmlName*)this)->QXmlName::namespaceUri(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // QString prefix(const QXmlNamePool&) const
        QString xret = ((const x_QXmlName*)this)->QXmlName::prefix(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // QString localName(const QXmlNamePool&) const
        QString xret = ((const x_QXmlName*)this)->QXmlName::localName(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QString toClarkName(const QXmlNamePool&) const
        QString xret = ((const x_QXmlName*)this)->QXmlName::toClarkName(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // bool operator==(const QXmlName&) const
        bool xret = ((const x_QXmlName*)this)->QXmlName::operator==(*(const QXmlName*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator!=(const QXmlName&) const
        bool xret = ((const x_QXmlName*)this)->QXmlName::operator!=(*(const QXmlName*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // QXmlName& operator=(const QXmlName&)
        QXmlName& xret = this->QXmlName::operator=(*(const QXmlName*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QXmlName*)this)->QXmlName::isNull();
        x[0].s_bool = xret;
    }
    static void x_11(Smoke::Stack x) {
        // static bool isNCName(const QString&)
        bool xret = QXmlName::isNCName(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_12(Smoke::Stack x) {
        // static QXmlName fromClarkName(const QString&, const QXmlNamePool&)
        QXmlName xret = QXmlName::fromClarkName(*(const QString*)x[1].s_class,*(const QXmlNamePool*)x[2].s_class);
        x[0].s_class = (void*)new QXmlName(xret);
    }
    static void x_13(Smoke::Stack x) {
        // QXmlName* QXmlName(const QXmlName&)
        x_QXmlName* xret = new x_QXmlName(*(const QXmlName*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlName(const QXmlName& x1) : QXmlName(x1) {}
    static void x_14(Smoke::Stack x) {
        // QXmlName* QXmlName(QXmlNamePool&, const QString&)
        x_QXmlName* xret = new x_QXmlName(*(QXmlNamePool*)x[1].s_class,*(const QString*)x[2].s_class,(const QString&)QString(),(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // QXmlName* QXmlName(QXmlNamePool&, const QString&, const QString&)
        x_QXmlName* xret = new x_QXmlName(*(QXmlNamePool*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    ~x_QXmlName() { this->_binding->deleted(37, (void*)this); }
};
void xcall_QXmlName(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlName *xself = (x_QXmlName*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlName::x_1(args);	break;
        case 2: x_QXmlName::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QXmlName::x_11(args);	break;
        case 12: x_QXmlName::x_12(args);	break;
        case 13: x_QXmlName::x_13(args);	break;
        case 14: x_QXmlName::x_14(args);	break;
        case 15: x_QXmlName::x_15(args);	break;
        case 16: delete (QXmlName*)xself;	break;
    }
}
class x_QXmlNamePool : public QXmlNamePool {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlNamePool* QXmlNamePool()
        x_QXmlNamePool* xret = new x_QXmlNamePool();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlNamePool() : QXmlNamePool() {}
    static void x_2(Smoke::Stack x) {
        // QXmlNamePool* QXmlNamePool(const QXmlNamePool&)
        x_QXmlNamePool* xret = new x_QXmlNamePool(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlNamePool(const QXmlNamePool& x1) : QXmlNamePool(x1) {}
    void x_3(Smoke::Stack x) {
        // QXmlNamePool& operator=(const QXmlNamePool&)
        QXmlNamePool& xret = this->QXmlNamePool::operator=(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    ~x_QXmlNamePool() { this->_binding->deleted(38, (void*)this); }
};
void xcall_QXmlNamePool(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlNamePool *xself = (x_QXmlNamePool*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlNamePool::x_1(args);	break;
        case 2: x_QXmlNamePool::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: delete (QXmlNamePool*)xself;	break;
    }
}
class x_QXmlNodeModelIndex : public QXmlNodeModelIndex {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlNodeModelIndex* QXmlNodeModelIndex()
        x_QXmlNodeModelIndex* xret = new x_QXmlNodeModelIndex();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlNodeModelIndex() : QXmlNodeModelIndex() {}
    static void x_2(Smoke::Stack x) {
        // QXmlNodeModelIndex* QXmlNodeModelIndex(const QXmlNodeModelIndex&)
        x_QXmlNodeModelIndex* xret = new x_QXmlNodeModelIndex(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlNodeModelIndex(const QXmlNodeModelIndex& x1) : QXmlNodeModelIndex(x1) {}
    void x_3(Smoke::Stack x) {
        // bool operator==(const QXmlNodeModelIndex&) const
        bool xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::operator==(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool operator!=(const QXmlNodeModelIndex&) const
        bool xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::operator!=(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // long long data() const
        long long xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::data();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_6(Smoke::Stack x) {
        // void* internalPointer() const
        void* xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::internalPointer();
        x[0].s_class = (void*)xret;
    }
    void x_7(Smoke::Stack x) {
        // const QAbstractXmlNodeModel* model() const
        const QAbstractXmlNodeModel* xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::model();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // long long additionalData() const
        long long xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::additionalData();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_9(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QXmlNodeModelIndex*)this)->QXmlNodeModelIndex::isNull();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void reset()
        this->QXmlNodeModelIndex::reset();
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Attribute;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Comment;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Document;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Element;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Namespace;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::ProcessingInstruction;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Text;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Precedes;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Is;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::Follows;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisChild;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisDescendant;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisAttribute;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisSelf;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisDescendantOrSelf;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisFollowingSibling;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisNamespace;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisFollowing;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisParent;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisAncestor;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisPrecedingSibling;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisPreceding;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisAncestorOrSelf;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisChildOrTop;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlNodeModelIndex::AxisAttributeOrTop;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 71: //QXmlNodeModelIndex::NodeKind
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QXmlNodeModelIndex::NodeKind;
                    break;
                case Smoke::EnumDelete:
                    delete (QXmlNodeModelIndex::NodeKind*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QXmlNodeModelIndex::NodeKind*)xdata = (QXmlNodeModelIndex::NodeKind)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QXmlNodeModelIndex::NodeKind*)xdata;
                    break;
            }
            break;
        case 70: //QXmlNodeModelIndex::DocumentOrder
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QXmlNodeModelIndex::DocumentOrder;
                    break;
                case Smoke::EnumDelete:
                    delete (QXmlNodeModelIndex::DocumentOrder*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QXmlNodeModelIndex::DocumentOrder*)xdata = (QXmlNodeModelIndex::DocumentOrder)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QXmlNodeModelIndex::DocumentOrder*)xdata;
                    break;
            }
            break;
        case 68: //QXmlNodeModelIndex::Axis
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QXmlNodeModelIndex::Axis;
                    break;
                case Smoke::EnumDelete:
                    delete (QXmlNodeModelIndex::Axis*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QXmlNodeModelIndex::Axis*)xdata = (QXmlNodeModelIndex::Axis)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QXmlNodeModelIndex::Axis*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QXmlNodeModelIndex() { this->_binding->deleted(39, (void*)this); }
};
void xenum_QXmlNodeModelIndex(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QXmlNodeModelIndex::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QXmlNodeModelIndex(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlNodeModelIndex *xself = (x_QXmlNodeModelIndex*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlNodeModelIndex::x_1(args);	break;
        case 2: x_QXmlNodeModelIndex::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QXmlNodeModelIndex::x_11(args);	break;
        case 12: x_QXmlNodeModelIndex::x_12(args);	break;
        case 13: x_QXmlNodeModelIndex::x_13(args);	break;
        case 14: x_QXmlNodeModelIndex::x_14(args);	break;
        case 15: x_QXmlNodeModelIndex::x_15(args);	break;
        case 16: x_QXmlNodeModelIndex::x_16(args);	break;
        case 17: x_QXmlNodeModelIndex::x_17(args);	break;
        case 18: x_QXmlNodeModelIndex::x_18(args);	break;
        case 19: x_QXmlNodeModelIndex::x_19(args);	break;
        case 20: x_QXmlNodeModelIndex::x_20(args);	break;
        case 21: x_QXmlNodeModelIndex::x_21(args);	break;
        case 22: x_QXmlNodeModelIndex::x_22(args);	break;
        case 23: x_QXmlNodeModelIndex::x_23(args);	break;
        case 24: x_QXmlNodeModelIndex::x_24(args);	break;
        case 25: x_QXmlNodeModelIndex::x_25(args);	break;
        case 26: x_QXmlNodeModelIndex::x_26(args);	break;
        case 27: x_QXmlNodeModelIndex::x_27(args);	break;
        case 28: x_QXmlNodeModelIndex::x_28(args);	break;
        case 29: x_QXmlNodeModelIndex::x_29(args);	break;
        case 30: x_QXmlNodeModelIndex::x_30(args);	break;
        case 31: x_QXmlNodeModelIndex::x_31(args);	break;
        case 32: x_QXmlNodeModelIndex::x_32(args);	break;
        case 33: x_QXmlNodeModelIndex::x_33(args);	break;
        case 34: x_QXmlNodeModelIndex::x_34(args);	break;
        case 35: x_QXmlNodeModelIndex::x_35(args);	break;
        case 36: delete (QXmlNodeModelIndex*)xself;	break;
    }
}
class x_QXmlQuery : public QXmlQuery {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlQuery* QXmlQuery()
        x_QXmlQuery* xret = new x_QXmlQuery();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlQuery() : QXmlQuery() {}
    static void x_2(Smoke::Stack x) {
        // QXmlQuery* QXmlQuery(const QXmlQuery&)
        x_QXmlQuery* xret = new x_QXmlQuery(*(const QXmlQuery*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlQuery(const QXmlQuery& x1) : QXmlQuery(x1) {}
    static void x_3(Smoke::Stack x) {
        // QXmlQuery* QXmlQuery(const QXmlNamePool&)
        x_QXmlQuery* xret = new x_QXmlQuery(*(const QXmlNamePool*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlQuery(const QXmlNamePool& x1) : QXmlQuery(x1) {}
    static void x_4(Smoke::Stack x) {
        // QXmlQuery* QXmlQuery(QXmlQuery::QueryLanguage, const QXmlNamePool&)
        x_QXmlQuery* xret = new x_QXmlQuery((QXmlQuery::QueryLanguage)x[1].s_enum,*(const QXmlNamePool*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlQuery(QXmlQuery::QueryLanguage x1, const QXmlNamePool& x2) : QXmlQuery(x1, x2) {}
    void x_5(Smoke::Stack x) {
        // QXmlQuery& operator=(const QXmlQuery&)
        QXmlQuery& xret = this->QXmlQuery::operator=(*(const QXmlQuery*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // void setMessageHandler(QAbstractMessageHandler*)
        this->QXmlQuery::setMessageHandler((QAbstractMessageHandler*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // QAbstractMessageHandler* messageHandler() const
        QAbstractMessageHandler* xret = ((const x_QXmlQuery*)this)->QXmlQuery::messageHandler();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // void setQuery(const QString&, const QUrl&)
        this->QXmlQuery::setQuery(*(const QString*)x[1].s_class,*(const QUrl*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void setQuery(QIODevice*, const QUrl&)
        this->QXmlQuery::setQuery((QIODevice*)x[1].s_class,*(const QUrl*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setQuery(const QUrl&, const QUrl&)
        this->QXmlQuery::setQuery(*(const QUrl*)x[1].s_class,*(const QUrl*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QXmlNamePool namePool() const
        QXmlNamePool xret = ((const x_QXmlQuery*)this)->QXmlQuery::namePool();
        x[0].s_class = (void*)new QXmlNamePool(xret);
    }
    void x_12(Smoke::Stack x) {
        // void bindVariable(const QXmlName&, const QXmlItem&)
        this->QXmlQuery::bindVariable(*(const QXmlName*)x[1].s_class,*(const QXmlItem*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void bindVariable(const QString&, const QXmlItem&)
        this->QXmlQuery::bindVariable(*(const QString*)x[1].s_class,*(const QXmlItem*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void bindVariable(const QXmlName&, QIODevice*)
        this->QXmlQuery::bindVariable(*(const QXmlName*)x[1].s_class,(QIODevice*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void bindVariable(const QString&, QIODevice*)
        this->QXmlQuery::bindVariable(*(const QString*)x[1].s_class,(QIODevice*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void bindVariable(const QXmlName&, const QXmlQuery&)
        this->QXmlQuery::bindVariable(*(const QXmlName*)x[1].s_class,*(const QXmlQuery*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void bindVariable(const QString&, const QXmlQuery&)
        this->QXmlQuery::bindVariable(*(const QString*)x[1].s_class,*(const QXmlQuery*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QXmlQuery*)this)->QXmlQuery::isValid();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // void evaluateTo(QXmlResultItems*) const
        ((const x_QXmlQuery*)this)->QXmlQuery::evaluateTo((QXmlResultItems*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool evaluateTo(QAbstractXmlReceiver*) const
        bool xret = ((const x_QXmlQuery*)this)->QXmlQuery::evaluateTo((QAbstractXmlReceiver*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool evaluateTo(QStringList*) const
        bool xret = ((const x_QXmlQuery*)this)->QXmlQuery::evaluateTo((QStringList*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool evaluateTo(QIODevice*) const
        bool xret = ((const x_QXmlQuery*)this)->QXmlQuery::evaluateTo((QIODevice*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // bool evaluateTo(QString*) const
        bool xret = ((const x_QXmlQuery*)this)->QXmlQuery::evaluateTo((QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setUriResolver(const QAbstractUriResolver*)
        this->QXmlQuery::setUriResolver((const QAbstractUriResolver*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // const QAbstractUriResolver* uriResolver() const
        const QAbstractUriResolver* xret = ((const x_QXmlQuery*)this)->QXmlQuery::uriResolver();
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // void setFocus(const QXmlItem&)
        this->QXmlQuery::setFocus(*(const QXmlItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // bool setFocus(const QUrl&)
        bool xret = this->QXmlQuery::setFocus(*(const QUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // bool setFocus(QIODevice*)
        bool xret = this->QXmlQuery::setFocus((QIODevice*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool setFocus(const QString&)
        bool xret = this->QXmlQuery::setFocus(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // void setInitialTemplateName(const QXmlName&)
        this->QXmlQuery::setInitialTemplateName(*(const QXmlName*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void setInitialTemplateName(const QString&)
        this->QXmlQuery::setInitialTemplateName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // QXmlName initialTemplateName() const
        QXmlName xret = ((const x_QXmlQuery*)this)->QXmlQuery::initialTemplateName();
        x[0].s_class = (void*)new QXmlName(xret);
    }
    void x_33(Smoke::Stack x) {
        // void setNetworkAccessManager(QNetworkAccessManager*)
        this->QXmlQuery::setNetworkAccessManager((QNetworkAccessManager*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // QNetworkAccessManager* networkAccessManager() const
        QNetworkAccessManager* xret = ((const x_QXmlQuery*)this)->QXmlQuery::networkAccessManager();
        x[0].s_class = (void*)xret;
    }
    void x_35(Smoke::Stack x) {
        // QXmlQuery::QueryLanguage queryLanguage() const
        QXmlQuery::QueryLanguage xret = ((const x_QXmlQuery*)this)->QXmlQuery::queryLanguage();
        x[0].s_enum = xret;
    }
    static void x_36(Smoke::Stack x) {
        // QXmlQuery* QXmlQuery(QXmlQuery::QueryLanguage)
        x_QXmlQuery* xret = new x_QXmlQuery((QXmlQuery::QueryLanguage)x[1].s_enum,(const QXmlNamePool&)QXmlNamePool());
        x[0].s_class = (void*)xret;
    }
    void x_37(Smoke::Stack x) {
        // void setQuery(const QString&)
        this->QXmlQuery::setQuery(*(const QString*)x[1].s_class,(const QUrl&)QUrl());
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void setQuery(QIODevice*)
        this->QXmlQuery::setQuery((QIODevice*)x[1].s_class,(const QUrl&)QUrl());
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void setQuery(const QUrl&)
        this->QXmlQuery::setQuery(*(const QUrl*)x[1].s_class,(const QUrl&)QUrl());
        (void)x; // noop (for compiler warning)
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlQuery::XQuery10;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlQuery::XSLT20;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlQuery::XmlSchema11IdentityConstraintSelector;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlQuery::XmlSchema11IdentityConstraintField;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QXmlQuery::XPath20;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 74: //QXmlQuery::QueryLanguage
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QXmlQuery::QueryLanguage;
                    break;
                case Smoke::EnumDelete:
                    delete (QXmlQuery::QueryLanguage*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QXmlQuery::QueryLanguage*)xdata = (QXmlQuery::QueryLanguage)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QXmlQuery::QueryLanguage*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QXmlQuery() { this->_binding->deleted(40, (void*)this); }
};
void xenum_QXmlQuery(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QXmlQuery::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QXmlQuery(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlQuery *xself = (x_QXmlQuery*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlQuery::x_1(args);	break;
        case 2: x_QXmlQuery::x_2(args);	break;
        case 3: x_QXmlQuery::x_3(args);	break;
        case 4: x_QXmlQuery::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_QXmlQuery::x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: x_QXmlQuery::x_40(args);	break;
        case 41: x_QXmlQuery::x_41(args);	break;
        case 42: x_QXmlQuery::x_42(args);	break;
        case 43: x_QXmlQuery::x_43(args);	break;
        case 44: x_QXmlQuery::x_44(args);	break;
        case 45: delete (QXmlQuery*)xself;	break;
    }
}
class x_QXmlResultItems : public QXmlResultItems, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlResultItems* QXmlResultItems()
        x_QXmlResultItems* xret = new x_QXmlResultItems();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlResultItems() : QXmlResultItems() {}
    void x_2(Smoke::Stack x) {
        // bool hasError() const
        bool xret = ((const x_QXmlResultItems*)this)->QXmlResultItems::hasError();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // QXmlItem next()
        QXmlItem xret = this->QXmlResultItems::next();
        x[0].s_class = (void*)new QXmlItem(xret);
    }
    void x_4(Smoke::Stack x) {
        // QXmlItem current() const
        QXmlItem xret = ((const x_QXmlResultItems*)this)->QXmlResultItems::current();
        x[0].s_class = (void*)new QXmlItem(xret);
    }
    ~x_QXmlResultItems() { this->_binding->deleted(41, (void*)this); }
};
void xcall_QXmlResultItems(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlResultItems *xself = (x_QXmlResultItems*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlResultItems::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: delete (QXmlResultItems*)xself;	break;
    }
}
class x_QXmlSchema : public QXmlSchema {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlSchema* QXmlSchema()
        x_QXmlSchema* xret = new x_QXmlSchema();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlSchema() : QXmlSchema() {}
    static void x_2(Smoke::Stack x) {
        // QXmlSchema* QXmlSchema(const QXmlSchema&)
        x_QXmlSchema* xret = new x_QXmlSchema(*(const QXmlSchema*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlSchema(const QXmlSchema& x1) : QXmlSchema(x1) {}
    void x_3(Smoke::Stack x) {
        // bool load(const QUrl&)
        bool xret = this->QXmlSchema::load(*(const QUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool load(QIODevice*, const QUrl&)
        bool xret = this->QXmlSchema::load((QIODevice*)x[1].s_class,*(const QUrl*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool load(const QByteArray&, const QUrl&)
        bool xret = this->QXmlSchema::load(*(const QByteArray*)x[1].s_class,*(const QUrl*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QXmlSchema*)this)->QXmlSchema::isValid();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // QXmlNamePool namePool() const
        QXmlNamePool xret = ((const x_QXmlSchema*)this)->QXmlSchema::namePool();
        x[0].s_class = (void*)new QXmlNamePool(xret);
    }
    void x_8(Smoke::Stack x) {
        // QUrl documentUri() const
        QUrl xret = ((const x_QXmlSchema*)this)->QXmlSchema::documentUri();
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setMessageHandler(QAbstractMessageHandler*)
        this->QXmlSchema::setMessageHandler((QAbstractMessageHandler*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QAbstractMessageHandler* messageHandler() const
        QAbstractMessageHandler* xret = ((const x_QXmlSchema*)this)->QXmlSchema::messageHandler();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setUriResolver(const QAbstractUriResolver*)
        this->QXmlSchema::setUriResolver((const QAbstractUriResolver*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // const QAbstractUriResolver* uriResolver() const
        const QAbstractUriResolver* xret = ((const x_QXmlSchema*)this)->QXmlSchema::uriResolver();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // void setNetworkAccessManager(QNetworkAccessManager*)
        this->QXmlSchema::setNetworkAccessManager((QNetworkAccessManager*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QNetworkAccessManager* networkAccessManager() const
        QNetworkAccessManager* xret = ((const x_QXmlSchema*)this)->QXmlSchema::networkAccessManager();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // bool load(QIODevice*)
        bool xret = this->QXmlSchema::load((QIODevice*)x[1].s_class,(const QUrl&)QUrl());
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool load(const QByteArray&)
        bool xret = this->QXmlSchema::load(*(const QByteArray*)x[1].s_class,(const QUrl&)QUrl());
        x[0].s_bool = xret;
    }
    ~x_QXmlSchema() { this->_binding->deleted(42, (void*)this); }
};
void xcall_QXmlSchema(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlSchema *xself = (x_QXmlSchema*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlSchema::x_1(args);	break;
        case 2: x_QXmlSchema::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: delete (QXmlSchema*)xself;	break;
    }
}
class x_QXmlSchemaValidator : public QXmlSchemaValidator {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlSchemaValidator* QXmlSchemaValidator()
        x_QXmlSchemaValidator* xret = new x_QXmlSchemaValidator();
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlSchemaValidator() : QXmlSchemaValidator() {}
    static void x_2(Smoke::Stack x) {
        // QXmlSchemaValidator* QXmlSchemaValidator(const QXmlSchema&)
        x_QXmlSchemaValidator* xret = new x_QXmlSchemaValidator(*(const QXmlSchema*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlSchemaValidator(const QXmlSchema& x1) : QXmlSchemaValidator(x1) {}
    void x_3(Smoke::Stack x) {
        // void setSchema(const QXmlSchema&)
        this->QXmlSchemaValidator::setSchema(*(const QXmlSchema*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // bool validate(const QUrl&) const
        bool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::validate(*(const QUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool validate(QIODevice*, const QUrl&) const
        bool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::validate((QIODevice*)x[1].s_class,*(const QUrl*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool validate(const QByteArray&, const QUrl&) const
        bool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::validate(*(const QByteArray*)x[1].s_class,*(const QUrl*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // QXmlNamePool namePool() const
        QXmlNamePool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::namePool();
        x[0].s_class = (void*)new QXmlNamePool(xret);
    }
    void x_8(Smoke::Stack x) {
        // QXmlSchema schema() const
        QXmlSchema xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::schema();
        x[0].s_class = (void*)new QXmlSchema(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setMessageHandler(QAbstractMessageHandler*)
        this->QXmlSchemaValidator::setMessageHandler((QAbstractMessageHandler*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QAbstractMessageHandler* messageHandler() const
        QAbstractMessageHandler* xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::messageHandler();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setUriResolver(const QAbstractUriResolver*)
        this->QXmlSchemaValidator::setUriResolver((const QAbstractUriResolver*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // const QAbstractUriResolver* uriResolver() const
        const QAbstractUriResolver* xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::uriResolver();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // void setNetworkAccessManager(QNetworkAccessManager*)
        this->QXmlSchemaValidator::setNetworkAccessManager((QNetworkAccessManager*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QNetworkAccessManager* networkAccessManager() const
        QNetworkAccessManager* xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::networkAccessManager();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // bool validate(QIODevice*) const
        bool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::validate((QIODevice*)x[1].s_class,(const QUrl&)QUrl());
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool validate(const QByteArray&) const
        bool xret = ((const x_QXmlSchemaValidator*)this)->QXmlSchemaValidator::validate(*(const QByteArray*)x[1].s_class,(const QUrl&)QUrl());
        x[0].s_bool = xret;
    }
    ~x_QXmlSchemaValidator() { this->_binding->deleted(43, (void*)this); }
};
void xcall_QXmlSchemaValidator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlSchemaValidator *xself = (x_QXmlSchemaValidator*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlSchemaValidator::x_1(args);	break;
        case 2: x_QXmlSchemaValidator::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: delete (QXmlSchemaValidator*)xself;	break;
    }
}
class x_QXmlSerializer : public QXmlSerializer, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QXmlSerializer* QXmlSerializer(const QXmlQuery&, QIODevice*)
        x_QXmlSerializer* xret = new x_QXmlSerializer(*(const QXmlQuery*)x[1].s_class,(QIODevice*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QXmlSerializer(const QXmlQuery& x1, QIODevice* x2) : QXmlSerializer(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // virtual void namespaceBinding(const QXmlName&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::namespaceBinding(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->namespaceBinding(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void characters(const QStringRef&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::characters(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->characters(*(const QStringRef*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual void comment(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::comment(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->comment(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void startElement(const QXmlName&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::startElement(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->startElement(*(const QXmlName*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void endElement()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::endElement();
            (void)x; // noop (for compiler warning)
        } else {
            this->endElement();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void attribute(const QXmlName&, const QStringRef&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::attribute(*(const QXmlName*)x[1].s_class,*(const QStringRef*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->attribute(*(const QXmlName*)x[1].s_class,*(const QStringRef*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual void processingInstruction(const QXmlName&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::processingInstruction(*(const QXmlName*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->processingInstruction(*(const QXmlName*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual void atomicValue(const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::atomicValue(*(const QVariant*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->atomicValue(*(const QVariant*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void startDocument()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::startDocument();
            (void)x; // noop (for compiler warning)
        } else {
            this->startDocument();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void endDocument()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::endDocument();
            (void)x; // noop (for compiler warning)
        } else {
            this->endDocument();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void startOfSequence()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::startOfSequence();
            (void)x; // noop (for compiler warning)
        } else {
            this->startOfSequence();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual void endOfSequence()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::endOfSequence();
            (void)x; // noop (for compiler warning)
        } else {
            this->endOfSequence();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // QIODevice* outputDevice() const
        QIODevice* xret = ((const x_QXmlSerializer*)this)->QXmlSerializer::outputDevice();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // void setCodec(const QTextCodec*)
        this->QXmlSerializer::setCodec((const QTextCodec*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // const QTextCodec* codec() const
        const QTextCodec* xret = ((const x_QXmlSerializer*)this)->QXmlSerializer::codec();
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual void item(const QPatternist::Item&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QXmlSerializer*>(this))) {
            this->QXmlSerializer::item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->item(*(const QPatternist::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    virtual void namespaceBinding(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(318, (void*)this, x)) return;
        this->QXmlSerializer::namespaceBinding(x1);
    }
    virtual void characters(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(319, (void*)this, x)) return;
        this->QXmlSerializer::characters(x1);
    }
    virtual void comment(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(320, (void*)this, x)) return;
        this->QXmlSerializer::comment(x1);
    }
    virtual void startElement(const QXmlName& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(321, (void*)this, x)) return;
        this->QXmlSerializer::startElement(x1);
    }
    virtual void endElement() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(322, (void*)this, x)) return;
        this->QXmlSerializer::endElement();
    }
    virtual void attribute(const QXmlName& x1, const QStringRef& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(323, (void*)this, x)) return;
        this->QXmlSerializer::attribute(x1, x2);
    }
    virtual void processingInstruction(const QXmlName& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(324, (void*)this, x)) return;
        this->QXmlSerializer::processingInstruction(x1, x2);
    }
    virtual void atomicValue(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(325, (void*)this, x)) return;
        this->QXmlSerializer::atomicValue(x1);
    }
    virtual void startDocument() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(326, (void*)this, x)) return;
        this->QXmlSerializer::startDocument();
    }
    virtual void endDocument() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(327, (void*)this, x)) return;
        this->QXmlSerializer::endDocument();
    }
    virtual void startOfSequence() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(328, (void*)this, x)) return;
        this->QXmlSerializer::startOfSequence();
    }
    virtual void endOfSequence() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(329, (void*)this, x)) return;
        this->QXmlSerializer::endOfSequence();
    }
    virtual void item(const QPatternist::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(333, (void*)this, x)) return;
        this->QXmlSerializer::item(x1);
    }
    virtual void whitespaceOnly(const QStringRef& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(75, (void*)this, x)) return;
        this->QAbstractXmlReceiver::whitespaceOnly(x1);
    }
    ~x_QXmlSerializer() { this->_binding->deleted(44, (void*)this); }
};
void xcall_QXmlSerializer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QXmlSerializer *xself = (x_QXmlSerializer*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QXmlSerializer::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: delete (QXmlSerializer*)xself;	break;
    }
}
class x_QGlobalSpace {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QHostAddress&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QHostAddress*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_2(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, QLocalSocket::LocalSocketError)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,(QLocalSocket::LocalSocketError)x[2].s_enum);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_3(Smoke::Stack x) {
        // static QDataStream& operator<<(QDataStream&, const QHostAddress&)
        QDataStream& xret = operator<<(*(QDataStream*)x[1].s_class,*(const QHostAddress*)x[2].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_4(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSslError::SslError&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSslError::SslError*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSslCertificate&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSslCertificate*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QFlags<QNetworkInterface::InterfaceFlag> operator|(QNetworkInterface::InterfaceFlag, QNetworkInterface::InterfaceFlag)
        QFlags<QNetworkInterface::InterfaceFlag> xret = operator|((QNetworkInterface::InterfaceFlag)x[1].s_enum,(QNetworkInterface::InterfaceFlag)x[2].s_enum);
        x[0].s_uint = (uint)xret;
    }
    static void x_7(Smoke::Stack x) {
        // static QFlags<QNetworkInterface::InterfaceFlag> operator|(QNetworkInterface::InterfaceFlag, QFlags<QNetworkInterface::InterfaceFlag>)
        QFlags<QNetworkInterface::InterfaceFlag> xret = operator|((QNetworkInterface::InterfaceFlag)x[1].s_enum,(QFlags<QNetworkInterface::InterfaceFlag>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_8(Smoke::Stack x) {
        // static bool operator==(QHostAddress::SpecialAddress, const QHostAddress&)
        bool xret = operator==((QHostAddress::SpecialAddress)x[1].s_enum,*(const QHostAddress*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_9(Smoke::Stack x) {
        // static unsigned int qHash(const QSourceLocation&)
        unsigned int xret = qHash(*(const QSourceLocation*)x[1].s_class);
        x[0].s_uint = xret;
    }
    static void x_10(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(QUdpSocket::BindFlag, int)
        QIncompatibleFlag xret = operator|((QUdpSocket::BindFlag)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QFlags<QUdpSocket::BindFlag> operator|(QUdpSocket::BindFlag, QFlags<QUdpSocket::BindFlag>)
        QFlags<QUdpSocket::BindFlag> xret = operator|((QUdpSocket::BindFlag)x[1].s_enum,(QFlags<QUdpSocket::BindFlag>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_12(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSslError&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSslError*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, QAbstractSocket::SocketState)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,(QAbstractSocket::SocketState)x[2].s_enum);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, QAbstractSocket::SocketError)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,(QAbstractSocket::SocketError)x[2].s_enum);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSourceLocation&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSourceLocation*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(QSsl::SslOption, int)
        QIncompatibleFlag xret = operator|((QSsl::SslOption)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, QSslCertificate::SubjectInfo)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,(QSslCertificate::SubjectInfo)x[2].s_enum);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSslKey&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSslKey*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static unsigned int qHash(const QXmlNodeModelIndex&)
        unsigned int xret = qHash(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_uint = xret;
    }
    static void x_20(Smoke::Stack x) {
        // static unsigned int qHash(const QHostAddress&)
        unsigned int xret = qHash(*(const QHostAddress*)x[1].s_class);
        x[0].s_uint = xret;
    }
    static void x_21(Smoke::Stack x) {
        // static unsigned int qHash(const QXmlName&)
        unsigned int xret = qHash(*(const QXmlName*)x[1].s_class);
        x[0].s_uint = xret;
    }
    static void x_22(Smoke::Stack x) {
        // static QDataStream& operator>>(QDataStream&, QHostAddress&)
        QDataStream& xret = operator>>(*(QDataStream*)x[1].s_class,*(QHostAddress*)x[2].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_23(Smoke::Stack x) {
        // static QDataStream& operator<<(QDataStream&, const QNetworkCacheMetaData&)
        QDataStream& xret = operator<<(*(QDataStream*)x[1].s_class,*(const QNetworkCacheMetaData*)x[2].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_24(Smoke::Stack x) {
        // static QFlags<QNetworkProxy::Capability> operator|(QNetworkProxy::Capability, QNetworkProxy::Capability)
        QFlags<QNetworkProxy::Capability> xret = operator|((QNetworkProxy::Capability)x[1].s_enum,(QNetworkProxy::Capability)x[2].s_enum);
        x[0].s_uint = (uint)xret;
    }
    static void x_25(Smoke::Stack x) {
        // static QFlags<QNetworkConfigurationManager::Capability> operator|(QNetworkConfigurationManager::Capability, QFlags<QNetworkConfigurationManager::Capability>)
        QFlags<QNetworkConfigurationManager::Capability> xret = operator|((QNetworkConfigurationManager::Capability)x[1].s_enum,(QFlags<QNetworkConfigurationManager::Capability>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_26(Smoke::Stack x) {
        // static QFlags<QUdpSocket::BindFlag> operator|(QUdpSocket::BindFlag, QUdpSocket::BindFlag)
        QFlags<QUdpSocket::BindFlag> xret = operator|((QUdpSocket::BindFlag)x[1].s_enum,(QUdpSocket::BindFlag)x[2].s_enum);
        x[0].s_uint = (uint)xret;
    }
    static void x_27(Smoke::Stack x) {
        // static bool qIsForwardIteratorEnd(const QXmlNodeModelIndex&)
        bool xret = qIsForwardIteratorEnd(*(const QXmlNodeModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(QNetworkProxy::Capability, int)
        QIncompatibleFlag xret = operator|((QNetworkProxy::Capability)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_29(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QNetworkCookie&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QNetworkCookie*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_30(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, QLocalSocket::LocalSocketState)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,(QLocalSocket::LocalSocketState)x[2].s_enum);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_31(Smoke::Stack x) {
        // static bool qIsForwardIteratorEnd(const QXmlItem&)
        bool xret = qIsForwardIteratorEnd(*(const QXmlItem*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_32(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QNetworkInterface&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QNetworkInterface*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_33(Smoke::Stack x) {
        // static QDebug operator<<(QDebug, const QSslCipher&)
        QDebug xret = operator<<(*(QDebug*)x[1].s_class,*(const QSslCipher*)x[2].s_class);
        x[0].s_class = (void*)new QDebug(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QDataStream& operator>>(QDataStream&, QNetworkCacheMetaData&)
        QDataStream& xret = operator>>(*(QDataStream*)x[1].s_class,*(QNetworkCacheMetaData*)x[2].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_35(Smoke::Stack x) {
        // static QFlags<QSsl::SslOption> operator|(QSsl::SslOption, QSsl::SslOption)
        QFlags<QSsl::SslOption> xret = operator|((QSsl::SslOption)x[1].s_enum,(QSsl::SslOption)x[2].s_enum);
        x[0].s_uint = (uint)xret;
    }
    static void x_36(Smoke::Stack x) {
        // static QFlags<QNetworkProxy::Capability> operator|(QNetworkProxy::Capability, QFlags<QNetworkProxy::Capability>)
        QFlags<QNetworkProxy::Capability> xret = operator|((QNetworkProxy::Capability)x[1].s_enum,(QFlags<QNetworkProxy::Capability>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_37(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(QNetworkInterface::InterfaceFlag, int)
        QIncompatibleFlag xret = operator|((QNetworkInterface::InterfaceFlag)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_38(Smoke::Stack x) {
        // static QFlags<QNetworkConfigurationManager::Capability> operator|(QNetworkConfigurationManager::Capability, QNetworkConfigurationManager::Capability)
        QFlags<QNetworkConfigurationManager::Capability> xret = operator|((QNetworkConfigurationManager::Capability)x[1].s_enum,(QNetworkConfigurationManager::Capability)x[2].s_enum);
        x[0].s_uint = (uint)xret;
    }
    static void x_39(Smoke::Stack x) {
        // static QFlags<QSsl::SslOption> operator|(QSsl::SslOption, QFlags<QSsl::SslOption>)
        QFlags<QSsl::SslOption> xret = operator|((QSsl::SslOption)x[1].s_enum,(QFlags<QSsl::SslOption>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_40(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(QNetworkConfigurationManager::Capability, int)
        QIncompatibleFlag xret = operator|((QNetworkConfigurationManager::Capability)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    ~x_QGlobalSpace() { this->_binding->deleted(11, (void*)this); }
};
void xcall_QGlobalSpace(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGlobalSpace *xself = (x_QGlobalSpace*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QGlobalSpace::x_1(args);	break;
        case 2: x_QGlobalSpace::x_2(args);	break;
        case 3: x_QGlobalSpace::x_3(args);	break;
        case 4: x_QGlobalSpace::x_4(args);	break;
        case 5: x_QGlobalSpace::x_5(args);	break;
        case 6: x_QGlobalSpace::x_6(args);	break;
        case 7: x_QGlobalSpace::x_7(args);	break;
        case 8: x_QGlobalSpace::x_8(args);	break;
        case 9: x_QGlobalSpace::x_9(args);	break;
        case 10: x_QGlobalSpace::x_10(args);	break;
        case 11: x_QGlobalSpace::x_11(args);	break;
        case 12: x_QGlobalSpace::x_12(args);	break;
        case 13: x_QGlobalSpace::x_13(args);	break;
        case 14: x_QGlobalSpace::x_14(args);	break;
        case 15: x_QGlobalSpace::x_15(args);	break;
        case 16: x_QGlobalSpace::x_16(args);	break;
        case 17: x_QGlobalSpace::x_17(args);	break;
        case 18: x_QGlobalSpace::x_18(args);	break;
        case 19: x_QGlobalSpace::x_19(args);	break;
        case 20: x_QGlobalSpace::x_20(args);	break;
        case 21: x_QGlobalSpace::x_21(args);	break;
        case 22: x_QGlobalSpace::x_22(args);	break;
        case 23: x_QGlobalSpace::x_23(args);	break;
        case 24: x_QGlobalSpace::x_24(args);	break;
        case 25: x_QGlobalSpace::x_25(args);	break;
        case 26: x_QGlobalSpace::x_26(args);	break;
        case 27: x_QGlobalSpace::x_27(args);	break;
        case 28: x_QGlobalSpace::x_28(args);	break;
        case 29: x_QGlobalSpace::x_29(args);	break;
        case 30: x_QGlobalSpace::x_30(args);	break;
        case 31: x_QGlobalSpace::x_31(args);	break;
        case 32: x_QGlobalSpace::x_32(args);	break;
        case 33: x_QGlobalSpace::x_33(args);	break;
        case 34: x_QGlobalSpace::x_34(args);	break;
        case 35: x_QGlobalSpace::x_35(args);	break;
        case 36: x_QGlobalSpace::x_36(args);	break;
        case 37: x_QGlobalSpace::x_37(args);	break;
        case 38: x_QGlobalSpace::x_38(args);	break;
        case 39: x_QGlobalSpace::x_39(args);	break;
        case 40: x_QGlobalSpace::x_40(args);	break;
    }
}

}
