summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestdata.h
blob: 4e2d072c2cd08bf4f1c275beb509f09c7aa52fae (plain)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
// Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QTESTDATA_H#define QTESTDATA_H#include <QtTest/qttestglobal.h>#include <QtCore/qmetatype.h>#include <QtCore/qstring.h> QT_BEGIN_NAMESPACE class QTestTable;class QTestDataPrivate;class Q_TESTLIB_EXPORT QTestData {public:~QTestData();voidappend(int type,const void*data);void*data(int index)const;const char*dataTag()const; QTestTable *parent()const;intdataCount()const;private:friend class QTestTable;QTestData(const char*tag, QTestTable *parent);Q_DISABLE_COPY(QTestData) QTestDataPrivate *d;};template<typename T> QTestData &operator<<(QTestData &data,const T &value){ data.append(qMetaTypeId<T>(), &value);return data;}inline QTestData &operator<<(QTestData &data,const char* value){ QString str =QString::fromUtf8(value); data.append(QMetaType::QString, &str);return data;}#ifdef __cpp_char8_t Q_WEAK_OVERLOAD inline QTestData &operator<<(QTestData &data,const char8_t *value){return data <<reinterpret_cast<const char*>(value);}#endif#ifdef QT_USE_QSTRINGBUILDERtemplate<typename A, typename B>inline QTestData &operator<<(QTestData &data,const QStringBuilder<A, B> &value){return data << typename QConcatenable<QStringBuilder<A, B> >::ConvertTo(value);}#endif QT_END_NAMESPACE #endif
close