#ifndef QMETATYPE_H
#define QMETATYPE_H
#include <QtCore/qglobal.h>
#ifndef QATOMIC_H
#define QATOMIC_H
#if defined(QT_MOC) || defined(QT_BUILD_QMAKE) || defined(QT_RCC) || defined(QT_UIC)
#else
#include <QtCore/qatomic_arch.h>
#endif
#include <QtCore/qglobal.h>
#ifndef Q_SPECIALIZED_QATOMIC
struct QBasicAtomic{
public: int volatile atomic;
public: inline void init(int x = 0);
public: inline bool ref();
public: inline bool deref();
public: inline bool operator ==(int x) const
public: inline bool operator !=(int x) const
public: inline bool operator !() const
public: inline operator int () const
public: inline struct QBasicAtomic& operator =(int x);
public: inline bool testAndSet(int expected, int newval);
public: inline bool testAndSetAcquire(int expected, int newval);
public: inline bool testAndSetRelease(int expected, int newval);
public: inline int exchange(int newval);
};
template < typename T > struct QBasicAtomicPointer{
public: T volatile * pointer;
public: inline void init(T* t = 0);
public: inline bool operator ==(T* t) const
public: inline bool operator !=(T* t) const
public: inline bool operator !() const
public: inline operator T* () const
public: inline T* operator ->() const
public: inline struct QBasicAtomicPointer& operator =(T* t);
public: inline bool testAndSet(T* expected, T* newval);
public: inline T* exchange(T* newval);
};
#define Q_ATOMIC_INIT(a) { (a) }
#endif // Q_SPECIALIZED_QATOMIC
template < typename T > inline T qAtomicSetPtr(T volatile * ptr, T newval);
class QAtomic: public QBasicAtomic{
public: inline QAtomic(int x = 0);
public: inline QAtomic(class QAtomic const & copy);
public: inline class QAtomic& operator =(int x);
public: inline class QAtomic& operator =(class QAtomic const & copy);
};
template < typename T > class QAtomicPointer: public QBasicAtomicPointer < T >{
public: inline QAtomicPointer(T* t = 0);
public: inline QAtomicPointer(class QAtomicPointer const & copy);
public: inline class QAtomicPointer& operator =(T* t);
public: inline class QAtomicPointer& operator =(class QAtomicPointer const & copy);
};
template < typename T > inline void qAtomicAssign(T* & d, T* x);
template < typename T > inline void qAtomicAssign(class QBasicAtomicPointer < T >& d, T* x);
template < typename T > inline void qAtomicAssign(class QBasicAtomicPointer < T >& d, class QBasicAtomicPointer < T > const & x);
template < typename T > inline void qAtomicDetach(T* & d);
template < typename T > inline void qAtomicDetach(class QBasicAtomicPointer < T >& d);
#endif // QATOMIC_H
#ifndef QT_NO_DATASTREAM
#include <QtCore/qdatastream.h>
#endif
typedef enum QtValidLicenseForCoreModule QtCoreModule;
class QMetaType{
public: enum Type{
Void = 0,
Bool = 1,
Int = 2,
UInt = 3,
LongLong = 4,
ULongLong = 5,
Double = 6,
QChar = 7,
QVariantMap = 8,
QVariantList = 9,
QString = 10,
QStringList = 11,
QByteArray = 12,
QBitArray = 13,
QDate = 14,
QTime = 15,
QDateTime = 16,
QUrl = 17,
QLocale = 18,
QRect = 19,
QRectF = 20,
QSize = 21,
QSizeF = 22,
QLine = 23,
QLineF = 24,
QPoint = 25,
QPointF = 26,
QRegExp = 27,
LastCoreType = 27,
FirstGuiType = 63,
QFont = 64,
QPixmap = 65,
QBrush = 66,
QColor = 67,
QPalette = 68,
QIcon = 69,
QImage = 70,
QPolygon = 71,
QRegion = 72,
QBitmap = 73,
QCursor = 74,
QSizePolicy = 75,
QKeySequence = 76,
QPen = 77,
QTextLength = 78,
QTextFormat = 79,
QMatrix = 80,
LastGuiType = 80,
FirstCoreExtType = 128,
VoidStar = 128,
Long = 129,
Short = 130,
Char = 131,
ULong = 132,
UShort = 133,
UChar = 134,
Float = 135,
QObjectStar = 136,
QWidgetStar = 137,
LastCoreExtType = 137,
User = 256,
};
public: typedef void (* Destructor)(void*);
public: typedef void* (* Constructor)(void const *);
#ifndef QT_NO_DATASTREAM
public: typedef void (* SaveOperator)(class QDataStream&, void const *);
public: typedef void (* LoadOperator)(class QDataStream&, void*);
public: static void registerStreamOperators(char const * typeName, void (* saveOp)(class QDataStream&, void const *), void (* loadOp)(class QDataStream&, void*));
#endif
public: static int registerType(char const * typeName, void (* destructor)(void*), void* (* constructor)(void const *));
public: static int type(char const * typeName);
public: static char const * typeName(int type);
public: static bool isRegistered(int type);
public: static void* construct(int type, void const * copy = 0);
public: static void destroy(int type, void* data);
#ifndef QT_NO_DATASTREAM
public: static bool save(class QDataStream& stream, int type, void const * data);
public: static bool load(class QDataStream& stream, int type, void* data);
#endif
};
template < typename T > void qMetaTypeDeleteHelper(T* t);
template < typename T > void* qMetaTypeConstructHelper(T const * t);
#ifndef QT_NO_DATASTREAM
template < typename T > void qMetaTypeSaveHelper(class QDataStream& stream, T const * t);
template < typename T > void qMetaTypeLoadHelper(class QDataStream& stream, T* t);
#endif // QT_NO_DATASTREAM
template < typename T > int qRegisterMetaType(char const * typeName, T* = 0);
#ifndef QT_NO_DATASTREAM
template < typename T > void qRegisterMetaTypeStreamOperators(char const * typeName, T* = 0);
#endif
template < typename T > struct QMetaTypeId{
public: enum /*anonymous*/{
Defined = 0,
};
};
template < typename T > struct QMetaTypeId2{
public: enum /*anonymous*/{
Defined = 0,
};
public: static inline int qt_metatype_id();
};
template < typename T > inline int qMetaTypeId(T* = 0);
template < typename T > inline int qRegisterMetaType(T* dummy = 0);
#define Q_DECLARE_METATYPE(TYPE) template <> struct QMetaTypeId< TYPE > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomic id = Q_ATOMIC_INIT(0); if (!id) id = qRegisterMetaType< TYPE >(#TYPE); return id; } };
#define Q_DECLARE_BUILTIN_METATYPE(TYPE,NAME) template<> struct QMetaTypeId2<TYPE> { enum { Defined = 1, MetaType = QMetaType::NAME }; static inline int qt_metatype_id() { return QMetaType::NAME; } };
struct QBitArray;
struct QDate;
struct QTime;
struct QDateTime;
struct QUrl;
struct QLocale;
struct QRect;
struct QRectF;
struct QSize;
struct QSizeF;
struct QLine;
struct QLineF;
struct QPoint;
struct QPointF;
struct QFont;
struct QPixmap;
struct QBrush;
struct QColor;
struct QPalette;
struct QIcon;
struct QImage;
struct QPolygon;
struct QRegion;
struct QBitmap;
struct QCursor;
struct QSizePolicy;
struct QKeySequence;
struct QPen;
struct QTextLength;
struct QTextFormat;
struct QMatrix;
template < > struct QMetaTypeId2 < class QString >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 10,
};
};
template < > struct QMetaTypeId2 < int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 2,
};
};
template < > struct QMetaTypeId2 < unsigned int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 3,
};
};
template < > struct QMetaTypeId2 < bool >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 1,
};
};
template < > struct QMetaTypeId2 < double >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 6,
};
};
template < > struct QMetaTypeId2 < class QByteArray >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 12,
};
};
template < > struct QMetaTypeId2 < class QChar >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 7,
};
};
template < > struct QMetaTypeId2 < long int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 129,
};
};
template < > struct QMetaTypeId2 < short int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 130,
};
};
template < > struct QMetaTypeId2 < char >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 131,
};
};
template < > struct QMetaTypeId2 < long unsigned int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 132,
};
};
template < > struct QMetaTypeId2 < short unsigned int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 133,
};
};
template < > struct QMetaTypeId2 < unsigned char >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 134,
};
};
template < > struct QMetaTypeId2 < float >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 135,
};
};
template < > struct QMetaTypeId2 < class QObject* >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 136,
};
};
template < > struct QMetaTypeId2 < struct QWidget* >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 137,
};
};
template < > struct QMetaTypeId2 < void* >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 128,
};
};
template < > struct QMetaTypeId2 < long long int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 4,
};
};
template < > struct QMetaTypeId2 < long long unsigned int >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 5,
};
};
template < > struct QMetaTypeId2 < struct QStringList >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 11,
};
};
template < > struct QMetaTypeId2 < struct QBitArray >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 13,
};
};
template < > struct QMetaTypeId2 < struct QDate >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 14,
};
};
template < > struct QMetaTypeId2 < struct QTime >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 15,
};
};
template < > struct QMetaTypeId2 < struct QDateTime >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 16,
};
};
template < > struct QMetaTypeId2 < struct QUrl >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 17,
};
};
template < > struct QMetaTypeId2 < struct QLocale >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 18,
};
};
template < > struct QMetaTypeId2 < struct QRect >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 19,
};
};
template < > struct QMetaTypeId2 < struct QRectF >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 20,
};
};
template < > struct QMetaTypeId2 < struct QSize >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 21,
};
};
template < > struct QMetaTypeId2 < struct QSizeF >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 22,
};
};
template < > struct QMetaTypeId2 < struct QLine >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 23,
};
};
template < > struct QMetaTypeId2 < struct QLineF >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 24,
};
};
template < > struct QMetaTypeId2 < struct QPoint >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 25,
};
};
template < > struct QMetaTypeId2 < struct QPointF >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 26,
};
};
template < > struct QMetaTypeId2 < struct QRegExp >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 27,
};
};
template < > struct QMetaTypeId2 < struct QFont >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 64,
};
};
template < > struct QMetaTypeId2 < struct QPixmap >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 65,
};
};
template < > struct QMetaTypeId2 < struct QBrush >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 66,
};
};
template < > struct QMetaTypeId2 < struct QColor >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 67,
};
};
template < > struct QMetaTypeId2 < struct QPalette >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 68,
};
};
template < > struct QMetaTypeId2 < struct QIcon >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 69,
};
};
template < > struct QMetaTypeId2 < struct QImage >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 70,
};
};
template < > struct QMetaTypeId2 < struct QPolygon >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 71,
};
};
template < > struct QMetaTypeId2 < struct QRegion >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 72,
};
};
template < > struct QMetaTypeId2 < struct QBitmap >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 73,
};
};
template < > struct QMetaTypeId2 < struct QCursor >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 74,
};
};
template < > struct QMetaTypeId2 < struct QSizePolicy >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 75,
};
};
template < > struct QMetaTypeId2 < struct QKeySequence >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 76,
};
};
template < > struct QMetaTypeId2 < struct QPen >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 77,
};
};
template < > struct QMetaTypeId2 < struct QTextLength >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 78,
};
};
template < > struct QMetaTypeId2 < struct QTextFormat >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 79,
};
};
template < > struct QMetaTypeId2 < struct QMatrix >{
public: static inline int qt_metatype_id();
public: enum /*anonymous*/{
Defined = 1,
MetaType = 80,
};
};
#endif // QMETATYPE_H