//Auto-generated by kalyptus. DO NOT EDIT.
#include <smoke.h>
#include <qt_smoke.h>
#include <qgarray.h>

class x_QGArray : public QGArray {
public:
    static void x_0(Smoke::Stack x) {
	x[0].s_enum = (long)QGArray::MemOptim;
    }
    static void x_1(Smoke::Stack x) {
	x[0].s_enum = (long)QGArray::SpeedOptim;
    }
    static void x_2(Smoke::Stack x) {
	// QGArray()
	x_QGArray* xret = new x_QGArray();
	x[0].s_class = (void*)xret;
    }
    x_QGArray() : QGArray() {
    }
    static void x_3(Smoke::Stack x) {
	// QGArray(int, int)
	x_QGArray* xret = new x_QGArray((int)x[1].s_int,(int)x[2].s_int);
	x[0].s_class = (void*)xret;
    }
    x_QGArray(int x1, int x2) : QGArray(x1, x2) {
    }
    static void x_4(Smoke::Stack x) {
	// QGArray(int)
	x_QGArray* xret = new x_QGArray((int)x[1].s_int);
	x[0].s_class = (void*)xret;
    }
    x_QGArray(int x1) : QGArray(x1) {
    }
    static void x_5(Smoke::Stack x) {
	// QGArray(const QGArray&)
	x_QGArray* xret = new x_QGArray(*(const QGArray *)x[1].s_class);
	x[0].s_class = (void*)xret;
    }
    x_QGArray(const QGArray& x1) : QGArray(x1) {
    }
    void x_6(Smoke::Stack x) {
	// operator=(const QGArray&)
	QGArray& xret = this->QGArray::operator=(*(const QGArray *)x[1].s_class);
	x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
	// detach()
	this->QGArray::detach();
	(void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) const {
	// data()
	char* xret = this->QGArray::data();
	x[0].s_voidp = (void*)xret;
    }
    void x_9(Smoke::Stack x) const {
	// nrefs()
	uint xret = this->QGArray::nrefs();
	x[0].s_uint = xret;
    }
    void x_10(Smoke::Stack x) const {
	// size()
	uint xret = this->QGArray::size();
	x[0].s_uint = xret;
    }
    void x_11(Smoke::Stack x) const {
	// isEqual(const QGArray&)
	bool xret = this->QGArray::isEqual(*(const QGArray *)x[1].s_class);
	x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
	// resize(uint, QGArray::Optimization)
	bool xret = this->QGArray::resize((uint)x[1].s_uint,(QGArray::Optimization)x[2].s_enum);
	x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
	// resize(uint)
	bool xret = this->QGArray::resize((uint)x[1].s_uint);
	x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
	// fill(const char*, int, uint)
	bool xret = this->QGArray::fill((const char*)x[1].s_voidp,(int)x[2].s_int,(uint)x[3].s_uint);
	x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
	// assign(const QGArray&)
	QGArray& xret = this->QGArray::assign(*(const QGArray *)x[1].s_class);
	x[0].s_class = (void*)&xret;
    }
    void x_16(Smoke::Stack x) {
	// assign(const char*, uint)
	QGArray& xret = this->QGArray::assign((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
	// duplicate(const QGArray&)
	QGArray& xret = this->QGArray::duplicate(*(const QGArray *)x[1].s_class);
	x[0].s_class = (void*)&xret;
    }
    void x_18(Smoke::Stack x) {
	// duplicate(const char*, uint)
	QGArray& xret = this->QGArray::duplicate((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	x[0].s_class = (void*)&xret;
    }
    void x_19(Smoke::Stack x) {
	// store(const char*, uint)
	this->QGArray::store((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	(void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) const {
	// sharedBlock()
	QGArray::array_data* xret = this->QGArray::sharedBlock();
	x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
	// setSharedBlock(QGArray::array_data*)
	this->QGArray::setSharedBlock((QGArray::array_data*)x[1].s_class);
	(void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
	// setRawData(const char*, uint)
	QGArray& xret = this->QGArray::setRawData((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
	// resetRawData(const char*, uint)
	this->QGArray::resetRawData((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	(void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) const {
	// find(const char*, uint, uint)
	int xret = this->QGArray::find((const char*)x[1].s_voidp,(uint)x[2].s_uint,(uint)x[3].s_uint);
	x[0].s_int = xret;
    }
    void x_25(Smoke::Stack x) const {
	// contains(const char*, uint)
	int xret = this->QGArray::contains((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
	// sort(uint)
	this->QGArray::sort((uint)x[1].s_uint);
	(void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) const {
	// bsearch(const char*, uint)
	int xret = this->QGArray::bsearch((const char*)x[1].s_voidp,(uint)x[2].s_uint);
	x[0].s_int = xret;
    }
    void x_28(Smoke::Stack x) const {
	// at(uint)
	char* xret = this->QGArray::at((uint)x[1].s_uint);
	x[0].s_voidp = (void*)xret;
    }
    void x_29(Smoke::Stack x) {
	// setExpand(uint, const char*, uint)
	bool xret = this->QGArray::setExpand((uint)x[1].s_uint,(const char*)x[2].s_voidp,(uint)x[3].s_uint);
	x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
	// newData()
	QGArray::array_data* xret = this->QGArray::newData();
	x[0].s_class = (void*)xret;
    }
    void x_31(Smoke::Stack x) {
	// deleteData(QGArray::array_data*)
	this->QGArray::deleteData((QGArray::array_data*)x[1].s_class);
	(void)x; // noop (for compiler warning)
    }
    virtual void deleteData(QGArray::array_data* x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)x1;
	if(qt_Smoke->binding->callMethod(3665, (void*)this, x)) return;
	this->QGArray::deleteData(x1);
    }
    virtual void detach() {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(3641, (void*)this, x)) return;
	this->QGArray::detach();
    }
    virtual QGArray::array_data* newData() {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(3664, (void*)this, x)) return (QGArray::array_data*)x[0].s_class;
	return this->QGArray::newData();
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
	switch(xtype) {
	  case 247: //QGArray::Optimization
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QGArray::Optimization;
		break;
	      case Smoke::EnumDelete:
		delete (QGArray::Optimization*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QGArray::Optimization*)xdata = (QGArray::Optimization)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QGArray::Optimization*)xdata;
		break;
	    }
	    break;
	}
    }
    ~x_QGArray() { qt_Smoke->binding->deleted(122, (void*)this); }
};
void xenum_QGArray(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QGArray::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QGArray(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGArray *xself = (x_QGArray*)obj;
    switch(xi) {
	case 0: x_QGArray::x_0(args);	break;
	case 1: x_QGArray::x_1(args);	break;
	case 2: x_QGArray::x_2(args);	break;
	case 3: x_QGArray::x_3(args);	break;
	case 4: x_QGArray::x_4(args);	break;
	case 5: x_QGArray::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;
    }
}
