#include #include #include #include #include #include #include #include "qstringview.h" #include "gen_qstringview.h" 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 = const_cast(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 const_cast(self)->size(); } QChar* QStringView_OperatorSubscript(QStringView* self, size_t n) { QChar ret = const_cast(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 = const_cast(self)->toLatin1(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } QByteArray* QStringView_ToUtf8(QStringView* self) { QByteArray ret = const_cast(self)->toUtf8(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } QByteArray* QStringView_ToLocal8Bit(QStringView* self) { QByteArray ret = const_cast(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 = const_cast(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 = const_cast(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_CompareWithQChar(QStringView* self, QChar* c) { return const_cast(self)->compare(*c); } int QStringView_Compare2(QStringView* self, QChar* c, uintptr_t cs) { return const_cast(self)->compare(*c, static_cast(cs)); } bool QStringView_StartsWithWithQChar(QStringView* self, QChar* c) { return const_cast(self)->startsWith(*c); } bool QStringView_StartsWith2(QStringView* self, QChar* c, uintptr_t cs) { return const_cast(self)->startsWith(*c, static_cast(cs)); } bool QStringView_EndsWithWithQChar(QStringView* self, QChar* c) { return const_cast(self)->endsWith(*c); } bool QStringView_EndsWith2(QStringView* self, QChar* c, uintptr_t cs) { return const_cast(self)->endsWith(*c, static_cast(cs)); } size_t QStringView_IndexOf(QStringView* self, QChar* c) { return const_cast(self)->indexOf(*c); } bool QStringView_Contains(QStringView* self, QChar* c) { return const_cast(self)->contains(*c); } size_t QStringView_Count(QStringView* self, QChar* c) { return const_cast(self)->count(*c); } size_t QStringView_LastIndexOf(QStringView* self, QChar* c) { return const_cast(self)->lastIndexOf(*c); } bool QStringView_IsRightToLeft(QStringView* self) { return const_cast(self)->isRightToLeft(); } bool QStringView_IsValidUtf16(QStringView* self) { return const_cast(self)->isValidUtf16(); } int16_t QStringView_ToShort(QStringView* self) { return const_cast(self)->toShort(); } uint16_t QStringView_ToUShort(QStringView* self) { return const_cast(self)->toUShort(); } int QStringView_ToInt(QStringView* self) { return const_cast(self)->toInt(); } unsigned int QStringView_ToUInt(QStringView* self) { return const_cast(self)->toUInt(); } long QStringView_ToLong(QStringView* self) { return const_cast(self)->toLong(); } unsigned long QStringView_ToULong(QStringView* self) { return const_cast(self)->toULong(); } int64_t QStringView_ToLongLong(QStringView* self) { return const_cast(self)->toLongLong(); } uint64_t QStringView_ToULongLong(QStringView* self) { return const_cast(self)->toULongLong(); } float QStringView_ToFloat(QStringView* self) { return const_cast(self)->toFloat(); } double QStringView_ToDouble(QStringView* self) { return const_cast(self)->toDouble(); } bool QStringView_Empty(QStringView* self) { return const_cast(self)->empty(); } QChar* QStringView_Front(QStringView* self) { QChar ret = const_cast(self)->front(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } QChar* QStringView_Back(QStringView* self) { QChar ret = const_cast(self)->back(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } bool QStringView_IsNull(QStringView* self) { return const_cast(self)->isNull(); } bool QStringView_IsEmpty(QStringView* self) { return const_cast(self)->isEmpty(); } int QStringView_Length(QStringView* self) { return const_cast(self)->length(); } QChar* QStringView_First(QStringView* self) { QChar ret = const_cast(self)->first(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } QChar* QStringView_Last(QStringView* self) { QChar ret = const_cast(self)->last(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QChar(ret)); } size_t QStringView_IndexOf2(QStringView* self, QChar* c, size_t from) { return const_cast(self)->indexOf(*c, static_cast(from)); } size_t QStringView_IndexOf3(QStringView* self, QChar* c, size_t from, uintptr_t cs) { return const_cast(self)->indexOf(*c, static_cast(from), static_cast(cs)); } bool QStringView_Contains2(QStringView* self, QChar* c, uintptr_t cs) { return const_cast(self)->contains(*c, static_cast(cs)); } size_t QStringView_Count2(QStringView* self, QChar* c, uintptr_t cs) { return const_cast(self)->count(*c, static_cast(cs)); } size_t QStringView_LastIndexOf2(QStringView* self, QChar* c, size_t from) { return const_cast(self)->lastIndexOf(*c, static_cast(from)); } size_t QStringView_LastIndexOf3(QStringView* self, QChar* c, size_t from, uintptr_t cs) { return const_cast(self)->lastIndexOf(*c, static_cast(from), static_cast(cs)); } int16_t QStringView_ToShort1(QStringView* self, bool* ok) { return const_cast(self)->toShort(ok); } int16_t QStringView_ToShort2(QStringView* self, bool* ok, int base) { return const_cast(self)->toShort(ok, static_cast(base)); } uint16_t QStringView_ToUShort1(QStringView* self, bool* ok) { return const_cast(self)->toUShort(ok); } uint16_t QStringView_ToUShort2(QStringView* self, bool* ok, int base) { return const_cast(self)->toUShort(ok, static_cast(base)); } int QStringView_ToInt1(QStringView* self, bool* ok) { return const_cast(self)->toInt(ok); } int QStringView_ToInt2(QStringView* self, bool* ok, int base) { return const_cast(self)->toInt(ok, static_cast(base)); } unsigned int QStringView_ToUInt1(QStringView* self, bool* ok) { return const_cast(self)->toUInt(ok); } unsigned int QStringView_ToUInt2(QStringView* self, bool* ok, int base) { return const_cast(self)->toUInt(ok, static_cast(base)); } long QStringView_ToLong1(QStringView* self, bool* ok) { return const_cast(self)->toLong(ok); } long QStringView_ToLong2(QStringView* self, bool* ok, int base) { return const_cast(self)->toLong(ok, static_cast(base)); } unsigned long QStringView_ToULong1(QStringView* self, bool* ok) { return const_cast(self)->toULong(ok); } unsigned long QStringView_ToULong2(QStringView* self, bool* ok, int base) { return const_cast(self)->toULong(ok, static_cast(base)); } int64_t QStringView_ToLongLong1(QStringView* self, bool* ok) { return const_cast(self)->toLongLong(ok); } int64_t QStringView_ToLongLong2(QStringView* self, bool* ok, int base) { return const_cast(self)->toLongLong(ok, static_cast(base)); } uint64_t QStringView_ToULongLong1(QStringView* self, bool* ok) { return const_cast(self)->toULongLong(ok); } uint64_t QStringView_ToULongLong2(QStringView* self, bool* ok, int base) { return const_cast(self)->toULongLong(ok, static_cast(base)); } float QStringView_ToFloat1(QStringView* self, bool* ok) { return const_cast(self)->toFloat(ok); } double QStringView_ToDouble1(QStringView* self, bool* ok) { return const_cast(self)->toDouble(ok); } void QStringView_Delete(QStringView* self) { delete self; }