#include "gen_qstringview.h" #include "qstringview.h" #include #include #include #include #include extern "C" { extern void miqt_exec_callback(void* cb, int argc, void* argv); } QStringView* QStringView_new() { return new QStringView(); } void QStringView_ToString(QStringView* self, char** _out, int* _out_Strlen) { QString ret = self->toString(); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } size_t QStringView_Size(QStringView* self) { return self->size(); } QChar* QStringView_OperatorSubscript(QStringView* self, size_t n) { QChar ret = self->operator[](static_cast(n)); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } QByteArray* QStringView_ToLatin1(QStringView* self) { QByteArray ret = self->toLatin1(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } QByteArray* QStringView_ToUtf8(QStringView* self) { QByteArray ret = self->toUtf8(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } QByteArray* QStringView_ToLocal8Bit(QStringView* self) { QByteArray ret = self->toLocal8Bit(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } void QStringView_ToUcs4(QStringView* self, unsigned int** _out, size_t* _out_len) { QVector ret = self->toUcs4(); // Convert QList<> from C++ memory to manually-managed C memory unsigned int* __out = static_cast(malloc(sizeof(unsigned int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { __out[i] = ret[i]; } *_out = __out; *_out_len = ret.length(); } QChar* QStringView_At(QStringView* self, size_t n) { QChar ret = self->at(static_cast(n)); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } void QStringView_Truncate(QStringView* self, size_t n) { self->truncate(static_cast(n)); } void QStringView_Chop(QStringView* self, size_t n) { self->chop(static_cast(n)); } int QStringView_Compare(QStringView* self, QChar* c) { return self->compare(*c); } bool QStringView_StartsWith(QStringView* self, QChar* c) { return self->startsWith(*c); } bool QStringView_EndsWith(QStringView* self, QChar* c) { return self->endsWith(*c); } bool QStringView_IsRightToLeft(QStringView* self) { return self->isRightToLeft(); } bool QStringView_IsValidUtf16(QStringView* self) { return self->isValidUtf16(); } int16_t QStringView_ToShort(QStringView* self) { return self->toShort(); } uint16_t QStringView_ToUShort(QStringView* self) { return self->toUShort(); } int QStringView_ToInt(QStringView* self) { return self->toInt(); } unsigned int QStringView_ToUInt(QStringView* self) { return self->toUInt(); } long QStringView_ToLong(QStringView* self) { return self->toLong(); } unsigned long QStringView_ToULong(QStringView* self) { return self->toULong(); } int64_t QStringView_ToLongLong(QStringView* self) { return self->toLongLong(); } uint64_t QStringView_ToULongLong(QStringView* self) { return self->toULongLong(); } float QStringView_ToFloat(QStringView* self) { return self->toFloat(); } double QStringView_ToDouble(QStringView* self) { return self->toDouble(); } bool QStringView_Empty(QStringView* self) { return self->empty(); } QChar* QStringView_Front(QStringView* self) { QChar ret = self->front(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } QChar* QStringView_Back(QStringView* self) { QChar ret = self->back(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } bool QStringView_IsNull(QStringView* self) { return self->isNull(); } bool QStringView_IsEmpty(QStringView* self) { return self->isEmpty(); } int QStringView_Length(QStringView* self) { return self->length(); } QChar* QStringView_First(QStringView* self) { QChar ret = self->first(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } QChar* QStringView_Last(QStringView* self) { QChar ret = self->last(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } int16_t QStringView_ToShort1(QStringView* self, bool* ok) { return self->toShort(ok); } int16_t QStringView_ToShort2(QStringView* self, bool* ok, int base) { return self->toShort(ok, static_cast(base)); } uint16_t QStringView_ToUShort1(QStringView* self, bool* ok) { return self->toUShort(ok); } uint16_t QStringView_ToUShort2(QStringView* self, bool* ok, int base) { return self->toUShort(ok, static_cast(base)); } int QStringView_ToInt1(QStringView* self, bool* ok) { return self->toInt(ok); } int QStringView_ToInt2(QStringView* self, bool* ok, int base) { return self->toInt(ok, static_cast(base)); } unsigned int QStringView_ToUInt1(QStringView* self, bool* ok) { return self->toUInt(ok); } unsigned int QStringView_ToUInt2(QStringView* self, bool* ok, int base) { return self->toUInt(ok, static_cast(base)); } long QStringView_ToLong1(QStringView* self, bool* ok) { return self->toLong(ok); } long QStringView_ToLong2(QStringView* self, bool* ok, int base) { return self->toLong(ok, static_cast(base)); } unsigned long QStringView_ToULong1(QStringView* self, bool* ok) { return self->toULong(ok); } unsigned long QStringView_ToULong2(QStringView* self, bool* ok, int base) { return self->toULong(ok, static_cast(base)); } int64_t QStringView_ToLongLong1(QStringView* self, bool* ok) { return self->toLongLong(ok); } int64_t QStringView_ToLongLong2(QStringView* self, bool* ok, int base) { return self->toLongLong(ok, static_cast(base)); } uint64_t QStringView_ToULongLong1(QStringView* self, bool* ok) { return self->toULongLong(ok); } uint64_t QStringView_ToULongLong2(QStringView* self, bool* ok, int base) { return self->toULongLong(ok, static_cast(base)); } float QStringView_ToFloat1(QStringView* self, bool* ok) { return self->toFloat(ok); } double QStringView_ToDouble1(QStringView* self, bool* ok) { return self->toDouble(ok); } void QStringView_Delete(QStringView* self) { delete self; }