#include <QtCore/qvariant.h>
#ifndef QVARIANT_H
class QVariant{
   public: enum Type{
      Invalid = 0,
      Bool = 1,
      Int = 2,
      UInt = 3,
      LongLong = 4,
      ULongLong = 5,
      Double = 6,
      Char = 7,
      Map = 8,
      List = 9,
      String = 10,
      StringList = 11,
      ByteArray = 12,
      BitArray = 13,
      Date = 14,
      Time = 15,
      DateTime = 16,
      Url = 17,
      Locale = 18,
      Rect = 19,
      RectF = 20,
      Size = 21,
      SizeF = 22,
      Line = 23,
      LineF = 24,
      Point = 25,
      PointF = 26,
      RegExp = 27,
      LastCoreType = 27,
      Font = 64,
      Pixmap = 65,
      Brush = 66,
      Color = 67,
      Palette = 68,
      Icon = 69,
      Image = 70,
      Polygon = 71,
      Region = 72,
      Bitmap = 73,
      Cursor = 74,
      SizePolicy = 75,
      KeySequence = 76,
      Pen = 77,
      TextLength = 78,
      TextFormat = 79,
      Matrix = 80,
      LastGuiType = 80,
      UserType = 127,
      LastType = -1,
   };
   public: ~QVariant();
   public: QVariant(enum QVariant::Type type);
   public: QVariant(int typeOrUserType, void const * copy);
   public: QVariant(class QVariant const & other);
#ifndef QT_NO_DATASTREAM
   public: QVariant(class QDataStream& s);
#endif
   public: QVariant(int i);
   public: QVariant(uint ui);
   public: QVariant(qlonglong ll);
   public: QVariant(qulonglong ull);
   public: QVariant(bool b);
   public: QVariant(double d);
#ifndef QT_NO_CAST_FROM_ASCII
   public: QVariant(char const * str);
#endif
   public: QVariant(class QByteArray const & bytearray);
   public: QVariant(struct QBitArray const & bitarray);
   public: QVariant(class QString const & string);
   public: QVariant(class QLatin1String const & string);
   public: QVariant(struct QStringList const & stringlist);
   public: QVariant(class QChar const & qchar);
   public: QVariant(struct QDate const & date);
   public: QVariant(struct QTime const & time);
   public: QVariant(struct QDateTime const & datetime);
   public: QVariant(class QList < class QVariant > const & list);
   public: QVariant(class QMap < class QString, class QVariant > const & map);
#ifndef QT_NO_GEOM_VARIANT
   public: QVariant(struct QSize const & size);
   public: QVariant(struct QSizeF const & size);
   public: QVariant(struct QPoint const & pt);
   public: QVariant(struct QPointF const & pt);
   public: QVariant(struct QLine const & line);
   public: QVariant(struct QLineF const & line);
   public: QVariant(struct QRect const & rect);
   public: QVariant(struct QRectF const & rect);
#endif
   public: QVariant(struct QUrl const & url);
   public: QVariant(struct QLocale const & locale);
   public: QVariant(struct QRegExp const & regExp);
   public: QVariant(enum Qt::GlobalColor color);
   public: class QVariant& operator =(class QVariant const & other);
   public: enum QVariant::Type type() const
   public: int userType() const
   public: char const * typeName() const
   public: bool canConvert(enum QVariant::Type t) const
   public: bool convert(enum QVariant::Type t);
   public: bool isNull() const
   public: void clear();
   public: void detach();
   public: int toInt(bool* ok = 0) const
   public: uint toUInt(bool* ok = 0) const
   public: qlonglong toLongLong(bool* ok = 0) const
   public: qulonglong toULongLong(bool* ok = 0) const
   public: bool toBool() const
   public: double toDouble(bool* ok = 0) const
   public: class QByteArray toByteArray() const
   public: struct QBitArray toBitArray() const
   public: class QString toString() const
   public: struct QStringList toStringList() const
   public: class QChar toChar() const
   public: struct QDate toDate() const
   public: struct QTime toTime() const
   public: struct QDateTime toDateTime() const
   public: class QList < class QVariant > toList() const
   public: class QMap < class QString, class QVariant > toMap() const
#ifndef QT_NO_GEOM_VARIANT
   public: struct QPoint toPoint() const
   public: struct QPointF toPointF() const
   public: struct QRect toRect() const
   public: struct QSize toSize() const
   public: struct QSizeF toSizeF() const
   public: struct QLine toLine() const
   public: struct QLineF toLineF() const
   public: struct QRectF toRectF() const
#endif
   public: struct QUrl toUrl() const
   public: struct QLocale toLocale() const
   public: struct QRegExp toRegExp() const
#ifndef QT_NO_DATASTREAM
   public: void load(class QDataStream& ds);
   public: void save(class QDataStream& ds) const
#endif
   public: static char const * typeToName(enum QVariant::Type type);
   public: static enum QVariant::Type nameToType(char const * name);
   public: void* data();
   public: void const * constData() const
   public: inline void const * data() const
#ifndef QT_NO_MEMBER_TEMPLATES
   public: template < typename T > inline void setValue(T const & avalue);
   public: template < typename T > inline T value() const
   public: template < typename T > static inline class QVariant fromValue(T const & value);
   public: template < typename T > inline bool canConvert() const
#endif
#ifndef qdoc
   public: struct PrivateShared{
      public: inline PrivateShared();
      public: inline PrivateShared(void* v);
      public: void* ptr;
      public: class QAtomic ref;
   };
   public: struct Private{
      public: inline Private();
      public: inline Private(struct QVariant::Private const & other);
      public: union Data{
         char c;
         int i;
         uint u;
         bool b;
         double d;
         qlonglong ll;
         qulonglong ull;
         void* ptr;
         struct QVariant::PrivateShared* shared;
      };
      public: union QVariant::Private::Data data;
      public: unsigned int type:30;
      public: unsigned int is_shared:1;
      public: unsigned int is_null:1;
   };
   public: typedef void (* f_construct)(struct QVariant::Private*, void const *);
   public: typedef void (* f_clear)(struct QVariant::Private*);
   public: typedef bool (* f_null)(QVariant::Private*);
#ifndef QT_NO_DATASTREAM
   public: typedef void (* f_load)(struct QVariant::Private*, class QDataStream&);
   public: typedef void (* f_save)(QVariant::Private*, class QDataStream&);
#endif
   public: typedef bool (* f_compare)(QVariant::Private*, QVariant::Private*);
   public: typedef bool (* f_convert)(QVariant::Private*, enum QVariant::Type, void*, bool*);
   public: typedef bool (* f_canConvert)(QVariant::Private*, enum QVariant::Type);
   public: typedef void (* f_debugStream)(struct QDebug, class QVariant const &);
   public: struct Handler{
      public: void (* construct)(struct QVariant::Private*, void const *);
      public: void (* clear)(struct QVariant::Private*);
      public: bool (* isNull)(QVariant::Private*);
#ifndef QT_NO_DATASTREAM
      public: void (* load)(struct QVariant::Private*, class QDataStream&);
      public: void (* save)(QVariant::Private*, class QDataStream&);
#endif
      public: bool (* compare)(QVariant::Private*, QVariant::Private*);
      public: bool (* convert)(QVariant::Private*, enum QVariant::Type, void*, bool*);
      public: bool (* canConvert)(QVariant::Private*, enum QVariant::Type);
      public: void (* debugStream)(struct QDebug, class QVariant const &);
   };
#endif
   public: inline bool operator ==(class QVariant const & v) const
   public: inline bool operator !=(class QVariant const & v) const
   protected: struct QVariant::Private d;
#ifndef QT_MOC
   protected: static struct QVariant::Handler const * handler;
#endif
   protected: void create(int type, void const * copy);
   protected: bool cmp(class QVariant const & other) const
#ifndef QT3_SUPPORT
   private: inline QVariant(bool, int);
#endif
   public: inline QVariant();
   public: inline bool isValid() const
   public: inline bool isDetached() const
   friend inline bool qvariant_cast_helper(class QVariant const & v, enum QVariant::Type tp, void* ptr);
   friend int qRegisterGuiVariant();
   friend inline bool operator ==(class QVariant const & v1, class QVariantComparisonHelper const & v2);
   friend struct QDebug operator <<(struct QDebug, class QVariant const &);
};
#endif // QVARIANT_H